Khoa học máy tính - Chapter 3: Overview of operating systems
Evolution (continued)
Real-time operating systems
Priority-based scheduling and deadline-aware scheduling
Distributed operating system
Lets programs share resources across network
Modern operating system
Modern computing environment has elements of all the classic computing environments
Uses different techniques for different applications
35 trang |
Chia sẻ: nguyenlam99 | Lượt xem: 788 | Lượt tải: 0
Bạn đang xem trước 20 trang tài liệu Khoa học máy tính - Chapter 3: Overview of operating systems, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Chapter 3Overview of Operating SystemsCopyright © 20081Operating Systems, by Dhananjay Dhamdhere*IntroductionComputing Environments and Nature of ComputationsClasses of Operating SystemsEfficiency, System Performance, and User ServiceBatch Processing Systems2Operating Systems, by Dhananjay Dhamdhere*Introduction (continued)Multiprogramming SystemsTime-Sharing SystemsReal-Time Operating SystemsDistributed Operating SystemsModern Operating Systems3Operating Systems, by Dhananjay Dhamdhere*Computing Environments and Nature of ComputationsA computing environment consists of a computer system, its interfaces with other systems, and the services provided by its operating system to its users and their programsEvolution:Noninteractive Computing EnvironmentsInteractive Computing EnvironmentsReal-Time, Distributed, and Embedded EnvironmentsModern Computing Environments4Operating Systems, by Dhananjay Dhamdhere*Computing Environments and Nature of Computations (continued)Noninteractive Computing EnvironmentsOS focuses on efficient use of resourcesComputations in form of program or jobInteractive Computing EnvironmentsOS focuses on reducing average amount of time required to implement an interaction between a user and his computationExecution of a program is called a process5Operating Systems, by Dhananjay Dhamdhere*Computing Environments and Nature of Computations (continued)6Operating Systems, by Dhananjay Dhamdhere*Computing Environments and Nature of Computations (continued)Real-Time, Distributed, and Embedded EnvironmentsA real-time computation has specific time constraintsOS ensures computations complete within constraintsDistributed computing environment: enables a computation to use resources located in several computer systems through a networkEmbedded computing environment: computer system is a part of a specific hardware systemOS has to meet the time constraints arising from the nature of the system being controlled7Operating Systems, by Dhananjay Dhamdhere*Computing Environments and Nature of Computations (continued)Modern Computing EnvironmentsHas features of several of the computing environments described earlierOS uses complex strategies to manage user computations and resources8Operating Systems, by Dhananjay Dhamdhere*Classes of Operating Systems9Operating Systems, by Dhananjay Dhamdhere*Efficiency, System Performance, and User ServiceTwo of the fundamental goals of an OS:Efficiency of useOf a resourceUser convenienceMeasurable aspect: User serviceTurnaround timeResponse timeTo a system administrator, performance of a system in its environment is more importantTypically measured as throughput10Operating Systems, by Dhananjay Dhamdhere*Efficiency, System Performance, and User Service (continued)11Operating Systems, by Dhananjay Dhamdhere*Batch Processing SystemsBatch: sequence of user jobs formed for processing by the OSBatching kernel initiates processing of jobs without requiring computer operator’s interventionCard readers and printers were a performance bottleneck in the 1960sVirtual card readers and printers implemented through magnetic tapes were used to solve this problemControl statements used to protect against interference between jobsCommand interpreter read a card when currently executing program in job wanted the next card12Operating Systems, by Dhananjay Dhamdhere*13Operating Systems, by Dhananjay Dhamdhere*Multiprogramming SystemsProvide efficient resource utilization in a noninteractive environmentUses DMA mode of I/OCan perform I/O operations of some program(s) while using the CPU to execute some other programMakes efficient use of both the CPU and I/O devicesTurnaround time of a program is the appropriate measure of user service in these systems14Operating Systems, by Dhananjay Dhamdhere*Multiprogramming Systems (continued)15Operating Systems, by Dhananjay Dhamdhere*Multiprogramming Systems (continued)16Operating Systems, by Dhananjay Dhamdhere*Multiprogramming Systems(continued)An appropriate measure of performance of a multiprogramming OS is throughputRatio of the number of programs processed and the total time taken to process themOS keeps enough programs in memory at all times, so that CPU and I/O devices are not idleDegree of multiprogramming: number of programs Uses an appropriate program mix of CPU-bound programs and I/O-bound programsAssigns appropriate priorities to CPU-bound and I/O-bound programs17Operating Systems, by Dhananjay Dhamdhere*Priority of Programs18Operating Systems, by Dhananjay Dhamdhere*Priority of Programs (continued)In multiprogramming environments, an I/O-bound program should have a higher priority than a CPU-bound program.19Operating Systems, by Dhananjay Dhamdhere*Performance of Multiprogramming systems How to improve performance?20Operating Systems, by Dhananjay Dhamdhere*Performance of Multiprogramming systems (continued)When an appropriate program mix is maintained, an increase in the degree of multiprogramming would result in an increase in throughput.21Operating Systems, by Dhananjay Dhamdhere*Time-Sharing SystemsProvide a quick response to user subrequestsRound-robin scheduling with time-slicingKernel maintains a scheduling queueIf time slice (δ) elapses before process completes servicing of a subrequest, kernel preempts it, moves it to end of queue, and schedules another processImplemented through a timer interrupt22Operating Systems, by Dhananjay Dhamdhere*Time-Sharing Systems (continued)23Operating Systems, by Dhananjay Dhamdhere*Time-Sharing Systems (continued)Response time (rt): measure of user serviceIf processing of a subrequest requires δ CPU secondsrt = n × (δ + σ)η = δ / (δ + σ) where η: CPU efficiency, σ: scheduling overhead, n: number of users using system, δ: time required to complete a subrequestActual response time would be different becauseSome users may be inactiveSome programs may require > δ CPU seconds24Operating Systems, by Dhananjay Dhamdhere*Time-Sharing Systems (continued)25Operating Systems, by Dhananjay Dhamdhere*Swapping of ProgramsKernel performs swap-out and swap-in operations26Operating Systems, by Dhananjay Dhamdhere*Real-Time Operating SystemsIn real-time applications, users need computer to perform some actions in a timely mannerTo control activities in an external system, or to participate in themTimeliness depends on time constraintsIf application takes too long to respond to an activity, a failure can occur in the external systemResponse requirementDeadline: time by which action should be performed27Operating Systems, by Dhananjay Dhamdhere*Hard and Soft Real-Time SystemsA hard real-time system meets response requirements under all conditionsIt is typically dedicated to processing real-time applicationsA soft real-time system makes best effort to meet response requirement of a real-time applicationCannot guarantee that it will be able to meet itMeets requirements in a probabilistic mannerE.g., multimedia applications28Operating Systems, by Dhananjay Dhamdhere*Features of a Real-Time Operating System29Operating Systems, by Dhananjay Dhamdhere*Distributed Operating SystemsA distributed computer system consists of several individual computer systems connected through a networkEach computer system could be a PC, a multiprocessor system, or a clusterMany resources of a kind exist in systemThis feature is used to provide the benefits summarized in Table 3.8Handling network or individual computers’ failure requires special techniquesUsers must use special techniques to access resources over the network30Operating Systems, by Dhananjay Dhamdhere*Distributed Operating Systems (continued)31Operating Systems, by Dhananjay Dhamdhere*Special Techniques of Distributed Operating Systems32Operating Systems, by Dhananjay Dhamdhere*Modern Operating Systems33Operating Systems, by Dhananjay Dhamdhere*SummaryA computing environment consists of a computer system, its interfaces with other systems, and the services provided by its OS to users and programsEvolved with advances in computer technology:Batch processing systemsMultiprogramming operating systemPriority-based schedulingTime-sharing operating systemsRound-robin scheduling with time-slicing34Operating Systems, by Dhananjay Dhamdhere*Summary (continued)Evolution (continued)Real-time operating systemsPriority-based scheduling and deadline-aware schedulingDistributed operating systemLets programs share resources across networkModern operating system Modern computing environment has elements of all the classic computing environmentsUses different techniques for different applications35
Các file đính kèm theo tài liệu này:
- chapter_03_9337.ppt