Modern Operating Systems(4th) 英文无水印pdf 第4版 pdf所有页面使用FoxitReader和PDF-XChangeViewer测试都可以打开 本资源转载自网络,如有侵权,请联系上传者或csdn删除 本资源转载自网络,如有侵权,请联系上传者或csdn删除TrademarksAMD, the amd logo and combinations thereof are trademarks of advanced micro devices IncAndroid and Google web Search are trademarks of google IncApple and Apple macintosh are registered trademarks of Apple IncASM, DESPOOL, DDT, LINK-80, MAC, MP/M, PL/1-80 and SID are trademarks of DigitalResearchBlackBerry, RIMB, Research In Motion and related trademarks, names and logos are theproperty of Research In Motion Limited and are registered and/or used in the U.s.and countries around the worldBlu-ray DiscTM is a trademark owned by Blu-ray Disc AssociationCD Compact Disk is a trademark of PhillipsCDC 6600 is a trademark of Control Data CorporationCP/M and cP/net are registered trademarks of digital researchDEC and PDP are registered trademarks of Digital Equipment Corporatione Cos Centric is the owner of the eCos Trademark and eCos logo, in the us and other countries. TheLogo were previously owned by Red Hat are Foundation on 26th February 2007. The Trademark andmarks were acquired from the Free SoftwThe gnome logo and gnome name are registered trademarks or trademarks of gnome foundationin the united states or other countriesFirefox and Firefox OS are registered trademarks of the mozilla foundationFortran is a trademark of IBM CorpFreeBSD is a registered trademark of the FreeBSD FoundationGE 645 is a trademark of General Electric CorporationIntel Core is a trademark of Intel Corporation in the U.S. and/or other countriesJava is a trademark of Sun Microsystems, Inc, and refers to Suns Java programming languageLinux@ is the registered trademark of Linus Torvalds in the U.S. and other countriesMS-DOS and Windows are registered trademarks of Microsoft Corporation in the United States and/orother countriesTI Silent 700 is a trademark of Texas Instruments IncorporatedUNIX is a registered trademark of The Open GroupZilog and Z80 are registered trademarks of Zilog, Inc.MODERNOPERATING SYSTEMSFOURTH EDITIONANDREW S. TANENBAUMHErbert BOSVrije universiteitAmsterdam The NetherlandsPEARSONBoston Columbus Indianapolis New York San Francisco Upper Saddle riverAmsterdam Cape Town dubai London Madrid Milan munich Paris Montreal torontoDelhi Mexico City Sao Paulo Sydney Hong Kong Seoul Singapore Taipei TokyoVice President and editorial Director ECS: Marcia hortonExecutive Editor: Tracy JohnsonPrograIn Management TeaIn Lead: Scott DisannoProgram Manager: Carole SnyderProject Manager Camille TrentacosteOperations Specialist: Linda sagerCover Design: Black Horse DesignsCover art: Jason consalvoMedia project Manager: Renata ButeraCopyright C 2015, 2008 by Pearson Education, Inc, Upper Saddle river, New Jersey, 07458Pearson Prentice-Hall. All rights reserved. Printed in the United States of America. This publicationiS protected by Copyright and permission should be obtained from the publisher prior to anyprohibited reproduction, storage in a retrieval system, or transmission in any form or by anymeans,electronic, mechanical, photocopying, recording, or likewise. For information regardingpermission(s), write to: Rights and Permissions departmentPearson Prentice halltm is a trademark of pearson education IncPearson is a registered trademark of Pearson plcPrentice Hall@ is a registered trademark of Pearson Education, IncLibrary of Congress Cataloging-in-Publication DataOn filePEARSONISBN-10:0-13-359162XISBN-13:978-0-13-359162-0To Suzanne, Barbara, Daniel, Aron, Nathan, Marvin, Matilde, and oliviaThe list keeps growing. (AST)To Marieke, Duko, Jip, and Spot Fearsome Jedi, all(HBThis page intentionally left blankCONTENTSPREFACEXXIITRODUCTION1.1 WHAT IS AN OPERATING SYSTEM 31. 1. I The Operating System as an Extended Machine 41. 1. 2 The Operating System as a Resource Manager 51.2 HISTORY OF OPERATING SYSTEMS 61.2.1 The First Generation(1945-55): Vacuum Tubes 71. 2. 2 The Second Generation(1955-65): Transistors and Batch Systems 81. 2.3 The Third Generation(1965-1980): ICS and Multiprogramming 91. 2.4 The Fourth Generation(1980-Present): Personal Computers 141. 2.5 The Fifth Generation(1990-Present): Mobile Computers 191. 3 COMPUTER HARDWARE REVIEW 201. 3.1 Processors 211.3.2 Memory 241. 3. 3 Disks 271.3410 Dev ices 281. 3.5 Buses 3 11.3.6 Booting the Computer 34vIllCONTENTS1 4 THE OPERATING SYSTEM ZOO 351.4.1 Mainframe Operating Systems 351.4.2 Server Operating Systems 351.4.3 Multiprocessor Operating Systems 361. 4.4 Personal Computer Operating Systems 361. 4.5 Handheld Computer Operating Systems 361.4.6 Embedded Operating Systems 361.4.7 Sensor-Node Operating systems 371. 4.8 Real-Time Operating Systems 371. 4.g Smart Card Operating Systems 381.5 OPERATING SYSTEM concePts 381. 5.1 Processes 391.5.2 Address Spaces 411.5.3 Files 411.5 4 Input/Output 451.5.5 Protection 4515.6 The shell 451.5.7 Ontogeny Recapitulates Phy logeny 466 SYSTEM CALLS 501.6. 1 System Calls for Process Management 531.6.2 System Calls for File Management 561.6.3 System Calls for Directory Management 571. 6.4 Miscellaneous System Calls 5916.5 The Windows win 32 API 601.7 OPERATING SYSTEM STRUCTURE 621.7.1 Monolithic Systems 621.7.2 Layered Systems 631.7.3 Microkernels 651.7 4 Client-Server Model 681. 7.5 Virtual machines 681.7.6 Exokernels 721. 8 THE WORLD ACCORDING TOC 731. 8. The c language 731. 8.2 Header files 741. 8.3 Large Programming Projects 751. 8 4 The Model of run time 76CONTENTS1.9 RESEARCH ON OPERATING SYSTEMS 771.10 OUTLINE OF THE REST OF THIS BOoK 7811 METRIC UNITS 7912 SUMMARY 802 PROCESSES AND THREADS852.1 PROCesSes 852. 1. 1 The Proccss model 862.1.2 Process creation 882. 1. 3 Process Termination 902. 1 4 Process hierarchies 912.1.5 Proccss States 922.1.6 Implementation of processes 942.1.7 Modeling multiprogramming 952.2 THREADS 972.2.1 Thread Usage 972.2.2 Thc Classical Thread Model 1022. 2 3 POSIX Threads 1062.2.4 Implementing Threads in Uscr Spacc 1082.2.5 Implementing Threads in the Kernel 1112.2.6 Hybrid Implementations 1122.2.7 Scheduler activations 1 132. 8 Pop-Up Threads 1142.2.9 Making single-Threaded Code Multithreaded 1152.3 INTERPROCESS COMMUNICATION 11923. 1 Race Conditions 1193.2 Critical Regions 12123.3 Mutual Exclusion with Busy Waiting 1212.3.4 Sleep and Wakeup 1272.3.5 Semaphores 13023.6 Mutexes 132