You are on page 1of 36

MCS 041 Block 1 Unit 1 Operating Systems : An Overview

By Kirit A. Dhabalia

Content
Purpose of OS Goals of OS Evolution of OS Various Functions Performed By OS Various Types of OS Structures of OS

What Is An OS?
Four main components
Hardware OS Application Software Users

The OS controls and coordinates the use of the hardware among the various systems programs and application programs for the various users

What Is An OS?
Resource Allocator
Hardware and Software CPU Time Memory Space Files Storage Space Input / Output Devices
Abstract View of the Components of a computer System Computer Hardware Request Compiler Assembler User 1 User 2

Application Operating Programs System Text Editor Database System

User 3 User n

Response

OS Designed To Serve Two Basic Purposes


To control the allocation and use of the computing systems resources among the various users and tasks To provide an interface between the computer hardware and the programmer that simplifies and makes feasible the creation, coding, debugging and maintenance of application programs

An Effective OS Should Accomplish The Following Functions


Act as a command interpreter by providing a user friendly environment Should facilitate communication with other users Facilitate the directory/file creation along with the security option Provide routines that handle the intricate (Complicated) details of I/O programming Provide access to compilers to translate programs from high-level languages to machine language
Cont

An Effective OS Should Accomplish The Following Functions


Provide a loader program to move the compiled program code to the computers memory for execution Assure that when there are several active processes in the computer, each will get fair and non-interfering access to the central processing unit for execution Take care of storage and device allocation Provide for long term storage of user information in the form of files Permit system resources to be shared among users when appropriate and be protected from unauthorised or mischievous intervention as necessary

Content
Purpose of OS Goals of OS Evolution of OS Various Functions Performed By OS Various Types of OS Structures of OS

Goals Of An Operating System


To execute an instruction in an efficient manner and to increase the productivity of processing resources attached with the computer system. Maximum CPU utilization is the main objective, since it is the main device which is to be used for the execution of the programs or instructions Goals
Convenient to use Use the hardware in an efficient manner

Generations of Operating Systems


Five distinct generations, characterized by Hardware component technology, Software development and mode of delivery of computer services
0th Generation ( 1944 ) First Generation ( 1951-1956 ) Second Generation ( 1956-1964 ) Third Generation ( 1964-1979 ) Fourth Generation ( 1979- Present )

0th Generation
ENIAC (Electronic Numerical Integrator And Computer) (The Giant Brain) By John Mauchly EDVAC (Electronic Discrete Variable Automatic Computer) by John Von Neumann 1944-46 The development of EDVAC set the stage for the evolution of commercial computing and operating system software Open-shop

1st Generation ( 1951-1956)


UNIVAC I in early 1951 and a bit later, the IBM 701 which was also known as the Defence Calculator Closed shop Application programs were run one at a time and were translated with absolute computer addresses that bound them to be loaded and run from these reassigned storage addresses set by the translator, obtaining their data from specific physical I/O device There was no provision for moving a program to different location in storage for any reason Magnetic Tape, Boot device Machine Language, Assembly and later FORTRAN System protection was a problem Mono-programmed operating system

2nd Generation (1956-1964)


Mono-programmed batch processing operating systems The data channel allowed some I/O to be buffered ie. Input data can read ahead and kept into a special block of memory called as buffer Data channels ability to work asynchronously and concurrently with the main processor Significant innovation of the second generation the interrupt The data channel was able to interrupt the CPU with a message The hardware developments led to enhancements of the operating system. I/O and data channel communication and control became functions of the operating system JOB segmentation (priority)

3rd Generation (1964-1979)


IBM System/360 Adoption of multiprogramming Spooling CPU sharing Preempt (anticipate) Better hardware

4th Generation (1979-Present)


VLSI User-friendly Multi programming and time sharing DOS & Unix Remote login

Types of Operating Systems


Batch Time-sharing Real-time Multiprogramming Operating System Multiprocessing system Networking Operating System Distributed Operating System Operating System for Embedded Devices

MCS - 022

Desirable Qualities of OS
Usability Robustness Accept all valid inputs and can handle them Facilities Sufficient for intended use Complete

Consistency
Proportionality Convenience Powerful with high level facilities Adaptability Tailored to the environment Changeable over time Extendible - extensible

Appropriate
Costs Want low cost and efficient services Good algorithm Low overhead Low maintenance cost

OS - Examples
DOS UNIX Windows Macintosh OS used by its users
Command language :- interact with os using commands System call :- invoke services of the os by means of run time system calls during the execution of programs

Functions of OS
Process Management Memory Management Secondary Storage Management I/O Management File Management Protection Networking Management Command Iterpretation

Simultaneous peripheral operation online

Function Process Management


The CPU executes a large number of programs CPU is also needed for other activities called processes A process is a program in execution Typically batch job is a process, a time shared user program is a process and a system task spooling is also a process So, the process is a job or a time shared program

Function Process Management


OS is responsible for the following activities in connection with processes management
Creation and deletion of both user and system processes Suspension and resumption of processes Provision of mechanisms for process synchronization Provision of mechanisms for deadlock handling

Function Memory Management


Most expensive part in the computer system Is a large array of words or bytes, each with its own address Interaction is achieved through a sequence of reads or writes of specific memory address Selection of a memory management scheme very much depends upon the hardware design OS is responsible for the following activities
Keep track of which parts of memory currently being used and by whom Decide which process are to be loaded into memory when memory space becomes available Allocate and deallocate memory space as needed

Function Secondary Storage Management


Execution of programs together with the data they access, must be in main memory during execution Since the main memory is too small to permanently accommodate all data and program, the computer system must provide secondary storage to backup main memory Modern systems uses disks as the primary on-line storage Programs like compilers, assemblers, sort routines, editors, formatters and so on, are stored on the disk until loaded into memory Hence, proper disk storage management is of central importance to the computer systems

Function Secondary Storage Management


OS is responsible for the following activities in connection with disk management:
Free space management Storage allocation Disk scheduling

Function I/O Management


OS is responsible for the following activities in connection to I/O management
A buffer caching system To activate a general device driver code To run the driver software for specific hardware devices as and when required

Function File Management


One of the most visible services of an OS Medias Disk / Tape / CD / DVD / Blu A file is a collection of related information defined by its creator A file is a sequence of bits, bytes, lines or records whose meaning is defined by its creator and user

Function File Management


OS is responsible for the following activities in connection to the file management
Creation and deletion of files Creation and deletion of directory Support of primitives for manipulating files and directories Mapping of files onto disk storage Backup of files on stable (non volatile) storage Protection and security of the files

Function Protection
Various processes in an OS must be protected from each others activities Peripherals can be operated only after gaining proper authorization from the OS Memory addressing hardware ensures that a process can only execute within its own address space The timer ensures that no process can gain control of the CPU without relinquishing it

Function Protection
No process is allowed to do its own I/O, to protect the integrity of the various peripheral devices Protection refers to a mechanism for controlling the access of programs, processes or users to the resources defined by a computer controls to be imposed, together with some means of enforcement Protection can improve reliability by detecting latent errors at the interfaces between component subsystems An unprotected resource cannot defend against use (or misuse) by an unauthorised or incompetent user.

Function Networking Management


A distributed system is a collection of processor that do not share memory or a clock Each processor has its own local memory and processor communicate with each other through various communication lines such as high speed buses or telephone lines The processor in the system are connected through a communication network A distributed system provides the user with access to the various resources the system maintains. Access to a shared resource allows computation speedup, data availability and reliability

Function Command Interpretation


The command interpreter is the primary interface between the user and the rest of the system
The control card interpreter The command line interpreter The shell ( Unix)

OS in coordinating all the functions


I/O Management Protection & Security File Interface

Process Management Communication Management

Operating System

Secondary Storage Management

User Interface

Networking

Memory Management