* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download 4th Edition: Chapter 1
Survey
Document related concepts
Transcript
Introduction What is an Operating System What Operating Systems Do How is it filling our life Lecture 1 1-1 What is an Operating System? “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 Use the computer hardware in an efficient manner Make the computer system convenient to use Lecture 1 1-2 What is a Computer System? Computer system structure can be divided into four components: Hardware – provides basic computing resources • CPU, memory, I/O devices Application programs – define the ways in which the system resources are used to solve the computing problems of the users • Word processors, compilers, web browsers, database systems, video games Users • People, machines, other computers Operating system – “the manager of the above three” • Controls and coordinates use of hardware among various applications and users Lecture 1 1-3 Computer System and how OS fits into it Lecture 1 1-4 Operating System Definition From system point of view: 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 Lecture 1 1-5 How OS evolved Mainframe Systems One of the earliest computer systems Huge computers Very simple systems Can process one job after another Jobs were fed with punch cards Operators sort jobs into batches Also known as Batch Systems Image courtesy: http://en.wikipedia.org/wiki/File:Ibm704.gif Mainframe systems have severe efficiency problem WHY? Lecture 1 1-6 Mainframe OS – severe disadvantages Mainframe Systems Process one job after another Jobs were fed with punch cards CPU works in microseconds range I/O system very slow Approx. 1200 cards/min. 20 cards/sec. CPU is almost always idle!!! Image courtesy: http://en.wikipedia.org/wiki/File:Ibm704.gif It was needed to keep multiple jobs ready so that CPU does not become idle…how? Introduction of disk technology changed the complete OS history Lecture 1 1-7 Multiprogrammed Systems Multiprogramming needed for efficiency Single user cannot keep CPU and I/O devices busy at all times Multiprogramming organizes jobs (code and data) so CPU always has one to execute How to achieve this? Disk technology helped us to keep multiple jobs in job pool (Disk) A subset of total jobs in system is kept in memory One job selected and executed When it has to wait (I/O for example), OS switches to another job Multiprogrammed introduced two novel challenges Job scheduling Memory management Lecture 1 1-8 Time-Sharing Systems Time-sharing systems are logical extension of multiprogrammed systems Also known as multitasking Each user has at least one program executing in memory process CPU switches jobs so frequently that users can interact with each job while it is running, creating interactive computing Response time should be < 1 second If several jobs ready to run at the same time CPU scheduling If processes don’t fit in memory, swapping moves them in and out to run Virtual memory allows execution of processes not completely in memory Lecture 1 1-9 Multiprocessor Systems Most systems use a single general-purpose processor (PDAs through mainframes) Multiprocessor systems growing in use and importance Also known as parallel systems, tightly-coupled systems Advantages include 1. Increased throughput 2. Economy of scale 3. Increased reliability – graceful degradation or fault tolerance Two types 1. Asymmetric Multiprocessing 2. Symmetric Multiprocessing Lecture 1 1-10 Symmetric Multiprocessing Architecture Lecture 1 1-11 A Dual-Core Design Lecture 1 1-12 Shift to Distributed Systems Client-Server Computing Distributed systems over the network Many systems now servers, responding to requests generated by clients Compute-server provides an interface to client to request services (i.e. database) File-server provides interface for clients to store and retrieve files Lecture 1 1-13 Peer-to-Peer Systems Another model of distributed system P2P does not distinguish clients and servers Instead all nodes are considered peers May each act as client, server or both Node must join P2P network • Registers its service with central lookup service on network, or • Broadcast request for service and respond to requests for service via discovery protocol Examples include Napster and bitTorrent Lecture 1 1-14 Change in Computing Environments Traditional computing Office environment • Earlier, PCs connected to a network, terminals attached to mainframe or minicomputers providing batch and timesharing • Now, portals allowing networked and remote systems access to same resources Home networks • Earlier, used to be single system, then modems • Now, firewalled, networked Lecture 1 1-15