Process Control Block (PCB): Difference between revisions
pc>Yuron No edit summary |
W81054ch [PHRhYmxlIGNsYXNzPSJ0d3BvcHVwIj48dHI+PHRkIGNsYXNzPSJ0d3BvcHVwLWVudHJ5dGl0bGUiPkdyb3Vwczo8L3RkPjx0ZD51c2VyPGJyIC8+YnVyZWF1Y3JhdDxiciAvPmludGVyZmFjZS1hZG1pbjxiciAvPnN5c29wPGJyIC8+PC90ZD48L3RyPjwvdGFibGU+] (talk | contribs) m (1 revision imported) |
(No difference)
|
Latest revision as of 10:03, 5 August 2019
On path: Processes | 1: Processes • 2: Context • 3: Process Control Block (PCB) • 4: Multi Threading • 5: Threads • 6: Interprocess Communication • 7: Process Scheduling • 8: Scheduler • 9: Process States • 10: Process Priority |
---|
Depends on | Processes • Context |
---|
Not to be confused with a hardware Printed Circuit Board!
The control block (other names are sometimes used) is the operating system’s ‘definition’ of a process. It holds information about a process, such as its identifier (‘PID’ in Unix) and its priority.
A PCB will also hold (or point to) the parts of the process’ context which are preserved when the process is not actively running. Depending on the particular ISA these probably include register values, its memory allocation, which files it has opened, any I/O devices which it has ‘ownership’ of etc.
The exact details stored depend on the particular operating system, but (hopefully) you get the idea!
A typical implementation of a PCB probably includes one (or more) potential links which can point to other PCBs so they can be assembled into linked lists – which makes it convenient to form queues; an example is the (“ready”) queue of processes waiting to take a ‘turn’ on the processor.
The PCB is another example of metadata – in this case describing the process.
Also refer to: | Operating System Concepts, 10th Edition: Chapter C.5.1, pages C.19-C.21 |
---|