Operating System Basics lesson four ict year one 2024
Operating System Basics lesson four ict year one 2024
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.
Application software
(Send users requests to the OS)
Operating system
(Receives & controls execution of
Application programs)
Hardware
(Receives & executes OS 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.
1
Computer software
Reasons why an Operating system is needed in a computer (why operating systems
were developed).
i). Modern computer systems are so complex & fast such that they need internal control.
ii). To ensure that the full system software facilities are readily available.
iii). Due to the complexity of systems, jobs need to be controlled in what they are allowed to do
for security.
iv). 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.
v). Improve communication between the user & the computer.
vi). To make complex tasks very simple for the user to carry out.
vii). 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.
viii). 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.
ix). Most computers allow many programs to be run & also many users to use the system at the
same time.
2
Computer software
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.
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
3
Computer software
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.
i). 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.
ii). Arithmetic or logic errors.
4
Computer software
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.
iii). 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.
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.
5
Computer software
e). 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
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. What is meant by the term Job in computer studies?
5. Name four examples of operating systems.
6
Computer software
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.
7
Computer software
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:
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: -
(a) Pull-down menus – are special types of menu used mostly in Windows.
(b) 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.
8
Computer software
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.
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.
9
Computer software
10. The method of communication with the computer, e.g. the number of peripherals.
11. The method of operating the computer.
An Operating System performs all the basic tasks like managing files, processes, and
memory. Thus, the operating system acts as the manager of all the resources, i.e. resource
manager. Thus, the operating system becomes an interface between the user and the
machine. It is one of the most required software that is present in the device.
Operating System is a type of software that works as an interface between the system
program and the hardware. There are several types of Operating Systems many of which
are mentioned below. Let’s have a look at them.
Types of Operating Systems
There are several types of Operating Systems which are mentioned below.
Batch Operating System
Multi-Programming System
Multi-Processing System
Multi-Tasking Operating System
Time-Sharing Operating System
Distributed Operating System
Network Operating System
Real-Time Operating System
1. Batch Operating System
This type of operating system does not interact with the computer directly. There is an
operator which takes similar jobs having the same requirements and groups them into
batches. It is the responsibility of the operator to sort jobs with similar needs. Batch
Operating System is designed to manage and execute a large number of jobs efficiently by
processing them in groups.
MultiProgramming
Advantages of Multi-Programming Operating System
Multi Programming increases the Throughput of the System.
It helps in reducing the response time.
Disadvantages of Multi-Programming Operating System
There is not any facility for user interaction of system resources with the system.
3. Multi-Processing Operating System
Multi-Processing Operating System is a type of Operating System in which more than one CPU
is used for the execution of resources. It betters the throughput of the System.
10
Computer software
11
Computer software
Time-Sharing OS
Advantages of Time-Sharing OS
Each task gets an equal opportunity.
Fewer chances of duplication of software.
CPU idle time can be reduced.
Resource Sharing: Time-sharing systems allow multiple users to share hardware
resources such as the CPU, memory, and peripherals, reducing the cost of hardware
and increasing efficiency.
Improved Productivity: Time-sharing allows users to work concurrently, thereby
reducing the waiting time for their turn to use the computer. This increased
productivity translates to more work getting done in less time.
Improved User Experience: Time-sharing provides an interactive environment that
allows users to communicate with the computer in real time, providing a better user
experience than batch processing.
Disadvantages of Time-Sharing OS
Reliability problem.
One must have to take care of the security and integrity of user programs and data.
Data communication problem.
High Overhead: Time-sharing systems have a higher overhead than other operating
systems due to the need for scheduling, context switching, and other overheads that
come with supporting multiple users.
Complexity: Time-sharing systems are complex and require advanced software to
manage multiple users simultaneously. This complexity increases the chance of bugs
and errors.
Security Risks: With multiple users sharing resources, the risk of security breaches
increases. Time-sharing systems require careful management of user access,
authentication, and authorization to ensure the security of data and software.
Examples of Time-Sharing OS with explanation
12
Computer software
IBM VM/CMS : IBM VM/CMS is a time-sharing operating system that was first
introduced in 1972. It is still in use today, providing a virtual machine environment
that allows multiple users to run their own instances of operating systems and
applications.
TSO (Time Sharing Option) : TSO is a time-sharing operating system that was first
introduced in the 1960s by IBM for the IBM System/360 mainframe computer. It
allowed multiple users to access the same computer simultaneously, running their
own applications.
Windows Terminal Services : Windows Terminal Services is a time-sharing
operating system that allows multiple users to access a Windows server remotely.
Users can run their own applications and access shared resources, such as printers
and network storage, in real-time.
6. Distributed Operating System
These types of operating system is a recent advancement in the world of computer
technology and are being widely accepted all over the world and, that too, at a great pace.
Various autonomous interconnected computers communicate with each other using a
shared communication network. Independent systems possess their own memory unit and
CPU. These are referred to as loosely coupled systems or distributed systems . These
systems’ processors differ in size and function. The major benefit of working with these
types of the operating system is that it is always possible that one user can access the files or
software which are not actually present on his system but some other system connected
within this network i.e., remote access is enabled within the devices connected in that
network.
Distributed OS
Advantages of Distributed Operating System
Failure of one will not affect the other network communication, as all systems are
independent of each other.
Electronic mail increases the data exchange speed.
Since resources are being shared, computation is highly fast and durable.
Load on host computer reduces.
These systems are easily scalable as many systems can be easily added to the
network.
Delay in data processing reduces.
Disadvantages of Distributed Operating System
Failure of the main network will stop the entire communication.
To establish distributed systems the language is used not well-defined yet.
These types of systems are not readily available as they are very expensive. Not only
that the underlying software is highly complex and not understood well yet.
Examples of Distributed Operating Systems are LOCUS, etc.
Issues With Distributed Operating Systems
Networking causes delays in the transfer of data between nodes of a distributed
system. Such delays may lead to an inconsistent view of data located in different
nodes, and make it difficult to know the chronological order in which events
occurred in the system.
Control functions like scheduling, resource allocation, and deadlock detection have
to be performed in several nodes to achieve computation speedup and provide
reliable operation when computers or networking components fail.
Messages exchanged by processes present in different nodes may travel over public
networks and pass through computer systems that are not controlled by the
distributed operating system. An intruder may exploit this feature to tamper with
messages, or create fake messages to fool the authentication procedure and
masquerade as a user of the system.
13
Computer software
7. Network Operating System
These systems run on a server and provide the capability to manage data, users, groups,
security, applications, and other networking functions. These types of operating systems
allow shared access to files, printers, security, applications, and other networking functions
over a small private network. One more important aspect of Network Operating Systems is
that all the users are well aware of the underlying configuration, of all other users within
the network, their individual connections, etc. and that’s why these computers are
popularly known as tightly coupled systems .
14
Computer software
Complex Algorithms: The algorithms are very complex and difficult for the
designer to write on.
Device driver and interrupt signals: It needs specific device drivers and interrupts
signal to respond earliest to interrupts.
Thread Priority: It is not good to set thread priority as these systems are very less
prone to switching tasks.
Examples of Real-Time Operating Systems are Scientific experiments, medical imaging
systems, industrial control systems, weapon systems, robots, air traffic control systems
15
Computer software
WINDOWS OPERATING SYSTEMS.
Windows operating system was developed as a Graphical User Interface (GUI) for PCs
running on MS-DOS.
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.
16
Computer software
Advantages of Windows Operating Systems.
i). It is easy to open programs, find documents, and switch between programs.
ii). Windows provide facilities such as the Windows Explorer, which enable one to browse
through & manage you files, folders, and drives easily.
iii). Windows can support long file names, making it easier to find and organize files.
iv). Windows has improved Video, CD & sound capabilities, and can fully support MS-DOS-
based games.
v). 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.
vi). 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.
vii). 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.
viii). Windows supports a wide choice of networks & transmission protocols. It also has
facilities for sharing files & devices.
ix). 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.
x). Windows includes My Briefcase, a file synchronization tool & a utility for transferring
files over a direct cable link or dial-up networking.
xi). All Windows applications share a common set of commands. E.g., Open, Save, Print, etc
& therefore, there is no need to learn a different set of commands for each application.
xii). Windows allows movement of text or items from one program to another. i.e., it is easy to
exchange information between Windows applications.
xiii). Windows has facilities that enable the computer to save power resources by putting the
computer on standby or hibernation.
xiv). 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 Ms-Windows & Disk Operating System.
Ms-Windows MS-DOS
1. There are icons 1. No Icons
2. Uses both the Mouse & Keyboard as Input 2. Only the Keyboard is used as Input device.
devices.
3. There is use of Menus. 3. It is command-based.
4. User-friendly. 4. Not user-friendly.
5. Windows fully supports networking. 5. DOS cannot support networking.
6. Requires a computer with high memory 6. Uses less memory compared to Windows.
size. 7. DOS cannot support Windows, i.e. it is not
7. Windows can support DOS, i.e. it is possible to run Window-based programs in
possible to run DOS-based programs in MS-DOS.
Windows. 8. Uses monochrome (1 coloured) screen.
9. It is a single-user OS.
8. Uses Multi-coloured screen. 10. It is a single-tasking OS, i.e. can only
9. It is a Multi-user OS. support one program at a time.
10. It is a multi-tasking OS, i.e. can support 11. MS-DOS is an operating system by itself.
more than 1 program at a time. 12. Uses Directories to organize files.
17
Computer software
11. Comes in different versions.
12. Uses folders for storage of 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?
3. List four key features of the Windows Operating environment.
18