äTo implement processes the OS maintains a process table
äExamples of
important information in the table
äProcess management Memory management File Management
äRegisters
Pointers to segments
Root directory
äProgram counter
Process id
Working directory
äStack pointer
Exit status
File descriptors
äProcess start time
.... ....
äCPU time used
äMessage queue pointers
ä
äInterrupt handling
is accomplished as follows
ä1. Interrupt: hardware stacks program counter, etc.. of current
program
ä2. Hardware loads new program counter from interrupt vector (table)
ä3. Assembly language routine saves registers in process table
(above)
ä4. Assembly language routine procedures sets up new stack for C
handler
ä5. C procedure marks interrupt service process as ready in the above
table
ä6. Scheduler decides which process to run next (choose highest
priority)
ä7. C procedure returns to assembly code
ä8. Assembly languages procedure starts up next process