Midterm OPERATING SYSTEM. Objectives At the end of the course, the student should be able to: Define the operating system; Demonstrate the abstract view.

Slides:



Advertisements
Similar presentations
Operating System.
Advertisements

Maninder Kaur OPERATING SYSTEM Maninder Kaur 11 Oct 2010.
Introduction CSCI 444/544 Operating Systems Fall 2008.
CS 345 Computer System Overview
Chapter 1: Introduction
Lecture 1: History of Operating System
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 1: Introduction What is an Operating System? Mainframe Systems Desktop Systems.
Understanding Operating Systems 1 Overview Introduction Operating System Components Machine Hardware Types of Operating Systems Brief History of Operating.
Computer Organization and Architecture
Silberschatz, Galvin and Gagne  Operating System Concepts Bare Machine (early 1950s) Structure  Large machines run from console  Single user.
A. Frank - P. Weisberg Operating Systems Evolution of Operating Systems.
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 1: Introduction What is an Operating System? Mainframe Systems Desktop Systems.
1/16/2008CSCI 315 Operating Systems Design1 Introduction Notice: The slides for this lecture have been largely based on those accompanying the textbook.
1 The development of modern computer systems Early electronic computers Mainframes Time sharing Microcomputers Networked computing.
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 1: Introduction What is an Operating System? Mainframe Systems Desktop Systems.
Systems Software Operating Systems.
Objectives To provide a grand tour of the major operating systems components To provide coverage of basic computer system organization.
Slide 1 System Software Software The term that we use for all the programs and data that we use with a computer system. Two types of software: Program.
Operating System. Architecture of Computer System Hardware Operating System (OS) Programming Language (e.g. PASCAL) Application Programs (e.g. WORD, EXCEL)
part I, , Part I Introduction to Operating Systems First Semester, Year 2000 Wannarat Suntiamorntut Department of Computer Engineering,
Operating Systems  By the end of this session, you will know: What an Operating System is. The functions it performs.
Introduction and Overview Questions answered in this lecture: What is an operating system? How have operating systems evolved? Why study operating systems?
Chapter 1. Introduction What is an Operating System? Mainframe Systems
 What is OS? What is OS?  What OS does? What OS does?  Structure of Operating System: Structure of Operating System:  Evolution of OS Evolution of.
Operating Systems.
 Introduction to Operating System Introduction to Operating System  Types Of An Operating System Types Of An Operating System  Single User Single User.
Silberschatz, Galvin and Gagne  2002 Modified for CSCI 399, Royden, Operating System Concepts Operating Systems Lecture 1 Introduction Read:
OPERATING SYSTEMS DESIGN AND IMPLEMENTATION Third Edition ANDREW S. TANENBAUM ALBERT S. WOODHULL Yan hao (Wilson) Wu University of the Western.
1 Computing Software. Programming Style Programs that are not documented internally, while they may do what is requested, can be difficult to understand.
Operating system Structure and Operation by Dr. Amin Danial Asham.
Fall 2000M.B. Ibáñez Lecture 01 Introduction What is an Operating System? The Evolution of Operating Systems Course Outline.
Contact Information Office: 225 Neville Hall Office Hours: Monday and Wednesday 12:00-1:00 E-Main: Phone:
Operating System Concepts Chapter One: Introduction What is an operating system? Simple Batch Systems Multiprogramming Systems Time-Sharing Systems Personal-Computer.
1.1 Operating System Concepts Introduction What is an Operating System? Mainframe Systems Desktop Systems Multiprocessor Systems Distributed Systems Clustered.
Systems Software Operating Systems. What is software? Software is the term that we use for all the programs and data that we use with a computer system.
OPERATING SYSTEMS UNIT – I R.SOUJANYA IT Dept. UNIT I Computer System and Operating System Overview Chapter 1: IntroductionIntroduction Overview of Computer.
Silberschatz and Galvin  Operating System Concepts Module 1: Introduction What is an operating system? Simple Batch Systems Multiprogramming.
INFORMATION SYSTEM-SOFTWARE Topic: OPERATING SYSTEM CONCEPTS.
Operating System Principles And Multitasking
Chapter 1 Introduction to Operating System Part 1
February 02Page 1 Operating Systems Introduction.
Chapter 1: Introduction
CIS250 OPERATING SYSTEMS Chapter One Introduction.
Assoc. Prof. Dr. Ahmet Turan ÖZCERİT.  What Operating Systems Do  Computer-System Organization  Computer-System Architecture  Operating-System Structure.
Copyright © Curt Hill Operating Systems An Introductory Overview.
Operating System. Chapter 1: Introduction What is an Operating System? Mainframe Systems Desktop Systems Multiprocessor Systems Distributed Systems Clustered.
Operating Systems.
Silberschatz and Galvin  Operating System Concepts Module 1: Introduction What is an operating system? Simple Batch Systems Multiprogramming.
1.1 Sandeep TayalCSE Department MAIT 1: Introduction What is an operating system? Simple Batch Systems Multiprogramming Batched Systems Time-Sharing Systems.
CS4315A. Berrached:CMS:UHD1 Introduction to Operating Systems Chapter 1.
Silberschatz and Galvin  Operating System Concepts Module 1: Introduction What is an operating system? Simple Batch Systems Multiprogramming.
© Janice Regan, CMPT 300, May CMPT 300 Introduction to Operating Systems Operating Systems Overview: Using Hardware.
Operating System (Reference : OS[Silberschatz] + Norton 6e book slides)
Operating System Concepts with Java – 7 th Edition, Nov 15, 2006 Silberschatz, Galvin and Gagne ©2007 Chapter 0: Historical Overview.
Computer Architecture Chapter (8): Operating System Support
Chapter 1: Introduction What is an Operating System? Mainframe Systems Desktop Systems Multiprocessor Systems Distributed Systems Clustered System Real.
1 OPERATING SYSTEMS. 2 CONTENTS 1.What is an Operating System? 2.OS Functions 3.OS Services 4.Structure of OS 5.Evolution of OS.
OPERATING SYSTEM CONCEPT AND PRACTISE
Applied Operating System Concepts
Operating System Overview
Evolution of Operating Systems
Where are being used the OS?
Introduction to Operating System (OS)
Chapter 1: Introduction
Chapter 1: Introduction
חוברת שקפים להרצאות של ד"ר יאיר ויסמן מבוססת על אתר האינטרנט:
Operating System Concepts
Language Processors Application Domain – ideas concerning the behavior of a software. Execution Domain – Ideas implemented in Computer System. Semantic.
Operating System Concepts
Presentation transcript:

midterm OPERATING SYSTEM

Objectives At the end of the course, the student should be able to: Define the operating system; Demonstrate the abstract view of the components of a computer system; Give the services provided by the operating system; Give examples of operating system used in early stages of computer system.

Introduction to Operating System An operating system is a program that acts an interface or an intermediary between a user of a computer and the computer hardware. It is a system program which controls all of the system’s resources and provides an environment in which a user can execute programs.

Introduction to Operating System The primary goal of an operating system is to make the computer hardware easier or convenient to use by handling the details of all common operations on the hardware such as: 1.printing data on a printer or screen, 2.copying data from one disk to another, 3.accepting input from a keyboard, 4.loading programs into primary memory and executing them, 5.and many others.

Introduction to Operating System The secondary goal of an operating system is to use the computer system in an efficient manner. In other words, to maximize the use of the computer.

Introduction to Operating System Computer hardware – the CPU, memory and I/O devices, provides the basic computing resources. Application programs – such as database systems, word processors, games and business programs, define the ways in which theses resources are used to solve the computing problems of the users. COMPONENTS OF A COMPUTER SYSTEM

Introduction to Operating System Users – there are many different users (people, machines, other computers) trying to solve different problems. Operating Systems – the operating system controls and coordinates the use of the hardware among the various application programs for the various users. COMPONENTS OF A COMPUTER SYSTEM

Introduction to Operating System COMPONENTS OF A COMPUTER SYSTEM

Introduction to Operating System The users of the system issue commands to their respective application programs. The application programs in turn communicate the requests to the operating system. The operating system then controls the computer hardware to carry out the command or request. Example: If a user instructs his word processor to print a particular file, it is actually the operating system, not the word processor, that does the printing. COMPONENTS OF A COMPUTER SYSTEM

Introduction to Operating System 1.Resource Allocator. The operating system manages the different computer resources such as CPU time, memory space, file storage space, I/O devices, etc. and allocates them to different application programs and users. 2.Control Program. The operating system controls the execution of programs to prevent errors and improper use of the computer. It is especially concerned with the operation and control of the I/O devices. Operating System can be thought of as:

Introduction to Operating System 1.Program Execution. The operating system loads the user program in main memory and runs it. 2.I/O Operations. The operating system is responsible for reading and/or writing data from I/O devices such as disks, tapes, printers, keyboards, etc. Services Provided by Operating System

Introduction to Operating System 3.File System Handling. The operating system takes care of organizing the files within the disk or tape. It takes care of the creation and deletion of files for users. 4.Error Detection. The operating system should be able to detect errors within the computer system (CPU, memory, I/O, or user program) and take the appropriate action. Services Provided by Operating System

Introduction to Operating System Early computers were purely hardware machines. Computers were built with tens of thousands of vacuum tubes and were rather enormous, filling up an entire room. There were no operating systems. A single group of people designed, built, programmed, operated, and maintained each machine. But there can be only one user at a time. Early System

Introduction to Operating System Early computers were purely hardware machines. Programs were written in machine language (1’s and 0’s), often by wiring up plug-boards to control the machine’s basic functions. Virtually all problems were straightforward numerical calculations. Computer hardware utilization was not maximized. Early System

Introduction to Operating System Early computers were purely hardware machines. Standard Operating Procedures: 1.A programmer signs up for a block of computer time. 2.The programmer then goes down to the computer room. 3.The programmer inserts his plug-board into the computer. 4.The programmer spends the next few hours running the program. If there are any errors in the program, he would have to redesign the plug-board and repeat the entire process again. Early System

Introduction to Operating System Early computers were purely hardware machines. Because of the time spent in writing and debugging programs, the computer was idle most of the time. Early System

Introduction to Operating System Improvements in hardware and emergence of early software. The old standard operating procedures had improved somewhat with the introduction of better input devices such as the punched card readers and magnetic tape drives. Programs were now written on cards. Because of these special I/O devices, device drivers (software that controls these devices) emerged. Early System

Introduction to Operating System Improvements in hardware and emergence of early software. Programs were written in assembly language mainly because of the arrival of assemblers (programs that convert assembly language to machine language). Computers were much faster and smaller now because vacuum tubes were replaced by transistors. Early System

Introduction to Operating System Compilers were invented. Programs were written in high-level languages such as Pascal, COBOL, FORTRAN, etc. because of the entry of compilers. Steps in running a program written in a high-level language: 1.The programmer takes the card deck or magnetic tape for the compiler to load the compiler into the computer. Early System

Introduction to Operating System 2.The programmer then takes the card deck for the program to load the program into the computer. 3.The computer then compiles the program. This will convert the high-level language program to assembly language. 4.The programmer then takes the card deck or magnetic tape for the assembler to load the assembler into the computer. Early System

Introduction to Operating System 5.The computer then assembles the program. This will convert the assembly language program to machine language. 6.The computer then executes the program. There is a significant amount of set-up time (CPU is idle) in running a single program (particularly steps 1, 2, and 4). Early System

Introduction to Operating System To reduce set-up time, jobs with similar needs were batched together and run through the computer as a group. Example: After loading the FORTRAN compiler, the operator may compile several FORTRAN programs. Therefore, setting up the compiler is done only once for several programs. Resident Monitor

Introduction to Operating System Batched systems require a professional computer operator. The operator would sort the different jobs into batches with similar requirements and, as the computer becomes available, would run each batch. The output from each job would be sent back to the appropriate programmer. Resident Monitor

Introduction to Operating System To reduce the idle time between batches, automatic job sequencing was developed. A small program called the monitor was created for automatically transferring control from one job to the next. The resident monitor was the first rudimentary operating system. Resident Monitor

Introduction to Operating System Even with automatic job sequencing, however, the CPU is often idle because of the very slow speed of I/O devices compared to the speed of the CPU. The slowness of the I/O devices can mean that the CPU is often waiting for I/O. Off-Line Operation

Introduction to Operating System Assume that a program has 1,200 cards. Assume further the card reader can read 1200 cards per minute (or 20 cards per second) while the CPU can process 300 cards per second. This means that it will take the card reader 60 seconds to read the cards while the CPU will take only 4 seconds to process the program. This means that the CPU will be idle most of the time (approximately 60 seconds out of a total of 64 seconds or 93.75%). Off-Line Operation

Introduction to Operating System Instead of letting the CPU read directly from the slow card reader, the cards were copied onto a magnetic tape. The CPU would then get its input from a magnetic tape drive (which is much faster than a card reader). In this case, the card reader and the line printer were operated off-line, not by the main computer. Off-Line Operation

Introduction to Operating System The main advantage of the off-line operation was that the main computer was no longer constrained by the speed of slow devices (card readers and line printers), but was limited by only the speed of the much faster devices (magnetic tape drives). Off-Line Operation

Introduction to Operating System Buffering is a method of overlapping the I/O of a job with its own computation. Buffering allows input devices to start transferring data to main memory while the CPU is busy processing a previous set of data. By the time the CPU is finished, it can immediately start processing the new batch of data. Buffering

Introduction to Operating System Buffering is also applicable to output devices. In this case, the CPU creates data which is put into a buffer until an output device can accept it. Buffering is generally an operating system function. Buffering

Introduction to Operating System If the CPU is, on the average, much faster than an input device, buffering is of little use. For I/O-bound jobs (the amount of I/O relative to the computation, is very great), the CPU will always find an empty buffer and have to wait for an input device. For output, the CPU can proceed at full speed until, eventually, all system buffers are full. Buffering

Introduction to Operating System For CPU-bound jobs (the amount of computation is so high), the input buffers are always full and the output buffers are always empty. In other words, the CPU cannot keep up with the I/O devices. Buffering

Introduction to Operating System Although off-line preparation of jobs continued for some time, it was quickly replaced in most systems because disk drive systems (which are much faster than magnetic tape drives) became widely available and greatly improved on off-line operation. Spooling (Simultaneous Peripheral Operation On-Line) essentially uses the disk as a very large buffer. Spooling

Introduction to Operating System When a job is executed, the operating system gets its input from the disk. Similarly, when the job requests the printer to output the line, the line is written to the disk. When the job is completed, the output is actually printed. Spooling

Introduction to Operating System Buffering overlaps the I/O of a job with its own computation. The advantage of spooling over buffering is that spooling overlaps the I/O of one job with the computation of other jobs. Example: The spooler may be reading the input of one job while printing the output of a different job. Spooling

Introduction to Operating System Multiprogramming increases CPU utilization by organizing jobs so that the CPU always has something to do. The idea of multiprogramming is as follows: 1.The operating system picks and begins to execute one of the jobs in the job pool. 2.Eventually, the job may have to wait for some task (such as an I/O operation) to complete. Multiprogramming

Introduction to Operating System 3.Instead to letting the CPU be idle, the operating system simply switches and executes another job. 4.Eventually, the first job finishes waiting and gets the CPU back. 5.As long as there is always some job to execute, the CPU will never be idle. Multiprogramming

Introduction to Operating System Time sharing or multitasking is a logical extension of multiprogramming. A time-shared operating system allows several users to share the computer simultaneously. Each user has a separate program in memory. The operating system allocates the CPU to each user for a time interval of up to one time quantum or time slice. As the system switches rapidly from one user to the next, each user is given the impression that he has his own computer, whereas actually one computer is being shared among many users. Time Sharing

Introduction to Operating System Time-sharing allows user to interact with the system (interactive, or hands-on computer). The user gives instructions to the operating system or to the program directly, and receives an immediate response. Usually, a keyboard is used to provide input, and a display screen is used to provide output. Time Sharing

Introduction to Operating System As hardware costs have decreased, it became feasible to have a computer system dedicated to a single user. These types of computer systems are usually referred to as personal computers, of just PCs. The operating systems for mainframes were quite different from those designed to work with personal computers. This is because some of the design decisions that were made in mainframe operating systems were not really appropriate for smaller systems. Personal Computer Systems

Introduction to Operating System In personal computers, the goals of the operating system have changed. Instead of trying to maximize CPU and peripheral utilization, the systems opt for user convenience and responsiveness. Initially, personal computer operating systems were neither multi-user nor multitasking. However, since more sophisticated hardware are coming out for personal computers, the features developed for a large mainframe system have moved to microcomputers, over time. Personal Computer Systems