[ 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;