Operating Systems

19
Operating Systems

description

Operating Systems. What is an operating system. an extended machine, easier to program for the user a resource manager, with more multiple users using the system efficient and correct use of the available resources is conducted by the operating systems.. Typical Services Provided by an O.S. - PowerPoint PPT Presentation

Transcript of Operating Systems

Page 1: Operating Systems

Operating Systems

Page 2: Operating Systems

What is an operating system

• an extended machine, easier to program for the user

• a resource manager, with more multiple users using the system efficient and correct use of the available resources is conducted by the operating systems.

Page 3: Operating Systems

Typical Services Provided by an O.S.

• CPU scheduling: how to serve the program execution (batch, multiprogramming, timesharing, real time)

• Memory management: how to allocate the memory

• Swapping: how to move data between the main memory and secondary storage

• I/O device drivers: how to operate I/O devices

Page 4: Operating Systems

• File system: organize mass storage (disk) into files and directories

• Utilities: date/time, accounting, file copy, etc.• Command interpreter: allow users to enter commands

interactively• System calls: allow user programs access to OS

services• Protection: keep processes (and users) from interfering

with each other and system• Communication & Resource sharing: allow users/

processes to communicate (within a computer or over networks) and share resources (e.g. laser printers, disks, etc.)

• Security: protect machines from intruders and unauthorized people.

Page 5: Operating Systems

Evolution of the Operating Systems

It is better tie up the evolution of the operating systems to the hardware, to give a true picture, as done by Tanenbaum.

Page 6: Operating Systems

First generation (1945-1955): characterized by

vacuum tubes and plug-boards:

First Computers

All the programming was in machine language, often by wiring up plug-boards to control machine's basic functions. All the problems programmed were numeric calculations such as tables of sines and cosines. Punch-cards were introduced in 1950 which replaced plug-boards…

Page 7: Operating Systems

Second generation: Characterized by Transistors (1955-1965)

Batch systems, Commercial use of computers has become possible. They

were small enough and reliable enough to be manufactured and sold. They were kept in special dust-free air conditioned rooms and attended by operators only.

• Use of high level languages such as FORTRAN has become possible, other than the assembly language.

• Batch systems were order of the day as they allowed the best utilization of the equipment under the present condition (see Figure 1.2 and 1.3)

• Examples: IBM 1401 and 7094.

Page 8: Operating Systems

Simple Batch Systems in more details

• Are the first operating systems • The user submit a job (written on card or tape)

to a computer operator• The computer operator place a batch of

several jobs on a input device• A special program, the monitor, manages the

execution of each program in the batch• Resident monitor is in main memory and

available for execution• Monitor utilities are loaded when needed

Page 9: Operating Systems

The Monitor

• Monitor reads jobs one at a time from the input device

• Monitor places a job in the user program area• A monitor instruction branches to the start of

the user program• Execution of user pgm continues until:• end-of-pgm occurs or error occurs• Causes the CPU to fetch its next instruction

from Monitor

Page 10: Operating Systems

Job Control Language (JCL)

• Is the language to provide instructions to the monitor• what compiler to use and what data to use• Each read instruction (in user pgm) • causes one line of input to be read• causes (OS) input routine to be invoked, to• check for not reading a JCL line• skip to the next JCL line at completion of user program

Page 11: Operating Systems

Batch OS

• Alternates execution between user program and the monitor program

• Relies on available hardware to effectively alternate execution from various parts of memory

Page 12: Operating Systems

Desirable Hardware Features

• Memory protection• do not allow the memory area containing the monitor to

be altered by user programs• Timer• prevents a job from monopolizing the system• an interrupt occurs when time expires• Privileged instructions• can be executed only by the monitor• an interrupt occurs if a program tries these instructions• Interrupts• provides flexibility for relinquishing control to and

regaining control from user programs

Page 13: Operating Systems

Third generation computers, Characterized by Ics (1965-1980): Multiprogramming

• The most representative machine of this generation is IBM 360, which has combined the numeric and non-numeric applications in one machine.

• The operating systems were written in assembly language and have soon become very bulky as they have to work both on newer as well as older systems.

• One important break from the second generation was “multiprogramming” which was very important for the utilization of the machine. The CPU could be multiplexed between the programs residing in the memory. When one tied up with IO, the other would be tied up with execution.

• Another important characteristic of the third generation is “SPOOLING”, which comes from “simultaneous peripheral operation on line.” The job flow from card readers to disk, IO from/to disk, print-out from disk to printers could take place concurrent with CPU operation.

• The desire for quick response time speeded up the birth of “timesharing” systems. This has made interactive on-line of systems order of the day.

• Examples: IBM 360, 370, 43xx, and 30xx series.

Page 14: Operating Systems

Multiprogrammed Batch Systems

• I/O operations are exceedingly slow (compared to instruction execution)

• A program containing even a very small number of I/O ops, will spend most of its time waiting for them

• Hence: poor CPU usage when only one program is present in memory

• If memory can hold several programs, then CPU can switch to another one whenever a program is awaiting for an I/O to complete

• This is multitasking (multiprogramming)

Page 15: Operating Systems

Requirements for Multiprogramming

Hardware support:• I/O interrupts and (possibly) DMA• in order to execute instructions while I/O device is busy• Memory management: several ready-to-run jobs must be

kept in memory• Memory protection (data and programs)

Software support from the OS:• Scheduling (which program is to be run next)• To manage resource contention

Page 16: Operating Systems

MULTICS

• Multics project was initiated to integrate all the novelty of multiprogramming, timesharing, and user requirements into one operating system. Unfortunately the project was never fully complete, initiated by AT&T

• Minicomputers have allowed computers to enter small business and scientific institutions: PDP, Interdata, VAX, Prime, etc.

• People who have taken part in MULTICS were able to come up MULTICS like but far simpler (far less ambitious) operating system- UNIX for minicomputers, with no written objectives.

Page 17: Operating Systems

Time Sharing Systems (TSS) in summary

• Batch multiprogramming does not support interaction with users

• TSS extends multiprogramming to handle multiple interactive jobs

• Processor’s time is shared among multiple users• Multiple users simultaneously access the system

through terminals• Because of slow human reaction time, a typical user

needs 2 sec of processing time per minute• Then (about) 30 users should be able to share the

same system without noticeable delay in the computer reaction time

• The file system must be protected (multiple users…)

Page 18: Operating Systems

Fourth generation (1980- ): Personal Computers, Workstations, and Distributed

Systems• Chip technology (development in LSI) allowed

mass production, thus the present state of cheap but powerful computers finding their way to homes as well as offices.

• The dominant operating systems: UNIX, NT, WindowsXX, etc.

• Networking (TCP/IP) allowed operating systems like UNIX to evolve into network operating systems, in network environment.

• Distributed operating systems: Multiple processors will appear one single system to the user.

Page 19: Operating Systems

Fifth generation (1990- ): Intelligent systems

(still to come!), distributed computing, parallel computing, very high speed communication (order of many giga bits per second), www, mobile systems