Contact on: Whatsapp: +254 716 362 016


Computer LessonsComputer ScienceTechVideosWorld


9 Mins read



  • An Operating system is a set of programs that is used to manage the basic hardware resources of a computer.
  • This is the main program that controls the execution of user applications, and enables the user to access the hardware & software resources of the computer.

When the computer is switched on, the OS programs run & check to ensure that all parts of the computer are functioning properly.

Operating system’s platform.

In a data processing environment, the user sees a computer as a group of application programs that enable him/her to accomplish specific tasks.

However, application programs do not use the hardware devices directly.  They send messages through the operating system which has the capability to give instructions to the hardware to perform a particular task.

The user communicates his/her intentions to the OS through the use of a special instruction set known as Commands.


As in this diagram, the OS is a layer of software on top of the bare hardware, and is used to manage all parts of computer hardware & also act as an interface between the user & the computer.

The OS monitors & controls computer operations so that the user can do useful work on the computer, and it also enables Application programs use the hardware in a proper, orderly and efficient way.

An OS consists of a special program called a Supervisor (Kernel/ Executive), which is stored in ROM of the Main Memory.  The Supervisor/Kernel contains the most necessary commands and procedures & controls the running of all other programs, each performing a particular service.

NB. The programs that make up the Operating system are too large to fit in main memory at one time.  These programs are usually installed on a direct access backing storage device, such as the hard disk.

When the Supervisor needs a particular program, it is read from the disk & loaded into the RAM memory, where it can be executed.

Reasons why an Operating system is needed in a computer (why operating systems were developed).

  1. Modern computer systems are so complex & fast such that they need internal control.
  1. To ensure that the full system software facilities are readily available.
  1. Due to the complexity of systems, jobs need to be controlled in what they are allowed to do for security.
  1. To increase the throughput, i.e., to increase the amount of data that can be processed through the system in a given period of time.
  • Improve communication between the user & the computer.
  • To make complex tasks very simple for the user to carry out.
  • It helps the computer to correct any problem that might occur.

When an error occurs that can cause the computer to stop functioning, a diagnostic message is displayed.  The meaning of the message is then checked in the computer operations manual.

  • Reduces job setup time.

When one job is running, other programs can be read onto the job queue.  The Input/Output devices can also be made ready without delay.

  1. Most computers allow many programs to be run & also many users to use the system at the same time.

Devices/resources under the control of an Operating System.

A computer is composed of a set of software-controlled resources that enable movement, storage and processing of data & information. 

As a resource manager, the OS manages the following basic resources/ devices: –

  1. Processor.
  2. Main memory (RAM).
  3. Secondary storage devices.
  4. Input/Output devices and their Ports.
  5. Communication devices and their Ports.
  6. Files.


The OS creates a working environment in which the user can run programs.  The general functions of the operating system are:

Processor management.

The processor is a scarce resource.  It executes tasks called processes.

A Multi-tasking computer system can run several applications simultaneously.  At times, several tasks may require processing, hence creating competition.  However, the CPU can only execute one program at any one time.

Therefore, access to the CPU must be carefully controlled & monitored.  The OS must decide, which program will be allowed into the system, and for how long.

To do this, the OS arranges the tasks according to priority and has the ability to stop a particular task to allow the processor to service another task.

Memory allocation & loading of programs.

  • Programs must be loaded into memory before they can be executed, and moved out of memory when they are no longer required.   Therefore, before processing starts, the OS ensures that the programs are transferred into the available memory location in the Main memory from the backing store, e.g. a disk.
  • At any one given time, a number of tasks may require the memory so that they can be accessed & processed by the computer.  The computer memory is a scarce resource, and therefore, the OS must determine which task will remain in memory awaiting for execution and which one will be sent back to secondary storage to wait.
  • The OS keeps track of what parts of memory are in use and by which program, and what parts are free.
  • The OS also handles the data files used by the programs that are being executed by the CPU.
  • In addition, the OS ensures that storage space is provided for data generated by programs & during data transfer operations such as, disk copying or printing.

Input/Output devices & ports management.

  • Every computer has many Input & Output (I/O) devices.  The OS controls the input from & output to the various devices.  It also tries to monitor the state of each I/O device and signals any faults detected.
  • During the course of their execution, programs will request the use of an Input or Output device.  In a multi-user system, conflicts are likely to occur when one program requests a device that is being used by another program.  Therefore, the OS will control allocation of I/O devices and attempt to resolve any conflicts that arise.
  • Because most input/output devices are slower than the processor, the OS has to control the flow of data from the time of input to the time the user receives it as information.  It ensures that the right data reaches the processor at the right time.
  • The OS also defines the various input/output ports found on the computer, e.g., printer port.

Management of secondary storage devices.

The OS manages the storage & retrieval of data on secondary storage devices.  It also utilizes the free space on hard disks to enhance the performance of the computer by temporarily holding tasks on it that were in RAM ready for processing but have to wait for sometime.

Management of communication devices & ports.

Communication refers to how the various devices and programs in & out of the computer system send & receive messages from one another and from the processor.

The OS controls the communication process between the various tasks & the computer.

To achieve external communication, an external device is usually connected to a communication port using cables or wireless communication media.

File management.

The OS is concerned with the logical organization of the information (the File System) and provides a means through which files can be sorted, retrieved & shared.

It also provides a means of protecting data files & programs against unauthorized access and corruption.

Job scheduling.

The OS arranges & loads programs in order to provide a continuous sequence of processing & also provide the appropriate responses to events.

The processor can handle only one task at a time.  Therefore, in a situation where more than one application program is occupying the main storage, the OS has to determine which task will be processed first and ensures that the one that is currently being processed is closely monitored to avoid wasting time in the processor.

The jobs are allocated priorities so as to ensure that there is continuous processing until all the jobs within the memory are executed.  This ensures that the CPU does not remain idle at any given instance.

Some of the job scheduling functions include:

  • Controlling the loading & running of programs.
  • Communicating directly with users and/or the operator.
  • Dealing with user commands to organize files and run programs.

NB:  A Job is a group of tasks taken as a unit of work for a computer, e.g., one or more computer programs, files, & instructions, to the operating system.

Job sequencing.

The OS keeps a list of jobs/tasks currently being run and monitors them as they move in & out of the processor.  It also arranges them in a particular order to make it easy for the processor to execute them and to know how & when to fetch instructions & data for each task.

Resource control and allocation.

The OS controls the selection & operation of hardware devices used for input, output and storage.

The OS determines which task uses a particular resource and at what time.  To do this, it gives each resource a unique identification number called an Interrupt number so that, when two tasks request to use a resource at the same time, the one with higher priority interrupt is granted control.

This prevents an undesirable situation called deadlock that occurs when a particular task holds a needed resource & refuses to release it for use by other tasks.

Error reporting & correction routines.

The OS has many ways of reporting to the user of any errors that occur during program execution.  It does this by monitoring the status of the computer system & performing error checks on both hardware and software.

When the user makes an error, the OS through the Kernel determines the cause of the error, and prints diagnostic messages on the screen suggesting appropriate routines of how the error can be corrected.

In case of a fatal error that cannot be corrected, the program will be suspended permanently.  E.g., the user program will prematurely terminate when it encounters an illegal operation, such as, dividing a no. by 0 or if it attempts to read a data file that had not been opened.

Interrupt handling in OPERATING SYSTEMS.

An Interrupt is a break from the normal sequential processing of instructions in a program.

Each hardware device communicates to the processor using a special number called the Interrupt Request number (IRQ).  Therefore, when an interrupt occurs, control is passed to the Kernel, which determines the cause of the interrupt.  The processor stops executing the current program to wait for the corrective response of the user.  Control is returned to the program that was interrupted once corrective action has been taken.

Some causes of Interrupt.

  1. An Interrupt caused by Power failure.

The Kernel saves vital information using the dying power supply so that it can be restarted when power is returned.

  1. Arithmetic or logic errors.

When the ALU detects that an error has occurred, (e.g., the output may be requested to a non-existent device) it generates a signal that causes an interrupt.  Control is transferred to the Kernel, which indicates the appropriate error correction routines. 

  1. Hardware malfunction, e.g. parity errors.

The I/O control for each device & its associated hardware normally takes care of parity checking.  If a parity error is detected, the Kernel is notified by an interrupt.

Device driver – a software that the OS uses to control a specific piece of hardware.

Interfaces the user to the system’s hardware.

The OS provides quick means of communication between the computer user & its programs.

The user requests the services of the OS by use of commands & the OS communicates the messages regarding the processing to the user through, either the screen or printer.  Thus, a form of ‘conversation’ is established between the OS & the computer user.

Logging & accounting.

The OS keeps records (internal logs) on how the computer’s resources, e.g., CPU time, memory usage, & the peripherals are being used.  It also keeps a complete record of all that happens during processing (usually in the form of a printed log).

  1. The OS protects hardware, software & data from improper use.  They ensure that application programs use the hardware in an efficient way.

Examples of operating systems:

  • DOS (Disk Operating System).
  • Windows operating system.
  • MacOS (Macintosh).
  • Unix.
  • Linux.

Characteristics of an operating system.

An OS should have the following characteristics:

  • Reliable.

The OS should be at least as reliable as the hardware on which it runs.  If a software or hardware error occurs, the system should be able to detect the error and either try to correct the problem or try to minimize the damage to the users of the system from the error.

  • Protected.

A user doesn’t want other users to interfere with him.  Therefore, the system should protect users from being affected both by errors of other users and by malicious attempts at tampering.

  • Efficient.

The OS is usually a complex program that uses a large part of the hardware resources for its own functions.  The resources consumed by the OS are not available for users.

Therefore, the system itself should be very efficient, & should manage user’s resources to minimize their idle time.

  • Convenient.

Systems should be designed keeping users in mind.

Therefore, an OS should be flexible & convenient to use.  In addition, in order to allow the sharing of resources, the OS must be in complete control of the allocation of the computer resources.

  • Predictable.

User demands on the system are generally unpredictable.  At the same time, users prefer to get service that does not vary widely over extended periods of time.  An estimate as to when the user will get his input should be given.

Revision Questions on OPERATING SYSTEMS

  1. Name two major reasons why it became necessary to use an Operating system.
  2. (a). Identify FOUR resources that the Operating system should manage.

(b). What function should the Operating system perform to manage each of the resources


  • List and explain any five general functions of an operating system.
  • What is meant by the term Job in computer studies?
  • Name four examples of operating systems.

Affiliate Links:

Get your own Dedicated server from $48.88 VPS&Dedicated Hosting

Get a .COM for just $6.98 Secure a mighty domain for a mini price.

A simple and scalable cloud platform for all developer needs click here:

Give Starsite Programmers a helping Hand, Click this link.

128 posts

About author
Web developer, Web-based Software systems designer, and developer, Networking, Social Marketer, PHP programmer, Photographer, blogger. Student final year project helper.
Related posts
Computer Science


11 Mins read
APPLICATION SOFTWARE. Application Software programs are written to solve specific problems (or to handle the needs) of the end-user in particular areas. They interface between the user & system programs to allow the user to…
Computer Lessons


9 Mins read
SYSTEMS SOFTWARE. SYSTEMS SOFTWARE is a set of programs, which is developed & installed in a computer system for the purpose of developing other programs, and to enhance the functional capabilities of the computer system….


1 Mins read
COMPUTER SOFTWARE. COMPUTER SOFTWARE refers to the various programs & data used in a computer system that enable it perform a no. of specific functions. Software instructs the computer on what to do and how…

Leave a Reply

Your email address will not be published. Required fields are marked *