:PROPERTIES:
:ID: 6f77458f-4865-4da5-b6ac-691802b700df
:mtime: 20240525073424 20240307034409 20240304105807
:ctime: 20240304105805
:END:
#+title: process control block
#+filetags: :operatingsystems:public:project:
* PCB
*PCB* is Data structure representing a [[id:ea9ceb4e-ff99-4939-ad40-90d5dae2d567][process]], containing 8 things
1) *Process ID* – uniquely identifies the process
2) *[[id:64370e0d-7608-44dc-a647-28fe2e3ef3a4][Current process state]]* – running, waiting, etc
3) *CPU scheduling information* – priorities, scheduling queue pointers
4) *Memory-management information* – memory allocated to the
process
5) *Accounting information* – CPU used, clock time elapsed since start,
time limits
6) *I/O status information* – I/O devices allocated to process, list of
open files
7) *Program counter*, location of next instruction to execute
8) *CPU registers*, contents of all process-centric registers. The registers vary in number and type, depending on the computer architecture. They include accumulators, index registers, stack pointers, and general-purpose registers, plus any condition-code information. Along with the program counter, this state information must be saved when an interrupt occurs, to allow the process to be continued correctly afterward