You are on page 1of 15


The Operating System Role of Operating System

The role of the OS is one of Resource Management. The primary resources it manages are:

Processors Storage I/O devices Data

Programs Part of the OS remains in main storage permanently during the running of the computer KERNEL (Supervisor/Executive). Remainder of the OS programs are stored on DASD. The system must be booted up causing the h/w to load the OS into main storage.


An Operating System manages four major resources of the computer system: MEMORY, PROCESSOR, I/O DEVICES, FILES. Memory management: finds free space in memory and allocate it to different

processes. Processor management: allocates the processor to execute a chosen process.


Input/Output device management: allocates a device to a process. File management: keeps track of all information about files and how they are opened or closed. Secondary Storage management: storage allocation, free space

management, disk scheduling.


Network management: sharing of stored resources. System Protection: mechanism for controlling the access to computer resources by various users and processes.


Command Interpretation: an Interface between user and

OS hence provides interface. Accounting of Resources: usage by users in a time-sharing system.

Evolution of Operating Systems

1st Generation of computers had no OS: single-user. Bare machine approach All coding done directly in machine language, memory resident code (no other resources to manage). Very tedious to code programs in machine language (0s and 1s), time consuming, poor throughput and

extremely user unfriendly. Required: new I/O devices, Secondary storage devices, Assemblers and Compilers, Linkers, Loaders, outputs.

Evolution of Operating Systems

2nd Generation had basic OS: serial processing, batch processing. DIAGRAM Read input (tape/cards), process, output to tape or print. OS commands written in a control language embedded in the job stream, with user programs and data. Batch monitor, read, interpret, execute commands automatically and batch the pooled jobs into separate batches. Improved system utilization, concept of job scheduling evolved.

Evolution of Operating Systems

3rd Generation: multiprogramming. DIAGRAM Careful partitioning of memory space (4-12KB), drums and disks added for reading cards and spooling outputs (Simultaneous Peripherals Operations On-Line). One of the active programs in run-mode utilizing the CPU and others utilizing the I/O devices at the same time or in a wait state waiting for resources to be available. Increased utilization of system resources, significant performance gain, increased throughput.
4th Generation: interactive time sharing or multitasking A logical extension of multiprogramming In addition to multiprogramming, support additional features, permitting more than one user interaction with the system through OS commands. User assigned time-slices (slots) in a round-robin cycle fashion. CPU Scheduling - the switching of CPU between users so fast giving the impression to user that

History (cont.)

using system alone. Each user has at least one separate program in memory. Source code of a program entered interactively, through a terminal using screen editor, language translator to produce object file, library routines linked, produce executable file interactively.

History (cont.)

Time-sharing created several virtual machines. Memory management schemes required: paging, segmentation, virtual memory, etc Also file systems, signals (interrupts), networking.. Must provide mechanism for jobs synchronization and communication avoids deadlock state. Concerns: equitable sharing of resources, and responsiveness to interactive requests. Cheaper, faster, more user-friendly, drastically reduced program development period.

History (cont.)

Network Operating System (NOS) includes s/w to communicate with other computers via a network. Sharing resources: files, application programs, printers, etc. Serves as a peer-to-peer or client-server OS. DIAGRAM Eg. Berkley System Distribution (BSD) Unix, Novell, Lantastic, MS LAN Manager, Windows NT, etc Distributed Operating System: for network of autonomous computers connected by a communication network eg. LAN/WAN. DIAGRAM User not aware of where the program is executed or the location of the resources accessed Global naming of resources, distribution of computations, enabling processes to access remote resources, enabling processes to

History (cont.)

communicate with remote processes Eg. Alpha, Kernel, Amoeba, Mach Multiprocessor Operating System a set of processors that share a set of physical memory blocks over an interconnection network. MOS controls h/w and s/w resources user view the entire system as a powerful uniprocessor system. Design issues of process synchronization, task scheduling, memory management, security and protection become more complex since the main memory is shared among many physical processors. DIAGRAM Real Time Operating System provides a quick response time and thus meet a scheduling deadline. User convenience and resource utilization are secondary concern to ROS. Many events must be accepted and processed in a short time or within certain deadline.

History (cont.)

History (cont.)

Concern: responsive handling of external events generated by the controlled system. Applications: rocket launching, flight control, robotics, real time simulation, telephone switching equipment, etc Classification: Soft and Hard

Modern specialized operating systems

Users engage in diverse activities in a modern computing environment modern operating system cannot use a uniform strategy for all processes. Must use a strategy that is appropriate for each individual process: i.e. OS in many tasks (eg).

execute programs: interactive RR scheduling watch video: soft RT activity, mutli-media priority-based scheduling implement Remote Procedure Calls (RPC) to support activities in another node.

Modern operating system uses most concepts and techniques: batch processing, multiprogramming, time sharing, real time and

distributed operating systems.


Multi-user : Allows two or more users to run programs at the same time. Some operating systems permit hundreds or even thousands of concurrent users. Multiprocessing : Supports running a program on more than one CPU. Multitasking : Allows more than one program to run concurrently. Single-tasking : Allows only one program to run at a time. Multithreading : Allows different parts of a single program to run concurrently. Real time: Responds to input instantly. General-purpose operating systems, such as DOS and UNIX, are not real-time.

Types of Operating Systems

Batch OS Multi-Programming OS

Time-Sharing Interactive OS Real-Time OS Distributed OS Multi-User OS Combination OS

Methods/Modes of Operation

Multiprocessing: two or more processors are present in a computer system and are sharing some or all of the same memory. Multiprogramming: more than one program in main storage is being processed apparently at the same time. Batch Processing: the job is not processed until fully input. Jobs are entered and stored on a disk in a batch queue and then run one or more

at a time under the control of the OS. Time-Sharing: processor time is divided into small units called time slices and shared in turn between users to provide multi-access.


NO Some special purpose computers do not have an OS. Duties of an OS taken by the application code operating services for an application. Requires implementation of each of such programs YES OS contains a library of reusable services A good approach to implement necessary features once What an OS does What process should get what resources? In what quantity? At what time? And for how long?


Define the term Operating System. What are the goals of an Operating System? How does an Operating System take control over a computer system? Describe the concept of a stored program. Discuss the evolution of Operating Systems clearly describing the features of each generation. Describe the main features of the following types of operating systems:
Batch, Real-Time, Interactive, Distributed, Multi-User.