作者:empty 页数:799 出版社:empty |
出版前言我们的大学生、研究生毕业后,面临的将是一个国际化的信息为科技工作者,他们不仅应有与国外同行进行头和书面交流的能力,更为重要的是,他们必须具备极强的查阅外文资料获取信息的能力。有鉴于此,在国家教委所颁布的“大学英语教学大纲”中有一条规定:专业阅读应作为必修课程开设。同时,在大纲中还规定了这门课程的学时和教学要求。有些高校除开设“专业阅读”课之外,还在某些专业课拟进行英语授课。但教、学双方都苦于没有一定数量的合适的英文原版教材作为教学参考书。为满足这方面的需要,我们挑选了7本计算机科学方面最新版本的教材,进行影印出版。首批影印出版的6本书受到广大读者的热情欢迎,我们深受鼓舞,今后还将陆续推出新书。希望读者继续给予大力支持。Prentice Hall公司和清华大学出版社这次合作将国际先进水平的教材引入我国高等学校,为师生们提供了教学用书,相信会对高校教材改革产生积极的影响。清华大学出版社
PREFACEOBJECTIVESThis book is about the concepts.structure.and mechanisms of operating sys.tems.Its purpose is to present.as clearly and completely as possible.thenature and characteristics of modern-day operating systemstremendous range and variety of computer systems for which operating systems are designed.These include single-user workstations and personal com-pul ers.medium-sized shared systems.large mainframe and supercomputers.and specialized machines such as real-time systems.The variety is not justinthe capacity and speed of machines.hut in applications and system supportrequirements.Second.the rapid pace of change that has always characte nz edz omputer systems continues with no let up.A number of key ar casino per-ating system design are of recent origin.and research into these and othernew areas continuesze pts apply consistently throughout.To be sure.the application of these conze pts depends on the current state of technology and the particularapplication requirements.The intent of this book is to provide a thoroughdiscussion of the fundamentals of operatingsystem design, and to relatethese to contemporary design issues and to current directions in the devel-a pment of operating systems.key mechanisms of modern operating systems, the types of design tradeoffsand decisions involved in OS design.and the context within which th co per-ating system functions(hardware, other syst cm programs.application pro.a rams.in tcr active users) .puters, workstations, and servers.As a new operatingsystem, it incorporatesin a clean fashion many of the latest developments in operatingsystem tech-nology.In addition, WindowsNT is one of the first important commercialoperating systems to rely heavily on objc ct-oriented design principles..UNIX:A multiuser operatingsystem, originally intended for minicomputers,but implemented on a wide range of machines from power lul microcomputersto supercomputers.The version emphasized in this book is SVR 4, which inc or-po rates many state-of thc-art t eatures., Solaris:The most widely used commercial version of UNIX.Solari includesmultithreading and other features notfound in SVR 4 and most other UNIXvariants.These three systems were chosen because of their relevance and representa.This book is intended for both an academic and a professional audience.As atextbook, it is intended as a one-semester undergraduate course in operating sys-temsforcomputerscience.computer eng inc cng, and s lectric al engine crn gmaj s.le covers the iop is in Sub ect Areas of the IEEE Model Prog anteComputer Science and Engineering and also covers the OS-related topics in CS6andCS10oftheACM Recommendations for the Undergraduate Program inComputer Science.The book also serves as a basic reference volume and is suit-able for self-study.This task is a challenging one for several reasons.First.there is aInspite of this variety and pace of change, certain fundamental conThe object is to provide the reader with a solid understanding of thevi PREFACEEXAMPLE SYSTEMSThis text is intended to acquaint the reader with the design priciples and imple-mentation issues of contemporary operating systems.Accordingly, a purely con-ceptual or theoretical treatment woud be inadequate.Toll ust rate the concepts andto tic them to real-world design choices that must be made.th rec operating systemshave been chosen as running examples:。WindowsNT:Asingle-user.multitaskingoperatingsystemforpersonalcom-tiveness.As with the technique used in the author's Computer Organization andArchitecture, the discussion of the example systems is distributed throughout thetext rather than assembled as as in le chapter or append x.Thus dum netta.arsion of concurrency, the concurrency mechanisms of each example systems aredescribed, and the motivation for the individual design choices is discussed.Withthis approach.the design concepts discussed in a gien chapter are immediately re in-forced with real-world examples.
PART ONE BACKGROUND, 1
Chapter 1
Chapter 2 OperatingSystem Overview, 45
CONTENTS
Computer System Overview, 3
Appendix 1A
Appendix 1HProcedurc Control.4]
Basic Elc ments, 3
Pra cessor Registers、4
Ins true tion Execution, 7
In tcr zu pts, J 0
The Memory Hierarchy . 21
Cach cMc mory. 24
tO Communication Techniques, 28
Recommended Reading . 31
Problems, 32
of Two-Level Memory、34
Performance Characteristics
OperatingSystem Objectives and Functions . 45
The Evolution of Operating Sys Lems, 50
Major Achievements . 60
Characteristics of Modem Operating Systems . 71
WindowsNT Overview . 74
Traditional UNIX Systems, 85
Modern UNIX Syst cms. 88
Outline of the Remainder of the Book . 90
UNIX SVR 4 Process Management . 135
Summa iy. 140
Recommended Reading, 141
Problems, 141
Processes and Threads, 145
Symmetric Multiprocessing(SMP) , 160
Microkernel s、163
Sol uris Thread and SMP Management, 170
WindowsNT Thread and SMP Management, 176
Summary, 182
Rc commended Reading . 183
Prob lens, 183
Principles of Concurrency, 188
Mutual Exclusion:Software Approaches . 197
Mutual Exel usion:Hardware Support . 204
Semaphores, 208
Monitors, 222
Message Passing . 230
ReadersWriters Problem, 237
Summary、242
Recommended Reading . 242
MEMORY, 287
Mc mory Management Requirements, 289
Memory Partitioning . 292
Paging, 304
Segmentation, 307
Summary, 309
Recommended Reading . 309
Concurrency:Mutual Exclusion and Synchronization, 187
5.10Problems . 243
Cone urrency:Deadlock And Starvation, 253
6.1Principles of Deadlock, 253
6.2Deadlock Prevention . 260
6.3Deadlock Avoidance . 262
6.4Deadlock Detection.26f
6.5An Integrated Deadlock Strategy . 269
6.6Dining Philosophers Probl cm, 270
6.7UNIX Concur Tency Mechanisms . 271
6.8Solaris Thread Synchronization Primitives . 275
6.9WindowsNT Concur rene y Mechanisms . 278
6.10Summary, 279
6.11Recommended Reading . 281
6.12Problems, 281
7.7Problems, 310
Appendix 7A Loading and Linking . 311
8.1Hardware and Control Structures . 320
一Opc rating System Software . 339UNIX and Solaris Memory Managemen l, 360WindowsNT Memory Management, 365
8.5Summary, 368
8.6Recommended Reading, 369
8.7Problems . 369
Appendix 8A HashTable s. 372
9.1Types of Scheduling . 380
9.2Scheduling Algorithms . 384
9.3Traditional UNIX Scheduling . 406
4.4Summary . 408
9.5Recommended Reading . 409
CONTENTS xiii
Chapter 7 Memory Management, 289
Chapter 8Virtual Memory, 319
PART FOURSCHEDULING, 377
Chapter 9Uniprocessor Sched uing, 379
Problem 5, 409
Appendix 9A Response Time . 413
10.1MultiprocessorS e he duling, 417
10.2Real-Time Scheduling, 429
10.3UNIX SVR 4 Scheduling . 442
10.4WindowsNT Scheduling . 444
10.5Summary . 446
10.6Recommended Reading, 447
10.7Proble rns, 447
11.11O Devices, 451
Chapter 10 Multiprocessor and Real-Time Scheduling . 417
PART FIVEINPUTOUTPUT AND FILES, 449
Chapter 11IO Management and Disk Scheduling, 451
Chapter 12 FileManager nent, 501
PART SIXDISTRIBUTED SYSTEMS, 539
Organization of the IO Function, 453
Operating Syst cm Design Issues, 456
IO Buffering . 460
Disk Scheduling . 463
RAID. 471
Disk Cache, 479
11.8UNIXSVR4IO. 482
11.9 WindowsNT IO, 486
11.10 Summary, 488
11.11 Recommended Reading . 489
11.12 Problems . 490
Appendix II ADisk Storage Devices, 492
12.1Overview, 501
12.2Fil c Organization, 507
12.3File Directories, 512
12.4FileSharing . 515
12.5Record Blocking . 518
12.6Secondary Storage Management . 579
12.7GNIX File Management, 527
12.8WindowsNT FileSys tcm, 529
12.9Summary, 535
12.10 Recommended Reading . 535
12.11 Problems, 539
Chapter 13 Distributed Processing, ClientServer, and Clusters, 543
Chapter 14 Distributed Process Management, 585
PARTS EVENSECURITY, 623
Chapter 15 Security, 625
The Need for a Protocol Architecture, 544
The TCPIP Protocol Suite, 545
The OSI Protocol Architecture, 553
ClientServer Computing . 553
Distributed Message Passing, 565
Remote Procedure Calls, 569
Clusters, 573
13.8WindowsNT Wolfpack, 577
13.9SolarisMC, 579
13.10 Summary, 582
13.11 Recomme