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
- 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