[ C++ RCOS Home | RCOS.java Home | RCOS Home | David's Home ]
Name: |
pcb |
Comment: |
Process Control Block - built when a process is created (forked off) contains all details of process context. |
Collaborators: |
typedef struct pcb {
char *pszName; // user name for process, if any
INT16 nPriority, // process priority
nQuantum; // max permissable ticks per scheduling
UINT16 uPid, // unique ID for process (PID)
uPidp, // parent PID of process
uIP, uSP, uBP, // Instruction, Stack and Base pointers
uStatus, // current status
uDevCnt; // count of devices open by process
PMSG pReply; // message associated with wake-up
UINT32 lStarted, // time process started/created (mS).
luTicks, // amount of processor time in user mode
leTicks, // time consumed in executive mode
lCode; // 32 bit instruction at IP for animator
LnDrv *pDev; // pointer line protocol driver
UINT16 arrDev[MAX_DEV]; // Devices needed before process can start
UINT16 uTos; // fetched values at top of stack
UINT16 uSemOpen, // Bit map of semaphore ID's opened by PID
uSemSet, // map of semaphores set by this process
uSemWait; // map of semaphores we are waiting on
DblList Share; // List of open shared memory block ID's
FsIface *pFile; // File sysem Interface package
} PCB, *PPCB;