Operating Systems
Operating Systems
Definition.
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.
1. 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).
Modern computer systems are so complex & fast such that they need internal control.
To ensure that the full system software facilities are readily available.
Due to the complexity of systems, jobs need to be controlled in what they are allowed to do for security.
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.
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: –
Main memory (RAM).
1
Secondary storage devices.
Input/Output devices and their Ports.
Communication devices and their Ports.
FUNCTIONS OF AN OPERATING SYSTEM.
The OS creates a working environment in which the user can run programs. The general functions of the
operating system are:
1. 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.
2. 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.
3. 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.
4. 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.
5. 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.
2
6. 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.
7. 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.
8. 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.
9. 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.
10. 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.
11. Interrupt handling.
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.
An Interrupt caused by Power failure.
3
The Kernel saves vital information using the dying power supply so that it can be restarted when power is
returned.
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.
Hardware malfunction, 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.
12. 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.
13. 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).
14. 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).
Characteristics of an operating system.
An OS should have the following characteristics:
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.
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.
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.
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.
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
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
above?
3. List and explain any five general functions of an operating system.
4
4. What is meant by the term Job in computer studies?
5. Name four examples of operating systems.
CLASSIFICATION OF OPERATING SYSTEMS.
The OS determines determine the type of processing that a computer system is able to perform, since it
controls the allocation & use of the computer resources.
Operating systems can be classified according to:
1. Number of tasks that the system can perform concurrently.
Single-tasking (program) operating system.
Multi-tasking operating system.
2. Number of users the system can support at the same time.
Single-user operating systems.
Multi-user operating systems.
3. Human Computer interface (i.e., how the user & the computer interact).
Command line.
Menu driven interface.
Graphical user interface (GUI).
Classification according to tasks handled concurrently.
Single-tasking OS.
Single-tasking OS allows only one user-program in the main memory to be processed at a particular time.
This means that, the user can only run one interactive program at a time. The user must then exit from
the program before loading & running another program.
Example of a single user OS;
MS-DOS.
Multi-tasking (Multiprogramming) OS.
A Multi-tasking OS allows a single CPU to execute/process more than one program, all of which are in
memory, at the same time.
Each program is allocated a time-slice. In this case, the programs take turns at short intervals of
processing time. The CPU switches its attention between programs as it receives requests for
processing, executing statements from one program, and then from another.
The programs to be run are loaded into the memory and the CPU begins execution of the first one. When
the request is satisfied, the second program is brought into memory and execution starts on the second
program, and so on.
Note. In multi-programming, the computer is able to work on several programs at the same time. It works
on the programs on sequence, one after the other, and that at any given instant it executes instructions
from one program only. However, the computer works so quickly that it appears to be executing the
programs simultaneously.
Classification according to number of users.
Single-user OS.
A single-user OS is designed to be used by only one person. It allow only one user/person to operate the
machine at a time in an interactive, conversational mode, and runs only one user program at a time, e.g.
MS-DOS.
Multi-user (or multi access) OS.
A multi-user OS allows more than one user ( many people) to interactively use/access the computer at the
same time.
Examples;
UNIX,
Novell Netware,
Ms-Windows 2000,
5
Ms-Windows NT,
Linux, etc
Classification according to Human Computer Interface (HCI).
The term Human Computer Interface (HCI) refers to the method of interaction between the computer & the
user, and determines how easily the user can operate the computer.
The HCI enables communication to & from between the user and the computer.
User-friendliness.
HCI is expected to be “user-friendly”, i.e., it should be one that the end-user finds helpful, and easy to
learn & use.
Features/characteristics of a user-friendly HCI.
It should be relatively easy for the user to try to start using the system.
The system should be self-contained, so that the user is not forced into accessing manuals.
The amount of effort & the information required for the user to get the system complete required tasks
should be minimal.
The system should be robust & reliable, i.e., the user should be protected from unexpected system
actions, including system failures.
The system should be able to adjust to different levels of expertise between users & also as users grow
in competence.
The user should be made to feel in control of what is going on.
The system should behave in a logical & consistent manner, enabling the user to reason about what is
going on and apply what has been learned.
Types of User interfaces.
There are different types of Human Computer Interfaces: –
1. Command driven interface.
2. Menu driven interface.
3. Graphical User Interface (GUI).
Command driven interface.
This is an interaction between the user & the computer that requires the use of commands
The user types a command at the prompt found on a command line. The computer then reads
instructions from the command line and executes them.
Example;
To copy a file called Fruits.Dat from Hard disk C to Floppy disk A using MS-DOS; type
C:\ >COPY Fruits.Dat A:\ (press the Enter key for the command to be executed).
Commands enable the user to quickly instruct the computer what to do.
Command-driven software is more flexible, but it is more difficult to learn. The user must know what
commands are available, what they do & how they should be typed. For this reason, commands are most
popular with experienced technical persons, such as computer Operators, Programmers or in situations
where the end-user continually works with the same program and has therefore mastered the commands.
To make commands more user-friendly, the following points need to be observed: –
1. The command words used should be descriptive VERBS that clearly convey the intended action, e.g.,
PRINT, COPY, RENAME, DELETE, etc.
2. Unique abbreviations should be provided for more experienced users, e.g., PRI, COP, REN, DEL,
CHKDSK, etc.
3. Multiple items on a single command line should ALWAYS be separated by blank spaces.
E.g., PRINT can be used in the following ways: –
PRINT Report1 – prints the named document on the default printer.
PRINT Report1 Report2 Report3 – prints the three documents on the default printer.
Examples of Command line interfaces:
6
MS-DOS,
Early versions of PC-DOS, OS/2, and UNIX.
Disadvantages of using command driven interfaces
They are more difficult to learn.
The user must know the command to type.
It is less user-friendly.
It is not easy to use, i.e., one is required to master the command format/syntax.
Menu driven interface.
This type of interface provides the user with a list of program commands displayed on the screen to
choose from & a simple means of selecting between them.
To activate a choice in the menu, one can use the Enter key, or move the cursor until it is positioned at the
desired choice & then press the activation key so that the system can start acting upon the information
given.
This interface is suitable for beginners and infrequent users who may have difficulties in remembering
commands.
There are 2 types of menus: –
Pull-down menus – are special types of menu used mostly in Windows.
Pop-up menus & Pop-down menus. These menus are made to appear above or below an item on the
screen in order to elicit/obtain a choice from a user.
Later versions of DOS have a menu driven interface called the DOS Shell or DOS Editor.
Advantages of Menu driven interfaces
Menus provide many options to select from.
The user is presented with a choice and therefore, does not need to master any commands.
They are easier to use.
Graphical User Interface (GUI).
This is an interaction between the user & computer that involves issuing of commands to the computer by
activating certain small graphic images displayed on the screen called Icons.
To issue a command, the icons can be selected using a pointing device like a Mouse.
GUI is mostly found on Workstations or PCs fitted with graphic adapters able to support high-resolution
graphics.
Examples of GUI based OS;
Presentation manager of OS/2,
Ms-Windows,
Linux,
Apple Macintosh.
Features of a graphical user interface.
(2 marks)
Programs are represented graphically by use of Icons.
Commands are selected and issued using pointing devices, e.g., Mouse, trackball.
There is use of pull-down menus.
Programs open by displaying windows.
Advantages of using GUI based OS
They are user friendly.
Easy to learn & use.
Revision Questions
1. What criteria are used to classify types of operating systems?
2. (a) Differentiate between multi-user and multitasking operating systems.
(b) State any computer software that can be classified as a Multi-user operating system.
3. Name three types of user interfaces employed by different commercial Operating systems.
7
4. (a) Differentiate between command-line interface and graphical user interface operating systems based
on the way commands are entered.
(b) State two main advantages of GUI interfaces.
Factors to consider when choosing an operating system.
The following factors should be considered when choosing an operating system for a computer;
1. Hardware configuration of the computer, e.g., RAM memory size, hard disk capacity, type of processor,
etc.
2. Basic design of the computer, – i.e., is it an IBM or IBM compatible, or an Apple computer?
3. Hardware compatibility.
4. User needs (requirements), i.e., the applications intended for the computer.
5. User friendliness or Human computer interface, i.e., is it Command line based, Menu-driven or a
Graphical user interface?
6. Availability in the market, e.g. Microsoft Windows based OS are very common.
7. Cost – how expensive the OS is.
8. Reliability, i.e., can it run without crashing or hanging (stop responding to commands).
9. The method of communication with the computer, e.g. the number of peripherals.
10. The method of operating the computer.
WINDOWS OPERATING SYSTEMS.
Windows operating system was developed as a Graphical User Interface (GUI) for PCs running on MSDOS.
It provides a friendly interface that allows the users to enter commands by pointing and clicking at objects
that appear on the screen using a pointing device, e.g., a Mouse or a trackball. These graphical
capabilities make a program easier to use.
Microsoft Windows takes its name from the on-screen “Window” that it uses to display information.
A Window is a rectangular portion/ area of the screen that Windows sets aside for a specific task.
A Window is a rectangular area on a display screen in which text and graphical images may be
displayed.
Examples of Windows operating systems:
Microsoft Windows 95, 98, 2000 Professional, 2003, NT, Millennium (Me), XP, and Vista.
Linux,
UNIX,
OS/2.
Common features of Windows operating systems:-
They all have similar user-interfaces. For example;
Windows.
Pointing device – a device such as a mouse or trackball, that enables the user to select objects on
the display screen.
Pointer – a symbol (arrow) that appears on the display screen, and can be used to select objects &
commands.
Icons – small graphical pictures that represent commands, files, or applications. By moving the
pointer to the icon and pressing a mouse button, one can execute a command or convert the icon
into a window.
Buttons – items used to initiate a process in an application.
Menus – they provide choices that let the user execute commands by selecting them.
Desktop – this is the area on the display screen where icons are grouped.
It is user-friendly. Windows is menu driven, hence easy to operate, because the options used in
particular applications are usually displayed on the screen in form of Icons.
All Windows operating system support multiple users & have the ability to Multi-task, i.e., they allow one
to run more than one program at the same time, each in its own window.
8
It is easy to exchange information between Windows applications, i.e., it is easy to transfer or copy
information from one program to another.
All Windows applications share a common set of commands. For example, Open, Save, Print, etc &
therefore, you don’t need to learn a different set of commands for each application.
Ability to handle long file names, e.g., Windows 95 and later versions accept file names of up to 255
characters including spaces.
Most Windows operating systems have Plug and play (PnP) features. They automatically accept a new
hardware once it is connected to the computer.
Advantages of Windows Operating Systems.
It is easy to open programs, find documents, and switch between programs.
Windows provide facilities such as the Windows Explorer, which enable one to browse through &
manage you files, folders, and drives easily.
Windows can support long file names, making it easier to find and organize files.
Windows has improved Video, CD & sound capabilities, and can fully support MS-DOS-based games.
Windows makes it easier to install new hardware devices onto the system. It is able to recognize and
sets up a certain Plug-and-Play hardware whose card has been inserted in the computer automatically.
Windows allows true Multitasking, i.e. it allows the user to run more than one (several) program at the
same time, each in its own window.
Windows is user-friendly, i.e., it is menu driven, hence easy to operate, because the options used in
particular programs are usually displayed on the screen in form icons.
Windows supports a wide choice of networks & transmission protocols. It also has facilities for sharing
files & devices.
Windows has facilities that allow people to work with all types of electronic communications, e.g., it
allows people to send text messages, transfer files, and also hold digital live face-to-face conversations
with family friends & business associates around the world.
Windows includes My Briefcase, a file synchronization tool & a utility for transferring files over a direct
cable link or dial-up networking.
All Windows applications share a common set of commands. g., Open, Save, Print, etc & therefore,
there is no need to learn a different set of commands for each application.
Windows allows movement of text or items from one program to another. i.e., it is easy to
exchange information between Windows applications.
Windows has facilities that enable the computer to save power resources by putting the computer on
standby or hibernation.
Windows includes a Help system that makes your computer easier to use. It helps you find answers to
your questions easily, or get up-to date technical support from the WWW.
Differences between MsWindows & Disk Operating
System.
Ms-Windows MS-DOS
1. There are
icons
2. Uses both the
Mouse & Keyboard
as Input devices.
3. There is use of
Menus.
4. User-friendly.
5. Windows fully
supports
9
networking.
6. Requires a
computer with high
memory size.
7. Windows can
support DOS, i.e. it
is possible to run
DOS-based
programs in
Windows.
8. Uses Multicoloured screen.
9. It is a Multiuser OS.
10. It is a multitasking OS, i.e. can
support more than 1
program at a time.
11. Comes in
different versions.
12. Uses folders for
storage of files.
1. No Icons
2. Only the Keyboard is used as Input device.
3. It is command-based.
4. Not user-friendly.
5. DOS cannot support networking.
6. Uses less memory compared to Windows.
7. DOS cannot support Windows, i.e. it is not
possible to run Window-based programs in MSDOS.
8. Uses monochrome (1 coloured) screen.
9. It is a single-user OS.
10. It is a single-tasking OS, i.e. can only support
one program at a time.
11. MS-DOS is an operating system by itself.
12. Uses Directories to organize files.
Review Questions
1. Give FOUR advantages of which Windows based Operating system software has over Disk Operating
System software.
2. (a). List Four types of Windows versions.
(b). Why is Windows termed as a friendly Operating system?
List four key features of the Windows Operating environment.
10