Extra Notes

Interrupt Processing

Hardware
  • Tests for interrupt signal, and removes the signal if there is one
  • Saves the PSW and the location of the next instruction onto a control stack
  • Load the program counter with the location of the interrupt handler routine
  • After the routine is finished, restore the PSW and PC
Software
  • Saves the contents of all registers onto the stack
  • PC updated to the beginning of the routine
  • Processes the interrupt
  • Restores all the register values

I/O Tables

  • Manage the I/O devices and channels of the computer system
  • Maintains the status of the I/O operation and the location in main memory being used as the source/destination of the I/O transfer

Process Control Block

  • Unqiue identifier
  • State
  • Priority
  • Program counter (next instruction in the process)
  • Memory pointers
  • Context data
  • I/O status information
  • Accounting information

Microkernel

  • Kernel only performs vital functions
  • Server provides the rest
  • Servers can run in user mode
  • Decouples kernel and server development

Messaging Examples

Non-blocking send - concurrent programs, printing

Block receive - more natural on concurrent programs

  • May be blocked indefinetly if the message is lost

Linux Process Diagram

Running - executing or ready to execute

Interruptible - a blocked state; the process is waiting for an event, so as the end of an I/O operation, the availability of a resource, or a signal from another process

Uninterruptible - a blocked state; process is waiting directly on hardware conditions and does not receive any signals

Stopped - the process has been halted an can only resume by positive action from another process. For example, a process

Zombie - the process is terminated but still has it's task structure in the process table

results matching ""

    No results matching ""