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.
- 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).
- 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:
- 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.
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.
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.
- 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).
- 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
- Name two major reasons why it became necessary to use an Operating system.
- (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?
- 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.
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:
- Number of tasks that the system can perform concurrently.
- Single-tasking (program) operating system.
- Multi-tasking operating system.
- Number of users the system can support at the same time.
- Single-user operating systems.
- Multi-user operating systems.
- 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,
- 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: –
- Command driven interface.
- Menu driven interface.
- 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: –
- The command words used should be descriptive VERBS that clearly convey the intended action, e.g., PRINT, COPY, RENAME, DELETE, etc.
- Unique abbreviations should be provided for more experienced users, e.g., PRI, COP, REN, DEL, CHKDSK, etc.
- 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: –
- 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
- What criteria are used to classify types of operating systems?
- (a) Differentiate between multi-user and multitasking operating systems.
(b) State any computer software that can be classified as a Multi-user operating system.
- Name three types of user interfaces employed by different commercial Operating systems.
- (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;
- Hardware configuration of the computer, e.g., RAM memory size, hard disk capacity, type of processor, etc.
- Basic design of the computer, – i.e., is it an IBM or IBM compatible, or an Apple computer?
- Hardware compatibility.
- User needs (requirements), i.e., the applications intended for the computer.
- User friendliness or Human computer interface, i.e., is it Command line based, Menu-driven or a Graphical user interface?
- Availability in the market, e.g. Microsoft Windows based OS are very common.
- Cost – how expensive the OS is.
- Reliability, i.e., can it run without crashing or hanging (stop responding to commands).
- The method of communication with the computer, e.g. the number of peripherals.
- The method of operating the computer.
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.
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.
- 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 Ms-Windows & 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 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 Multi-coloured screen. 9. It is a Multi-user OS. 10. It is a multi-tasking 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 MS-DOS. 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
- Give FOUR advantages of which Windows based Operating system software has over Disk Operating System software.
- (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.