The Microkernel Executive Hardware Application processes devices - - PowerPoint PPT Presentation

the microkernel executive
SMART_READER_LITE
LIVE PREVIEW

The Microkernel Executive Hardware Application processes devices - - PowerPoint PPT Presentation

slide 1 gaius The Microkernel Executive Hardware Application processes devices kernel (library) keyboard User Proc 1 Debug library (Debug) screen Process control (Executive) Ke yboard handling User Proc 2 (TTIO) Timer General


slide-1
SLIDE 1

slide 1 gaius

The Microkernel Executive

General (NumberIO) (TTIO) (Debug) (Executive) screen keyboard devices Hardware (library) kernel Application processes Ke yboard handling Process control Debug library User Proc 1 User Proc 2 Timer Network Card Interface

slide-2
SLIDE 2

slide 2 gaius

The Microkernel Executive

coordinates concurrent process activity within the creation of processes coordination of interrupts scheduling of processes provides mutual exclusion primitives Wait, Signal - Semaphores in this Executive

slide-3
SLIDE 3

slide 3 gaius

Functions provided by the Executive

Descriptor * Executive_InitProcess (void (*p)(void), int StackSize, char *Name, int NameLength);

initializes a process which is held in the suspended state when the process is resumed it will start executing procedure, p. the process has a maximum stack size of, StackSize, bytes and its textual name is, Name. The StackSize should be at least 5000 bytes.

slide-4
SLIDE 4

slide 4 gaius

Functions provided by the Executive

void *Executive_Resume (Descriptor *d);

resumes a suspended process if all is successful then the process, p, is returned if it fails then NIL is returned

slide-5
SLIDE 5

slide 5 gaius

Functions provided by the Executive

void Executive_Suspend (void);

suspend the calling process the process can only continue running if another process Resumes it.

slide-6
SLIDE 6

slide 6 gaius

Functions provided by the Executive

Semaphore * Executive_InitSemaphore (int v, char *Name, int NameLength);

creates a semaphore whose initial value is, v, and whose name is, Name

slide-7
SLIDE 7

slide 7 gaius

Functions provided by the Executive

void Executive_Wait (Semaphore *s);

performs dijkstra’s P operation on a semaphore a process which calls this procedure will wait until the value of the semaphore is > 0 and then it will decrement this value

slide-8
SLIDE 8

slide 8 gaius

Functions provided by the Executive

void Executive_Signal (Semaphore *s);

performs dijkstra’s V operation on a semaphore a process which calls the procedure will increment the semaphores value

slide-9
SLIDE 9

slide 9 gaius

Functions provided by the Executive

EXTERN void Executive_WaitForIO (int VectorNo);

waits for an interrupt to occur on vector, VectorNo

slide-10
SLIDE 10

slide 10 gaius

Functions provided by the Executive

void Executive_Ps (void);

displays a process list together with process status

slide-11
SLIDE 11

slide 11 gaius

Functions provided by the Executive

Descriptor *Executive_GetCurrentProcess (void);

returns the descriptor of the current running process

slide-12
SLIDE 12

slide 12 gaius

Functions provided by the Executive

void Executive_RotateRunQueue (void);

rotates the process run queue it does not call the scheduler

slide-13
SLIDE 13

slide 13 gaius

Functions provided by the Executive

void Executive_ProcessName (Descriptor *d);

displays the name of process, d, through DebugString

slide-14
SLIDE 14

slide 14 gaius

Functions provided by the Executive

void Executive_DebugProcess (Descriptor *d);

gdb debug handle to enable users to debug deadlocked semaphore processes