Transcription of MODERN OPERATING SYSTEMS - pub.ro
1 MODERN . OPERATING SYSTEMS . THIRD EDITION. Other bestselling titles by Andrew S. Tanenbaum Structured Computer Organization, 5th edition This widely read classic, now in its fifth edition, provides the ideal introduction to computer architecture. It covers the topic in an easy-to-understand way, bottom up. There is a chapter on digital logic for beginners, followed by chapters on microarchitecture, the instruction set architecture level, OPERATING SYSTEMS , assem- bly language, and parallel computer architectures. THIRD EDITION. Computer Networks, 4th edition This best seller, currently in its fourth edition, provides the ideal introduction to today's and tomorrow's networks.
2 It explains in detail how MODERN networks are structured. Starting with the physical layer and working up to the application layer, the book covers a vast number of important topics, including wireless com- munication, fiber optics, data link protocols, Ethernet, routing algorithms, network performance, security, DNS, electronic mail, the World Wide Web, and mul- timedia. The book has especially thorough coverage of TCP/IP and the Internet. OPERATING SYSTEMS : Design and Implementation, 3rd edition This popular text on OPERATING SYSTEMS is the only book covering both the princi- ples of OPERATING SYSTEMS and their application to a real system.
3 All the traditional OPERATING SYSTEMS topics are covered in detail. In addition, the principles are care- fully illustrated with MINIX, a free POSIX-based UNIX-like OPERATING system for Vrije Universiteit personal computers. Each book contains a free CD-ROM containing the complete MINIX system, including all the source code. The source code is listed in an Amsterdam, The Netherlands appendix to the book and explained in detail in the text. Distributed OPERATING SYSTEMS , 2nd edition This text covers the fundamental concepts of distributed OPERATING SYSTEMS . Key topics include communication and synchronization, processes and processors, dis- tributed shared memory, distributed file SYSTEMS , and distributed real-time sys- tems.
4 The principles are illustrated using four chapter-long examples: distributed object-based SYSTEMS , distributed file SYSTEMS , distributed Web-based SYSTEMS , PEARSON |. and distributed coordination-based SYSTEMS . PEARSON EDUCATION INTERNATIONAL. If you purchased this book within the United States or Canada you should be aware that it has been wrongfully imported without the approval of the Publisher or the Author. Editorial Director, Computer Science, Engineering, and Advanced Mathematics: Mania J. Ho/ton Executive Editor: Tracy Dimkelberger Editorial Assistant: Melinda Haggerty Associate Editor: ReeAnne Davies Senior Managing Editor Scot!
5 Disauno Production Editor: Irwin Zucker Interior design: Andrew S. Tanenbaton Typesetting: Andrew S. Tanenbaum Art Director: Kenny Beck Art Editor Gregory Dulles Media Editor: David Alick Manufacturing Manager: Alan Fischer Manufacturing Buyer: Lisa McDowell Marketing Manager: Mack Patterson To Suzanne, Barbara, Marvin, and the memory of Brant and Sweetie %. PEARSON 2009 Pearson Education, Inc. Pearson Prentice Hall Pearson Education, Inc. Upper Saddle River, NJ 07458. Ail rights reserved. No part of this book may be reproduced in any form or by any means, without permission in writing from the publisher. Pearson Prentice Hail is a trademark of Pearson Education, Inc.
6 The author and publisher of this book have used their best efforts in preparing this book. These efforts include the development, research, and testing of the theories and programs to determine their effectiveness. The author and publisher make no warranty of any kind, expressed or implied, with regard to these programs or the documentation contained in this book. The author and publisher shall not be liable in any event for incidental or consequential damages in connection with, or arising out of, the furnishing, performance, or use of these programs. Printed in the United States of America 10 9 8 7 6 5 4 3 21. ISBN Q-lB-filBMST-L.
7 Pearson Education Ltd., London Pearson Education Australia Pty. Ltd., Sydney Pearson Education Singapore, Pte. Ltd. Pearson Education North Asia Ltd., Hong Kong Pearson Education Canada, Inc., Toronto Pearson Educacidn de Mexico, de Pearson Education Japan, Tokyo Pearson Education Malaysia, Pte. Ltd. Pearson Education, Inc., Upper Saddle River, New Jersey CONTENT!3. PREFACE xxiv 1 INTRODUCTION 1. WHAT IS AN OPERATING SYSTEM? 3. The OPERATING System as an Extended Machine 4. The OPERATING System as a Resource Manager 6. HISTORY OF OPERATING SYSTEMS 7. The First Generation (1945-55) Vacuum Tubes 7. The Second Generation (1955-65) Transistors and Batch SYSTEMS 8.
8 The Third Generation (1965-1980) ICs and Multiprogramming 10. The Fourth Generation (1980-Present) Personal Computers 13. COMPUTER HARDWARE REVIEW 17. Processors 17. Memory 21. Disks 24. Tapes 25. I/O Devices 25. Buses 28. Booting the Computer 31. vii viii CONTENTS CONTENTS. THE OPERATING SYSTEM ZOO 31 OUTLINE OF THE REST OF THIS BOOK 75. Mainframe OPERATING SYSTEMS 32. Server OPERATING SYSTEMS 32 METRIC UNITS 76. Multiprocessor OPERATING SYSTEMS 32. Personal Computer OPERATING SYSTEMS 33 SUMMARY 77. Handheld Computer OPERATING SYSTEMS 33. Embedded OPERATING SYSTEMS . 33. Sensor Node OPERATING SYSTEMS 34. Real-Time OPERATING SYSTEMS 34.
9 Smart Card OPERATING SYSTEMS 35. 2 PROCESSES AND THREADS. OPERATING SYSTEM CONCEPTS 35. Processes 36 PROCESSES 81. Address Spaces 38 The Process Model 82. Files 38 Process Creation 84. Input/Output 41 Process Termination 86. Protection 42 Process Hierarchies 87. The Shell 42 Process States 88. Ontogeny Recapitulates Phylogeny 44 Implementation of Processes 89. Modeling Multiprogramming 91. SYSTEM CALLS 47. System Calls for Process Management 50 THREADS 93. System Calls for File Management 54 Thread Usage 93. System Calls for Directory Management 55 The Classical Thread Model 98. Miscellaneous System Calls 56 POSIX Threads 102.
10 The Windows Win32 API 57 Implementing Threads in User Space 104. Implementing Threads in the Kernel 107. OPERATING SYSTEM STRUCTURE 60 Hybrid Implementations 108. Monolithic SYSTEMS 60 Scheduler Activations 109. Layered SYSTEMS 61 Pop-Up Threads 110. Microkernels 62 Making Single-Threaded Code Multithreaded 112. Client-Server Model 65. Virtual Machines 65 INTERPROCESS COMMUNICATION 115. Exokeraels 69 Race Conditions 115. Critical Regions 117. THE WORLD ACCORDING TO C 70 Mutual Exclusion with Busy Waiting 118. The C Language 70 Sleep and Wakeup 123. Header Files 71 Semaphores 126. Large Programming Projects 72 Mutexes 128.