Jump to content

Task Control Block

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by Peterh5322 (talk | contribs) at 02:45, 6 June 2012 (History). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

The Task Control Block[1] (TCB) is an instance of a Process control block in an IBM System/360 architecture and successors operating system environment.

Because of the complexities of the OS/360 and successors control program dispatcher, a TCB does not strictly perform all the functions of a Process control block, although it performs most of these.

Rather, a TCB provides the anchor for a linked list of other, related request control blocks (RBs), the composite of which (i.e., the TCB plus the top-linked RB) performs the function of a Process control block.

The Program status word may be stored in one control block (possibly a PRB, a Program Request Block), while the general purpose registers may be stored in the immediately preceding control block (an SVRB, Supervisor Call Request Block, an IRB, Interruption Request Block, or possibly the TCB itself), depending upon the particular context.

Once the control program's dispatcher selects a TCB, the context is first determined and the general purpose registers are obtained from the appropriate control block; then the PSW is loaded from the appropriate control block thereby dispatching the unit of work. But, prior to those, the PSATOLD field within the "prefix" of that processor is set to the address of the TCB being dispatched. Each processor has a "prefix" so that the PSATOLD fields are unique between processors, one or two "prefixes" in MVS/370 and up to sixteen "prefixes" in subsequent incarnations of the OS.

History

With the introduction of MVS/370 and successor systems, a whole new environment was introduced: the Service Request Block (SRB), which generally has a higher priority than any Task Control Block (TCB), and, indeed, which itself has two distinct priorities: a Global SRB (priority over all local address space SRBs and TCBs) and a Local SRB (priority over only the local address space TCBs); and MVS's dispatcher must manage all of these with absolute consistency across as many as two processors (MVS/370) and as many as sixteen processors (successor systems).

A TCB is a general-purpose instance of a Process control block in these OS/360 and successor systems. An SRB is a highly-optimized instance of a Process control block in these MVS/370 and successor systems.

See also

References