1. Trang chủ
  2. » Công Nghệ Thông Tin

Prentice hall operating systems design and implementation 3rd edition jan 2006 ISBN 0131429388

1,8K 90 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 1.847
Dung lượng 9,44 MB

Nội dung

Table of • Contents • Index Operating Systems Design and Implementation, Third Edition By Andrew S Tanenbaum - Vrije Universiteit Amsterdam, The Netherlands, Albert S Woodhull Amherst, Massachusetts Publisher : Prentice Hall Pub Date : January 04, 2006 Print ISBN-10 : 0-13-142938-8 Print ISBN-13 : 978-0-13-142938-3 eText ISBN-10 : 0-13-185991-9 eText ISBN-13 : 978-0-13-185991-3 Pages : 1080 Revised to address the latest version of MINIX (MINIX 3), this streamlined, simplified new edition remains the only operating systems text to first explain relevant principles, then demonstrate their applications using a Unix-like operating system as a detailed example It has been especially designed for high reliability, for use in embedded systems, and for ease of teaching For the latest version of MINIX and simulators for running MINIX on other systems visit: www.minix3.org Operating Systems Design and Implementation, Third Edition By Andrew S Tanenbaum - Vrije Universiteit Amsterdam, The Netherlands, Albert S Woodhull Amherst, Massachusetts Publisher : Prentice Hall Pub Date : January 04, 2006 Print ISBN-10 : 0-13-142938-8 Table of Print ISBN-13 : 978-0-13-142938-3 • Contents eText ISBN-10 : 0-13-185991-9 • Index eText ISBN-13 : 978-0-13-185991-3 Pages : 1080 Copyright Preface Chapter 1 Introduction Section 1.1 What Is an Operating System? Section 1.2 History of Operating Systems Section 1.3 Operating System Concepts Section 1.4 System Calls Section 1.5 Operating System Structure Section 1.6 Outline of the Rest of This Book Section 1.7 Summary Problems Chapter 2 Processes Section 2.1 Introduction to Processes Section 2.2 Interprocess Communication Section 2.3 Classical IPC Problems Section 2.4 Scheduling Section 2.5 Overview of Processes in MINIX 3 Section 2.6 Implementation of Processes in MINIX 3 Section 2.7 The System Task in MINIX 3 xv 19 26 42 51 51 52 55 55 68 88 93 112 125 192 Section 2.8 The Clock Task in MINIX 3 204 Section 2.9 Summary 214 Problems 215 Chapter 3 Input/Output 221 Section 3.1 Principles of I/O Hardware 222 Section 3.2 Principles of I/O Software 229 Section 3.3 Deadlocks 237 Section 3.4 Overview of I/O in MINIX 3 252 Section 3.5 Block Devices in MINIX 3 261 Section 3.6 RAM Disks 271 Section 3.7 Disks 278 Section 3.8 Terminals 302 Section 3.9 Summary 366 Problems 367 Chapter 4 Memory Management 373 Section 4.1 Basic Memory Management 374 Section 4.2 Swapping 378 Section 4.3 Virtual Memory 383 Section 4.4 Page Replacement Algorithms 396 Section 4.5 Design Issues for Paging Systems 404 Section 4.6 Segmentation 410 Section 4.7 Overview of the MINIX 3 Process Manager 420 Section 4.8 Implementation of the MINIX 3 Process Manager 447 Section 4.9 Summary 475 Problems 476 Chapter 5 File Systems 481 Section 5.1 Files 482 Section 5.2 Directories 491 Section 5.3 File System Implementation 497 Section 5.4 Security 526 Section 5.5 Protection Mechanisms 537 Section 5.6 Overview of the MINIX 3 File System 548 Section 5.7 Implementation of the MINIX 3 File System 566 Section 5.8 Summary 606 Problems 607 Chapter 6 Reading List and Bibliography 611 Section 6.1 Suggestions for Further Reading 611 Section 6.2 Alphabetical Bibliography 618 Appendix A Installing MINIX 3 629 Section A.1 Preparation Section A.2 Booting Section A.3 Installing to the Hard Disk Section A.4 Testing Section A.5 Using a Simulator Appendix B The MINIX Source Code Appendix C Index to Files About the Authors About the MINIX 3 CD System Requirements Hardware Software Installation Product Support Index 629 631 632 634 636 637 1033 1053 InsideBackCover InsideBackCover InsideBackCover InsideBackCover InsideBackCover InsideBackCover Copyright [Page iv] Library of Congress Cataloging in Publication Data Tanenbaum, Andrew S Operating Systems: Design and Implementation / Andrew S Tanenbaum, - 3rd ed ISBN: 0-13-142938-8 Operating systems (Computers) I Woodhull, Albert S II Title QA76.76.O63T36 2006 005.4'3 dc22 Vice President and Editorial Director, ECS: Marcia J Horton Executive Editor: Tracy Dunkelberger Editorial Assistant: Christianna Lee Executive Managing Editor: Vince O'Brien Managing Editor: Camille Trentacoste Director of Creative Services: Paul Belfanti Art Director and Cover Manager: Heather Scott Cover Design and Illutsration: Tamara Newnam Managing Editor, AV Management and Production: Patricia Burns Art Editor: Gregory Dulles Manufacturing Manager, ESM: Alexis Heydt-Long Manufacturing Buyer: Lisa McDowell Executive Marketing Manager: Robin O'Brien Marketing Assistant: Barrie Reinhold © 2006, 1997, 1987 by Pearson Education, Inc Pearson Prentice Hall Pearson Education, Inc Upper Saddle River, NJ 07458 All 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 Hall® is a trademark of Pearson Education, Inc The authors 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 authors and publisher make no warranty of any kind, expressed or implied, with regard to these programs or to the documentation contained in this book The authors 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 All rights reserved No part of this book may be reproduced, in any form or by any means, without permission in writing from the publisher Printed in the United States of America 10 9 8 7 6 5 4 3 2 1 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 Educación de Mexico, S.A de C.V Pearson Education-Japan, Tokyo Pearson Education Malaysia, Pte Ltd Pearson Education, Inc., Upper Saddle River, New Jersey Dedication To Suzanne, Barbara, Marvin, and the memory of Sweetie p and Bram AST To Barbara and Gordon ASW The MINIX 3 Mascot Other operating systems have an animal mascot, so we felt MINIX 3 ought to have one too We chose the raccoon because raccoons are small, cute, clever, agile, eat bugs, and are userfriendlyat least if you keep your garbage can well locked [Page xv] Preface Most books on operating systems are strong on theory and weak on practice This one aims to provide a better balance between the two It covers all the fundamental principles in great detail, including processes, interprocess communication, semaphores, monitors, message passing, scheduling algorithms, input/output, deadlocks, device drivers, memory management, paging algorithms, file system design, security, and protection mechanisms But it also discusses one particular systemMINIX 3a UNIX-compatible operating system in detail, and even provides a source code listing for study This arrangement allows the reader not only to learn the principles, but also to see how they are applied in a real operating system When the first edition of this book appeared in 1987, it caused something of a small revolution in the way operating systems courses were taught Until then, most courses just covered theory With the appearance of MINIX, many schools began to have laboratory courses in which students examined a real operating system to see how it worked inside We consider this trend highly desirable and hope it continues It its first 10 years, MINIX underwent many changes The original code was designed for a 256K 8088-based IBM PC with two diskette drives and no hard disk It was also based on UNIX Version 7 As time went on, MINIX evolved in many ways: it supported 32-bit protected mode machines with large memories and hard disks It also changed from being based on Version 7, to being based on the international POSIX standard (IEEE 1003.1 and ISO 9945-1) Finally, many new features were added, perhaps too many in our view, but too few in the view of some other people, which led to the creation of Linux In addition, MINIX was ported to many other platforms, including the Macintosh, Amiga, Atari, and SPARC A second edition of the preemptable Resource deadlock Resource manager Resource trajectory Response time Right capability generic 2nd RISC 2nd 3rd Role ROM [See Read Only Memory] Root directory Root file system Round-robin scheduling RS [See Reincarnation Server] RS232 terminal Run-to-completion scheduling RWX bits 2nd [See also mode] Index [SYMBOL] [A] [B] [C] [D] [E] [F] [G] [H] [I] [J] [K] [L] [M] [N] [O] [P] [Q] [R] [S] [T] [U] [V] [W] [X] [Z] Safe state Salted password SATA [See Serial AT Attachment] Scan code Schedulable system Scheduler Scheduling batch system categories of algorithms fair-share first-come first-served goals guaranteed interactive system lottery MINIX 3 multiple queue nonpreemptive 2nd policy vs mechanism preemptive 2nd 3rd 4th priority process real-time system round-robin shortest job first shortest process next shortest remaining time next thread three level XDS 2nd Scheduling algorithm Scheduling mechanism Scheduling policy Scrolling SCSI 2nd Second chance paging algorithm Second generation computer Security access control list capability design principles physical identification protection mechanisms 2nd 3rd 4th 5th viruses worms Security attack Security flaws Security threat Segment data 2nd 3rd 4th 5th 6th 7th 8th 9th 10th 11th 12th 13th 14th 15th descriptor table Intel versus MINIX 2nd memory register stack 2nd 3rd 4th 5th 6th 7th 8th 9th 10th 11th 12th text 2nd 3rd 4th 5th 6th 7th 8th 9th Segmentation Segmentation, implementation Pentium Semaphore Separate I and D space Sequential access file Sequential process Serial AT Attachment Serial line Server 2nd Service MINIX 3 Session leader SETUID bit 2nd 3rd 4th 5th 6th 7th 8th Shared library Shared text 2nd MINIX 3 Shebang Shell 2nd Shortcut Shortest job first scheduling Shortest process next scheduling Shortest remaining time next scheduling Shortest seek first algorithm Signal 2nd 3rd Signal handler Signal handling, MINIX 3 Signals, implementation in MINIX 3 Single large expensive disk SLED [See Single Large Expensive Disk] Sleep and wakeup Sleep primitive Soft real time Software interrupt Software scrolling Source code organization, MINIX 3 Sparse file Special file Spin lock Spooling 2nd Spooling directory 2nd Spyware Square-wave mode SSF [See Shortest Seek First algorithm] Stack segment Standard C [See ANSI C] Standard input Standard output Starvation State Static Status bit Strict alternation Striping, disk Strobed register Stty command 2nd 3rd Subject Subpartition table 2nd 3rd 4th Superblock 2nd Superuser Supervisor call Supervisor mode Swapping Symbolic link Synchronization Synchronous alarm Synchronous input/output System availability System call 2nd 3rd directory management file management process management signaling System image [See Boot image] System library, MINIX 3 System notification message System process System task, MINIX 3 2nd System V Index [SYMBOL] [A] [B] [C] [D] [E] [F] [G] [H] [I] [J] [K] [L] [M] [N] [O] [P] [Q] [R] [S] [T] [U] [V] [W] [X] [Z] Tagged architecture Task Task state segment 2nd Terminal driver, MINIX 3 Terminal hardware Terminal input, MINIX 3 Terminal mode Terminal output, MINIX 3 Terminal software Termios structure 2nd 3rd 4th 5th 6th 7th 8th 9th 10th Text segment Third generation computer Thompson, Ken Thrashing Threads C-threads P-threads Threat, security Three-level scheduling Throughput Tiger team Timer user-space in MINIX 3 Timers, implementation in MINIX 3 Timesharing TLB [See Translation Lookaside Buffer] Track-at-a-time caching Translation lookaside buffer Trap 2nd Trapdoor Triple indirect block Trojan horse TSL instruction TSS [See Task State Segment] Turnaround time Two-phase locking Index [SYMBOL] [A] [B] [C] [D] [E] [F] [G] [H] [I] [J] [K] [L] [M] [N] [O] [P] [Q] [R] [S] [T] [U] [V] [W] [X] [Z] UART [See Universal Asynchronous Receiver Transmitter] UID [See User IDentification] Uniform interface, input/output device Uniform naming Universal asynchronous receiver transmitter Universal coordinated time UNIX beginning of time boot block deadlock device driver device numbers directories 2nd error reporting file system 2nd file system caching file system consistency files history i-nodes interprocess communication link system call mounted file systems paging passwords process structure processes 2nd scripts signals 2nd structure terminal I/O threads User authentication User identification User mode 2nd User-friendliness User-level I/O software, MINIX 3 UTC [See Universal Coordinated Time] Index [SYMBOL] [A] [B] [C] [D] [E] [F] [G] [H] [I] [J] [K] [L] [M] [N] [O] [P] [Q] [R] [S] [T] [U] [V] [W] [X] [Z] Vector I/O request 2nd 3rd 4th interrupt Video controller Video RAM Virtual address Virtual address space Virtual console Virtual machine 2nd 3rd Virtual machine monitor Virtual memory 2nd design issues page replacement algorithms paging Pentium segmentation working set model Virtual memory interface Virus VM/370 Volume boot code Von Neumann, John Index [SYMBOL] [A] [B] [C] [D] [E] [F] [G] [H] [I] [J] [K] [L] [M] [N] [O] [P] [Q] [R] [S] [T] [U] [V] [W] [X] [Z] Wakeup primitive Wakeup waiting bit Watchdog timer MINIX 3 Wildcard Windows 2nd 3rd 4th 5th 6th 7th 8th Windows 2000 2nd Windows 98 2nd 3rd Windows NT 2nd Windows XP 2nd 3rd 4th Working directory 2nd Working set model Workstation Worm Worst-fit algorithm Write-through cache WSclock algorithm WSclock page replacement algorithm Index [SYMBOL] [A] [B] [C] [D] [E] [F] [G] [H] [I] [J] [K] [L] [M] [N] [O] [P] [Q] [R] [S] [T] [U] [V] [W] [X] [Z] XDS 2nd XWindow system Index [SYMBOL] [A] [B] [C] [D] [E] [F] [G] [H] [I] [J] [K] [L] [M] [N] [O] [P] [Q] [R] [S] [T] [U] [V] [W] [X] [Z] Zilog Z80 Zombie state Zuse, Konrad ... Tanenbaum, Andrew S Operating Systems: Design and Implementation / Andrew S Tanenbaum, - 3rd ed ISBN: 0-13-142938-8 Operating systems (Computers) I Woodhull, Albert S II Title QA76.76.O63T36 2006 005.4'3... Operating Systems Design and Implementation, Third Edition By Andrew S Tanenbaum - Vrije Universiteit Amsterdam, The Netherlands, Albert S Woodhull Amherst, Massachusetts Publisher : Prentice Hall. .. Publisher : Prentice Hall Pub Date : January 04, 2006 Print ISBN- 10 : 0-13-142938-8 Table of Print ISBN- 13 : 978-0-13-142938-3 • Contents eText ISBN- 10 : 0-13-185991-9 • Index eText ISBN- 13 : 978-0-13-185991-3

Ngày đăng: 19/04/2019, 15:16