Functions And Classification Of Operating Systems
The OS is the system software that controls the overall operation of the computer system. It manages the connected hardware, provides a platform to run application programs and an interface for users to interact with the computer system. It is responsible for recognising and organising memory devices, I/O devices and processing devices. Figure 10.1 displays the role of OS in the computer system. An OS provides two types of interfaces: Graphical User Interface (GUI) and Command Line Interface (CLI). An OS responds and provides services to the users.
Figure 10.1: Roles of OS in the Computer System
10.1.1 Functions of OS
An OS is the essential software in the computer system. It performs several tasks to keep the application software, hardware devices and users of the computer system coordination.
The OS performs the following functions:
Information Management – Information management refers to the set of services used for retrieving, storing, modifying and deleting data from devices. It has two subsystems, file management and I/O management.
Process Management – Process management is responsible for distributing CPU time between processes. It also involves managing memory and I/O resources across the process in the computer system.
Memory Management – Memory management controls memory utilisation. At any given instance, memory management keeps track available space to store the information.
Application Programming Interface (API) – The API assigns access to application software on all connected hardware devices.
User Interface – User Interface provides interaction between the computer system and users.
10.2 Evolution of OS
Operating systems evolved in seven phases. The six phases namely open shop, batch processing, multiprogramming, timesharing, personal computing and distributed systems, changed the way users accessed the OS. Concurrent programming brings multiple inventions to make resource management effective. Table 10.2 shows phases and technical evolution of an OS. An evolution of OS started from 1954, when Computer system had not OS, users use to operate computer system manually.
Phases of OS evolution of are as follows:
Open Shop – Open Shop introduced IBM 701 that was implemented the on famous IBM 701 machine. First user has to make setup as per the requirement for each computing. However, in this phase time and money wasted in setting up machine manual. Users got fixed time for computing, although most of the time was spent setting up the machine manually.
Batch Processing – Wastage of time and money in the open shop phase was a result of user involvement. In this phase, it was clear that normal users were to be kept away from the computing process. This phase also revealed that the OS was capable of scheduling. Normal users put their jobs on a punch card only to be processed by computer professionals later. The BKS system was the released in this phase.
Multiprogramming – The objective of multiprogramming was to keep the CPU as busy as possible to utilise its processing capacity entirely. At the initial stage of multiprogramming phase, the idea was to keep next program ready in the memory from where the CPU could take it up immediately. However, in the same phase, hardware interrupts were introduced. Hardware interrupts facilitated switching of processes. The concept of hardware interrupts made multiprogramming more successful. It also permitted I/O devices and processing devices to work simultaneously. This process was called simultaneous peripheral operation on-line. The concepts of job-scheduling, demand paging, virtual memory were introduced in the same phase. Atlas supervisor, B5000 system, Exec II system and Egdon systems were introduced in the multiprogramming phase.
Time Sharing – Time-sharing allowed processors to attend to requests from other users while one user was busy performing some I/O function. This way the CPU could attend to multiple processes as well as users in lesser time spans. CTSS, Multics File system, Titan File system and UNIX were introduced in this phase.
Concurrent – The concurrent phase introduced the feature of running multiple tasks at a time called as multitasking. THE system, RC 4000 system, Venus system, Boss 2 system, Solo system, and Solo Program Text, were the concurrent OS introduced back then.
Personal Computing – In the personal computing phase of evolution, user convenience was on the priority than recourse management. The GUI based OS and mouse based interactivity were introduced in this phase only. OS, Alto system, Pilot system and star user interface were introduced in this phase.
Distributed Systems – This phase includes computer-networking components that enable message passing within computers and remote procedure call. WFS File servers, Unix United RPC, Unix United system and Amoeba systems were launched in this phase.
Phase
Technical Evolution
Operating System
Phase 1:
Open Shop
An idea of operating systems
1. IBM 701 open shop (1954)
Phase 2:
Batch Processing
Tape batching
First-In First-Out and scheduling
2. BKS system (1961)
Phase 3:
Multiprogramming
Processor multiplexing,
Indivisible operations,
Demand paging,
Input/output spooling,
Priority scheduling and
Remote job entry
3. Atlas supervisor (1961)
4. B5000 system (1964)
5. Exec II system (1966)
6. Eldon system (1966)
Phase 4:
Timesharing
Simultaneous user, interaction and
On-line file systems
7. CTSS (1962)
8. Multics File system (1965)
9. Titan File system (1972)
10. Unix (1974)
Phase 5:
Concurrent Programming
Hierarchical systems,
Extensible kernels,
Parallel programming concepts and
Secure parallel languages
11. THE system (1968)
12. RC 4000 system (1969)
13. Venus system (1972)
14. Boss 2 system (1975)
15. Solo system (1976)
16. Solo program text (1976)
Phase 6:
Personal Computing
Graphic user interfaces
17. OS 6 (1972)
18. Alto system (1979)
19. Pilot system (1980)
20. Star user interface (1982)
Phase 7:
Distributed Systems
Remote servers
21. WFS File server (1979)
22. Unix United RPC (1982)
23. Unix United system (1982)
24. Amoeba system (1990)
Table 10.1: Evolution of OS
10.3 OS Kernel and shell
Every OS consists of a kernel and shell. The shell is the user interface, either a CLI or a GUI. This allows the user to login and use the computer system. The kernel is the core of an OS. The OS kernel is more complex and is difficult to work with directly, hence the kernel is wrapped in a shell
A kernel consists of the following:
File Manager- A file manager provides interface for user to work with file. It performs actions on files such as create, edit, rename, open, edit and so on.. In addition, it maintains size and permissions about files that are available on the system.
Device Driver -. Device driver is a programs that controls a specific hardware devices. Each device has unique driver that converts user request for device to specific coding.
Memory Manager – The memory manager responsible for optimum utilization of the system memory. It allocates and de-allocates memory for storing data and programs.
Scheduler- The scheduler maintains records of present processes executing by the OS and adds new processes to the OS.
Dispatcher – The dispatcher manages processes. It divides time into small portion such as 50 second, when the time portion is over; dispatcher allows next process to run.
10.4 Classification of OS
OSs have been classified based on parameters such as number of users that simultaneously used the computer system, the number of process that OS performs at a time, and the number of threads that OS can handle at a time.
The classification is as follows:
Single-User – A single-user operating system allows only one user to login the computer system. Single-user OS are intended for home users only.
Multi-user – Thie multi-user OS allows multiple users to login and utilise the computer system. In this case, the OS allocates different resources for each user so that any a problem with one user does not affect other users.
Single-task – The single-task OS permits only one process to run at a time.
Multi-tasking – The multi-tasking OS permits multiple programs to execute at the same time. Users can run more than one task at a time. However, as multiple processes runs at the same time, this type of OS requires more memory. Multi-tasking OS come in two models. They are:
Time-sharing operating system -Time-sharing OSs use algorithms to share CPU time between multiple processes. This method creates an illusion that the CPU is executing multiple processes simultaneously.
Real-time operating system – The real-time operating system is used to control industrial systems and scientific instruments. This type of OS manages computer system resources in a way that specific operation should execute in precise time, every time..
10.5 Operational overview
On the boot, an OS makes sure that the system has the required hardware and software. When a user requests for a resource such as IO or any application program, the OS checks permission and then decides whether to grant that request or deny it. In a multi-user system, the OS schedules resources in a way that ensures their availability on request. The OS records errors occurring in the process. The OS should record the error. The OS supports networking operations too.
Devices involved in OS operation are as follows:
CPU – A computer system supports several functions that should run simultaneously. It might possible that multiple users are running their programs at the same instance. The OS ensures that each user gets sufficient CPU time to execute the task.
Memory – The OS helps users place and retrieve data from the primary memory. The OS also takes care of user data that is stored in the secondary memory. Data in the secondary memory is brought to the primary memory on user request.
I/O devices – The OS facilitates communication with all I/O devices. It uses interrupt signals for the same.
10.6 Services Offered by OS
The major objectives of an OS are to make computing convenient, run application programs and manage the various resources. To achieve these objectives OS provide several services, they are as follows:
Program Execution – The OS provides users with a convenient environment to execute programs. The user only needs to initiate program execution while the OS takes care of memory allocation for successful execution of the program.
I/O Operations – Every process involves I/O operations; however, internal I/O operations are not visible to users. OS control all I/O operations. User may change the default flow I/O operation, thus for security reasons user are not involved in the I/O operation.
File System Manipulation – File system manipulation, enables users to create or manipulate files in the OS environment without knowing physical characteristics of the device.
Communications – At times processes need to communicate with each other to exchange information. This communication could be between processes executing on the same computer or processes executing on different computer systems. A communication service enables computer system to exchange the process with other computer systems.
Error Detection – An error in the computer system leads to malfunctioning. The OS monitors computer systems for errors.
10.7 Chapter Review Questions
GUI stands for ________________.
(A)
Graphical User Interface
(C)
Graphical User Interaction
(B)
Group and User Interaction
(D)
None of the above
Ans: A
Which function of the OS is responsible for managing user’s data in the computer system?
(A)
Memory Management
(C)
Information Management
(B)
Process Management
(D)
Application Management
Ands: C
A __________ function allows users to interact with computer system.
(A)
Memory Management
(C)
Application Management
(B)
User Interaction
(D)
Information Management
Ans: B
A __________phase of the OS evolution invents hardware interrupts.
(A)
Timesharing
(C)
Multi Programming
(B)
Concurrent Programming
(D)
None of the above
Ans: C
Which of the following is an operating system’s core layer?
(A)
Kernel
(C)
Shell
(B)
Device Drivers
(D)
None of these
Ans: A
Which component of the kernel maintains records of current processes, adds new processes, and removes complex processes.
(A)
Device Drivers
(C)
Dispatcher
(B)
Scheduler
(D)
None of these
Ans: B
Which of the following are models of multitasking OS?
(A)
Timesharing OS
(C)
Real-time OS
(B)
Thread sharing OS
(D)
Real-process OS
Ans: A and C
8. CLI stands for ________________________.
(A)
Command Line Interaction
(C)
Common Line Interface
(B)
Command Line Interface
(D)
Common Line Interaction
Ans: B
9. Which service of an OS allows users to communicate with other computers?
(A)
Communications
(C)
Program Execution
(B)
Error Detection
(D)
I/O Operations
Ans: A
10. A __________component of OS kernel is responsible for communicating with devices.
(A)
File Manager
(C)
Device Drivers
(B)
Device manager
(D)
None of these
Ans: C
10.7.1 Answers
1. A
2. C
3. B
4. C
5. A
6. B
7. A and C
8. B
9. A
10. C
Summary
In the chapter, Introduction to Operating System, you learnt about:
OS and tasks performed by the OS
Evolution and classification of OSs
Different functions of the OS
Services offered by the OS
Order Now