Explain the main function of Unix operating system

Kernel : the kernel performs various primitive operations on behalf of user programs: 
  • Control or execution of processes
  • Scheduling of process
  • Memory management
  • Filed system services
  • Controlled access

Hardware transparency : process usually run in one or two modes:
  1. User mode : user mode can not access kernel instructions and data
  2. Kernel mode : kernel mode can access kernel and user addresses and privileged instructions not allowed for user mode

The hardware only view processes in terms of kernel or user modes it does not distinguish between the user process and the OS has internal book keeping to distinguish between process

Interrupts and exceptions:

Interrupt: it is a signal by which priorities and instruction scheduling sequence can be controlled the kernel save the current context which an interrupt occurs after servicing the interrupt the context is restored and the process proceeds the order in which and interrupt is serviced depend upon its priority.

Exception : it is an unexpected event like reference to an address caused by events external to a process exceptions usually occurred in the middle of a process where as interrupts occur between process different algorithms are used to handle interrupts / exception efficiently

Processor execution levels : based on the priority level of an interrupt the kernel masks contain interrupts in order that critical process may proceed without error the priority level in descending order are:

  • Machine errors
  • Clock
  • Disk
  • Network device
  • Terminals
  • Software interrupts

Memory management : the concept of virtual machine is Central to the memory management under Unix the compiler generates addresses for a virtual machine as a no other program will execute simultaneously on the physical machine virtual addresses generated by the compiler name not to be identical to the actual physical address in the machine the memory management coordinates with the machine hardware to setup a virtual to physical address translation that maps the compiler generated address to the physical machine address.

You may like these posts