* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download Lec01b-OS Overview
Survey
Document related concepts
Transcript
COMP 3500 Introduction to Operating Systems Overview Dr. Xiao Qin Auburn University http://www.eng.auburn.edu/~xqin [email protected] 1 Slides adopted from Drs. Abraham Silberschatz, Peter B. Galvin, and Greg Gagne Four Components of a Computer System 2 Exercise 1: What are operating system goals? • A program that acts as an intermediary between a user of a computer and the computer hardware • Operating system goals: – Execute user programs and make solving user problems easier – Make the computer system convenient to use – Use the computer hardware in an efficient manner 3 Exercise 2: What do users and mainframes want from operating systems, respectively? • • • • • • • 4 Convenience Resource utilization Ease of use Fast throughput Short response time Low cooling cost Long battery life What an operating systems does? • Users want convenience, ease of use and good performance – Don’t care about resource utilization • But shared computer such as mainframe or minicomputer must keep all users happy • Users of dedicate systems such as workstations have dedicated resources but frequently use shared resources from servers • Handheld computers are resource poor, optimized for usability and battery life • Some computers have little or no user interface, such as embedded computers in devices and automobiles 5 System View: Operating System Definition • OS is a resource allocator – Manages all resources – Decides between conflicting requests for efficient and fair resource use • OS is a control program – Controls execution of programs to prevent errors and improper use of the computer 6 Operating System Definition (Cont.) • No universally accepted definition • “Everything a vendor ships when you order an operating system” is a good approximation – But varies wildly • “The one program running at all times on the computer” is the kernel. • Everything else is either 7 – a system program (ships with the operating system) , or – an application program. Computer System Organization • One or more CPUs, device controllers connect through common bus providing access to shared memory • Concurrent execution of CPUs and devices competing for memory cycles 8 Key Interfaces • Application programming interface (API) • Application binary interface (ABI) • Instruction set architecture (ISA) – COMP4300 (e.g., add $d,$s,$t) 9 How do you startup a computer? • bootstrap program is loaded at power-up or reboot – Typically stored in ROM or EPROM, generally known as firmware – Initializes all aspects of system – Loads operating system kernel and starts execution 10 Common Functions of Interrupts • Interrupt transfers control to the interrupt service routine through the interrupt vector • Interrupt architecture must save the address of the interrupted instruction • A trap or exception is a software-generated interrupt caused either by an error or a user request 11 Explain the Interrupt Timeline A single process is doing output 12 Evolution of Operating Systems What are the reasons for an OS to evolve over time? Stages include: Time Sharing Multiprogrammed Systems Batch Systems Simple Batch Systems Serial Processing 13 Serial Processing Earliest Computers: Problems: • No operating system • Scheduling: • programmers interacted directly with the computer hardware • Computers ran from a console with display lights, toggle switches, some form of input device, and a printer • Users have access to the computer in “series” 14 – most installations used a hardcopy sign-up sheet to reserve computer time – time allocations could run short or long, resulting in wasted computer time • Setup time – Long system setup time: A considerable amount of time was spent just on setting up the program to run Exercise 3: How to reduce the long system setup time of a serial processing system? (Please use one short sentence to describe your solution.) 15 Simple Batch Systems • Early computers were very expensive important to maximize processor utilization • Monitor user no longer has direct access to processor job is submitted to computer operator who batches them together and places them on an input device program branches back to the monitor when finished 16 Job Control Language (JCL) Special type of programming language used to provide instructions to the monitor what compiler to use what data to use 17 Exercise 4: What are problems with simple batch systems? • Under utilized CPU time • Non-interactivity of users with running jobs 18 (a) Uniprogramming Multiprogramming Program A Run Program B Wait Run Wait Run Wait Combined Run Run A B Wait Run Run A B Wait Wait Run Wait Time (b) Multiprogramming with two programs • There must be enough memory to hold the OS (resident monitor) and one user program Program A Run Run Wait • When one job needsWait to wait for I/O, the processor can switch to the other job, which is likely not waiting for I/O 19 Program B Wait Run Wait Run Wait Time-Sharing Systems • To handle multiple interactive jobs • Processor time is shared among multiple users • Multiple users simultaneously access the system through terminals, with the OS interleaving the execution of each user program in a short burst or quantum of computation 20 Exercise 5: If there are n users actively requesting service at one time, each user will only see on the average 1/ n of the effective computer capacity, not counting OS overhead. Why the response time on a time-sharing system can be similar to that on a dedicated computer? • Relatively slow human reaction time 21 Review • Basic organization of computer systems • Goals of operating systems • Evolution of Operating Systems – Batching – Multiprogramming – Multiprogramming 22