1 / 19

Operating Systems

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.

raziya
Télécharger la présentation

Operating Systems

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Operating Systems

  2. 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.

  3. 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

  4. 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.

  5. 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.

  6. 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…

  7. 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.

  8. 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

  9. 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

  10. 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

  11. Batch OS • Alternates execution between user program and the monitor program • Relies on available hardware to effectively alternate execution from various parts of memory

  12. 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

  13. 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.

  14. 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)

  15. 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

  16. 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.

  17. 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…)

  18. 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.

  19. 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

More Related