Operating Systems

Introduction to Operating Systems

By the end of this lesson you should be able: Define an Operating System State and explain functions of operating systems

Definition of OS

An operating system is system software that manages computer hardware and provides a platform for the installation and execution of application software.

The operating system communicates with the hardware by use of device drivers. For example, for a computer to communicate with a printer, there is a need for the installation of the printer's drivers. An OS also gives an interface to the user to interact with the application software.

Functions of an OS

They include:

  • Job scheduling- the operating system uses various scheduling algorithms like Round Robin, First In First Out, Priority Scheduling, or Multilevel Queue Scheduling to allocate CPU time to various processes. Also, some jobs/processes/tasks have a higher priority than others given their nature and hence are given an opportunity to be executed by the CPU first.
  • Resource allocation - the operating system does resource scheduling to avoid hardware conflict, prevent/mitigate deadlocks, and optimize system performance. Deadlocks occur when two or more processes are unable to proceed because each is waiting for a resource held by another, creating a circular dependency
  • Memory management - it allocates and de-allocates the main memory to various processes. The part of a process not being used is usually stored in virtual memory created on the secondary storage.
  • Input/output handling - It co-ordinates between various Input/Output devices using Input-Output Control System
  • Error handling - It identifies the source of error that occurs during program execution. In addition, it provides the user with suggestions on how to solve the problem.
  • Interrupt handling - It identifies interrupts from critical events and passes the control to the Interrupt Service Routine which handles the condition raised by the use of priority in the queue
  • Network management - Most operating systems use protocols - utility software, to enable different devices to communicate on the network.The OS includes a network stack or protocol suite (e.g., TCP/IP) that handles the communication between devices on a network