OS 8th edition 02 ..............................................

104 244 0
OS 8th edition 02 ..............................................

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

OS 8th edition 02 OS 8th edition 02 OS 8th edition 02 OS 8th edition 02 OS 8th edition 02 OS 8th edition 02 OS 8th edition 02 OS 8th edition 02 OS 8th edition 02 OS 8th edition 02 OS 8th edition 02 OS 8th edition 02 OS 8th edition 02 OS 8th edition 02 OS 8th edition 02 OS 8th edition 02 OS 8th edition 02 OS 8th edition 02 OS 8th edition 02 OS 8th edition 02 OS 8th edition 02 OS 8th edition 02 OS 8th edition 02 OS 8th edition 02 OS 8th edition 02 OS 8th edition 02 OS 8th edition 02 OS 8th edition 02 OS 8th edition 02 OS 8th edition 02 OS 8th edition 02 OS 8th edition 02 OS 8th edition 02 OS 8th edition 02 OS 8th edition 02 OS 8th edition 02

PART ONE Chapter 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 • OVERVIEW Introduction What Operating Systems Do Computer-System Organization Computer-System Architecture 12 Operating-System Sh·ucture 18 Operating-System Operations 20 Process Management 23 Memory Management 24 Storage Management 25 Chapter Operating-System Services 49 User Operating-System Interface System Calls 55 Types of System Calls 58 System Programs 66 Operating-System Design and Implementation 68 2.7 Operating-System Structure 70 PART TWO 3.1 3.2 3.3 3.4 3.5 Protection and Security 29 Distributed Systems 30 Special-Purpose Systems 32 Computing Environments 34 Open-Source Operating Systems Summary 40 Exercises 42 Bibliographical Notes 46 2.8 2.9 2.10 2.11 2.12 Virtual Machines 76 Operating-System Debugging Operating-System Generation System Boot 89 Summary 90 Exercises 91 Bibliographical Notes 97 37 System Structures 2.1 2.2 2.3 2.4 2.5 2.6 Chapter 1.9 1.10 1.11 1.12 1.13 1.14 • 52 84 88 PROCESS MANAGEMENT Process Concept Process Concept 101 Process Scheduling 105 Operations on Processes 110 Interprocess Communication 116 Examples of IPC Systems 123 3.6 Communication in ClientServer Systems 128 3.7 Summary 140 Exercises 141 Bibliographical Notes 152 XV xvi Chapter Multithreaded Programming 4.1 4.2 4.3 4.4 Overview 153 Multithreading Models Thread Libraries 159 Threading Issues 165 157 4.5 Operating-System Examples 4.6 Summary 174 Exercises 174 Bibliographical Notes 181 171 5.6 Operating System Examples 5.7 Algorithm Evaluation 213 5.8 Summary 217 Exercises 218 Bibliographical Notes 222 206 Chapter Process Scheduling 5.1 5.2 5.3 5.4 5.5 Basic Concepts 183 Scheduling Criteria 187 Scheduling Algorithms 188 Thread Scheduling 199 Multiple-Processor Scheduling 200 PART THREE Chapter 6.1 6.2 6.3 6.4 6.5 6.6 • PROCESS COORDINATION Synchronization 6.7 6.8 6.9 6.10 Backgrmmd 225 The Critical-Section Problem 227 Peterson's Solution 229 Synchronization Hardware 231 Semaphores 234 Classic Problems of Synchronization 239 Monitors 244 Synchronization Examples 252 Atomic Transactions 257 Summary 267 Exercises 267 Bibliographical Notes 280 Chapter Deadlocks 7.1 7.2 7.3 7.4 7.5 System Model 283 Deadlock Characterization 285 Methods for Handling Deadlocks Deadlock Prevention 291 Deadlock Avoidance 294 PART FOUR • 290 7.6 Deadlock Detection 301 7.7 Recovery from Deadlock 304 7.8 Summary 306 Exercises 307 Bibliographical Notes 310 MEMORY MANAGEMENT Chapter Memory-Management Strategies 8.1 8.2 8.3 8.4 8.5 Background 315 Swapping 322 Contiguous Memory Allocation 324 Paging 328 Structure of the Page Table 337 8.6 Segmentation 342 8.7 Example: The Intel Pentium 345 8.8 Summary 349 Exercises 350 Bibliographical Notes 354 xvii Chapter 9.1 9.2 9.3 9.4 9.5 9.6 9.7 Virtual-Memory Management Background 357 Demand Paging 361 Copy-on-Write 367 Page Replacement 369 Allocation of Frames 382 Thrashing 386 Memory-Mapped Files 390 PART FIVE Chapter 10 10.1 10.2 10.3 10.4 10.5 File System 13.1 13.2 13.3 13.4 13.5 458 11.7 11.8 11.9 11.10 Recovery 486 NFS 490 Example: The WAFL File System 496 Summary 498 Exercises 499 Bibliographical Notes 502 Secondary-Storage Structure 12.1 Overview of Mass-Storage Structure 505 12.2 Disk Structure 508 12.3 Disk Attachment 509 12.4 Disk Scheduling 510 12.5 Disk Man.agement 516 12.6 Swap-Space Management 520 Chapter 13 10.6 Protection 451 10.7 Summary 456 Exercises 457 Bibliographical Notes Implementing File Systems File-System Structure 461 File-System Implementation 464 Directory Implementation 470 Allocation Methods 471 Free-Space Management 479 Efficiency and Performance 482 Chapter 12 Allocating Kernel Memory 396 Other Considerations 399 Operating-System Examples 405 Summary 407 Exercises 409 Bibliographical Notes 416 STORAGE MANAGEMENT File Concept 421 Access Methods 430 Directory and Disk Structure 433 File-System Mounting 444 File Sharing 446 Chapter 11 11.1 11.2 11.3 11.4 11.5 11.6 • 9.8 9.9 9.10 9.11 12.7 12.8 12.9 12.10 RAID Structure 522 Stable-Storage Implementation 533 Tertiary-Storage Struchue 534 Summary 543 Exercises 545 Bibliographical Notes 552 I/0 Systems Overview 555 I/0 Hardware 556 Application I/0 Interface 565 Kernel I/0 Subsystem 571 Transforming I/0 Requests to Hardware Operations 578 13.6 STREAMS 580 13.7 Performance 582 13.8 Summary 585 Exercises 586 Bibliographical Notes 588 xviii PART SIX Chapter 14 14.1 14.2 14.3 14.4 14.5 14.6 PROTECTION AND SECURITY System Protection Goals of Protection 591 Principles of Protection 592 Domain of Protection 593 Access Matrix 598 Implementation of Access Matrix Access Control 605 Chapter 15 15.1 15.2 15.3 15.4 15.5 15.6 15.7 • 14.7 14.8 14.9 14.10 602 System Security The Security Problem 621 15.8 Computer-Security Classifications 662 Program Threats 625 15.9 An Example: Windows XP 664 System and Network Threats 633 Cryptography as a Security Tool 638 15.10 Summary 665 Exercises 666 User Authentication 649 Implementing Security Defenses 654 Bibliographical Notes 667 Firewalling to Protect Systems and Networks 661 PART SEVEN Chapter 16 • DISTRIBUTED SYSTEMS Distributed Operating Systems 16.1 Motivation 673 16.2 Types of Networkbased Operating Systems 675 16.3 Network Structure 679 16.4 Network Topology 683 16.5 Communication Structure 684 16.6 Communication Protocols 690 Chapter 17 17.1 17.2 17.3 17.4 17.5 16.7 16.8 16.9 16.10 Robustness 694 Design Issues 697 An Example: Networking 699 Summary 701 Exercises 701 Bibliographical Notes 703 Distributed File Systems Background 705 Naming and Transparency 707 Remote File Access 710 Stateful versus Stateless Service 715 File Replication 716 Chapter 18 18.1 18.2 18.3 18.4 18.5 Revocation of Access Rights 606 Capability-Based Systems 607 Language-Based Protection 610 Surnmary 615 Exercises 616 Bibliographical Notes 618 17.6 An Example: AFS 718 17.7 Summary 723 Exercises 724 Bibliographical Notes 725 Distributed Synchronization Event Ordering 727 Mutual Exclusion 730 Atomicity 733 Concurrency Control 736 Deadlock Handling 740 18.6 Election Algorithms 747 18.7 Reaching Agreement 750 18.8 Summary 752 Exercises 753 Bibliographical Notes 754 xix PART EIGHT Chapter 19 19.1 19.2 19.3 19.4 • SPECIAL PURPOSE SYSTEMS Real-Time Systems Overview 759 System Characteristics 760 Features of Real-Time Kernels 762 Implementing Real-Time Operating Systems 764 Chapter 20 Multimedia Systems 20.1 What Is Multimedia? 779 20.2 Compression 782 20.3 Requirements of Multimedia Kernels 784 20.4 CPU Scheduling 786 20.5 Disk Scheduling 787 PART NINE Chapter 21 21.1 21.2 21.3 21.4 21.5 21.6 21.7 22.1 22.2 22.3 22.4 22.5 CASE STUDIES The Linux System 21.8 21.9 21.10 21.11 21.12 Input and Output 834 Interprocess Communication Network Structure 838 Security 840 Summary 843 Exercises 844 Bibliographical Notes 845 837 Windows XP History 847 Design Principles 849 System Components 851 Environmental Subsystems File System 878 Chapter 23 23.1 23.2 23.3 23.4 23.5 23.6 23.7 23.8 • 20.6 Network Management 789 20.7 An Example: CineBlitz 792 20.8 Summary 795 Exercises 795 Bibliographical Notes 797 Linux History 801 Design Principles 806 Kernel Modules 809 Process Management 812 Scheduling 815 Memory Management 820 File Systems 828 Chapter 22 19.5 Real-Time CPU Scheduling 768 19.6 An Example: VxWorks 5.x 774 19.7 Summary 776 Exercises 777 Bibliographical Notes 777 874 22.6 Networking 886 22.7 Programmer Interface 892 22.8 Sum.mary 900 Exercises 900 Bibliographical Notes 901 Influential Operating Systems Feature Migration 903 Early Systems 904 Atlas 911 XDS-940 912 THE 913 RC 4000 913 CTSS 914 MULTICS 915 23.9 23.10 23.11 23.12 IBM OS/360 915 TOPS-20 917 CP/M and MS/DOS 917 Macintosh Operating System and Windows 918 23.13 Mach 919 23.14 Other Systems 920 Exercises 921 XX Chapter A A1 A2 A3 A.4 AS A6 BSD UNIX UNIX History Design Principles Programmer Interface User Interface 15 Process Management 18 Memory Management 22 A7 AS A9 AlO File System 25 I/0 System 32 Interprocess Communication Summary 40 Exercises 41 Bibliographical Notes 42 Appendix B The Mach System B.l B.2 B.3 B.4 B.S B.6 History of the Mach System Design Principles System Components Process Management Interprocess Conununication 13 Memory Management 18 B.7 Programmer Interface 23 B.S Summary 24 Exercises 25 Bibliographical Notes 26 Credits 27 Appendix C Windows 2000 C.1 C.2 C.3 C.4 C.S History Design Principles System Components Enviromnental Subsystems File System 22 Bibliography Credits Index 941 943 923 19 C.6 Networking 28 C.7 Programmer Interface 33 C.S Summary 40 Exercises 40 Bibliographical Notes 41 35 Part One An operating system acts as an intermediary between the user of a computer and the computer hardware The purpose of an operating system is to provide an environment in which a user can execute programs in a convenient and efficient manner An operating system is software that manages the computer hardware The hardware must provide appropriate mechanisms to ensure the correct operation of the computer system and to prevent user programs from interfering with the proper operation of the system Internally, operating systems vary greatly in their makeup, since they are organized along many different lines The design of a new operating system is a major task It is impmtant that the goals of the system be well defined before the design begins These goals form the basis for choices among various algorithms and strategies Because an operating system is large and complex, it must be created piece by piece Each of these pieces should be a well delineated portion of the system, with carefully defined inputs, outputs, and functions CH ER An is a program that manages the computer hardware It also provides a basis for application programs and acts as an intermediary between the computer user and the computer hardware An amazing aspect of operating systems is how varied they are in accomplishing these tasks Mainframe operating systems are designed primarily to optimize utilization of hardware Personal computer (PC) operating systems support complex games, business applications, and everything in between Operating systems for handheld computers are designed to provide an environment in which a user can easily interface with the computer to execute programs Thus, some operating systems are designed to be convenient, others to be efficient, and others some combination of the two Before we can explore the details of computer system operation, we need to know something about system structure We begin by discussing the basic functions of system startup, I/0, and storage We also describe the basic computer architecture that makes it possible to write a functional operating system Because an operating system is large and complex, it must be created piece by piece Each of these pieces should be a well-delineated portion of the system, with carefully defined inputs, outputs, and functions In this chapter, we provide a general overview of the major components of an operating system To provide a grand tour of the major components of operating systems To describe the basic organization of computer systems 1.1 We begin our discussion by looking at the operating system's role in the overall computer system A computer system can be divided roughly into Chapter compiler assembler text editor database system operating system Figure 1.1 Abstract view of the components of a computer system four components: the hardware/ the operating system, the application programs/ and the users (Figure 1.1) The hardwa.te-the the and the [...]... improvements are made possible by (SAJ·~Is), as described in Section 12.3.3, which allow many systems to attach to a pool of storage If the applications and their data are stored on the SAN, then the cluster software can assign the application to run on any host that is attached to the SAN If the host fails, then any other host can take over In a database cluster, dozens of hosts can share the same... data to reside in main ncemory permanently This arrangement usually is not possible for the following two reasons: Main memory is usually too small to store all needed programs and data permanently Main memory is a volatile storage device that loses its contents when power is turned off or otherwise lost as an extension Thus, most computer systems provide of main memory The main requirement for secondary... memory is too small to accommodate all data and programs, and because the data that it holds are lost when power is lost, the computer system must provide secondary storage to back up main memory Most modern computer systems use disks as the principal on-line storage medium for both programs and data Most programs-including compilers, assemblers, word processors, editors, and formatters-are stored... comm"Lmicate closely enough to provide the illusion that only a single operating system controls the network We cover computer networks and distributed systems in Chapters 16 through 18 32 Chapter 1 1.11 The discussion thus far has focused on the general-purpose computer systems that we are all familiar with There are, however, other classes of computer systems whose functions are more limited and whose objective... addition to differing in speed and cost, the various storage systems loses are either volatile or nonvolatile As mentioned earlier, its contents when the power to the device is removed In the absence of expensive battery and generator backup systems, data must be written to for safekeeping In the hierarchy shown in Figure 1.4, the the electronic disk are volatile, whereas those below 1.3 15 Figure 1.6 Symmetric... include parallel clusters and clustering over a wide-area network (WAN) (as described in Section 1.10) Parallel clusters allow multiple hosts to access the same data on the shared storage Because most operating systems lack support for simultaneous data access by multiple hosts, parallel clusters are usually accomplished by use of special versions of software and special releases of applications For example,... important In 1998, the United States Deparhnent of Justice filed suit against Microsoft, in essence claiming that Microsoft included too much functionality in its operating systems and thus prevented application vendors from competing For example, a Web browser was an integral part of the operating systems As a result, Microsoft was found guilty of using its operating-system monopoly to limit competition... structure The section is mostly concerned 1.2 7 THE STUDY OFOPERATING SYSTEMS There has neverbeenarnore interestirighnwtostudyoperating systems:· and it has neverb.een.e~sier.Theopen-sourc;e movernent has overtaken operating systems, caJ.tsing marly ofthenctobemadeavailable in both source and binary (e~ecuta]Jle) fonnat.·.This Iistindud~~Linu)(, BSDUNIX/Solat•is,and part of• ]\II~cos.x Th~availa~ilityqf·source.code.q,llowsus.tostudyoperq,til}.gsy?tems... Various replacement algorithms for software-controlled caches are discussed in Chapter 9 Typical size

Ngày đăng: 31/05/2016, 09:33

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan