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
Types of Operating System
By the end of the lesson you should be able to :
- Classify operating systems according to numbers of users, user interface and number of tasks
- Describe operating systems in each of the above classes.
Classification According to Number of Users
- Multi-user OS - supports more than one user at a time. Examples are network OS like windows and Linux
- Single-User OS- Runs one user program at a time and is designed for use by only one person. Examples are most of the Operating Systems used in cell phones.
Classification According Number of Tasks
- Single-task operating system - allows processing of one program in the main memory at a time. Examples are MS. Disk Operating System .
- Multi-tasking Operating System - allows many programs to run at a time. Priority scheduling is used by the operating system to allocate a slice of CPU time to the programs.
Classification According to User-interface
- Commandline Operating System - The user interacts with the computer by typing commands at the command prompt. It is not user friendly as the user has to learner and recall commands. Examples are Ms, DOS .
- Graphical User Interface Operating System- The user interacts with the computer by use mouse pointer, windows , menus and icons. They are user friendly as icons remind the user of various commands. Examples are Linux , Windows Mac OS .
- Menu Driven OS - was an improvement on commamdline OS e.g MS. DOS was improved to give DOS-shell. Menu driven OS reduce the pain of recalling commands by give the user options to choose from.
Choosing an Operating System
By end of the lesson you should be able to:
- state factors considered when selecting an operating system
The following factors should be considered when choosing an Operating System:
- The application software to be installed
- The number of users the operating system can support
- The size of the RAM and harddisk
- The cost of the operating system
- availability of user manuals