操作系统设计与实现

出版时间:2008 年5月  出版社:清华大学出版社  作者:(美)ANDREW S.TANENBAUM,ALBERT S.WOODHULL  页数:608  
Tag标签:无  

内容概要

  本书是著名作者Andrew S.Tanenbaum关于操作系统的权威教材。  多数操作系统的教材只重理论而轻实践,本书力图实现这两者之间的平衡。本书首先详细探讨了操作系统的基本原理,如进程、进程间通信、信号量、消息传递、调度算法、输入/输出、死锁、设备驱动程序、存储管理、调页算法、文件系统设计、安全和保护机制等,然后详细讨论了一个具体的操作系统MINIX3的实现,并给出了该系统的完整源代码,以便于读者仔细研究。这样不仅可以让读者掌握操作系统的基本原理,而且可让读者明白这些基本原理如何应用到实际操作系统设计中去,从而提供读者的实际设计和实现能力。  本书可以作为高等院校计算机及相关专业“操作系统”的双语教材,对程序开发人员、工程技术人员、系统架构师等专业人员也具有很高的参考价值。

书籍目录

INTRODUCTION1.1 WHAT IS AN OPERATING SYSTEM?1.1.1 The Operating System as an Extended Machine1.1.2 The Operating System as a Resource Manager1.2 HISTORY OF OPERATING SYSTEMS1.2.1 The First Generation (1945-55) Vacuum Tubes and Plugboards1.2.2 The Second Generation (1955-65) Transistors and Batch Systems1.2.3 The Third Generation (1965-1980) ICs and Multiprogramming1.2.4 The Fourth Generation (1980-Present) Personal Computers1.2.5 History of MINIX 31.3 OPERATING SYSTEM CONCEPTS1.3.1 Processes1.3.2 Files1.3.3 The Shell1.4 SYSTEM CALLS1.4.1 System Calls for Process Management1.4.2 System Calls for Signaling1.4.3 System Calls for File Management1.4.4 System Calls for Directory Management1.4.5 System Calls for Protection1.4.6 System Calls for Time Management1.5 OPERATING SYSTEM STRUCTURE1.5.1 Monolithic Systems1.5.2 Layered Systems1.5.3 Virtual Machines1.5.4 Exokernels1.5.5 Client-Server Model1.6 OUTLINE OF THE REST OF THIS BOOK1.7 SUMMARY2 PROCESSES2.1 INTRODUCTION TO PROCESSES2.1.1 The Process Model2.1.2 Process Creation2.1.3 Process Termination2.1.4 Process Hierarchies2.1.5 Process States2.1.6 Implementation of Processes2.1.7 Threads2.2 INTERPROCESS COMMUNICATION2.2.1 Race Conditions2.2.2 Critical Sections2.2.3 Mutual Exclusion with Busy Waiting2.2.4 Sleep and Wakeup2.2.5 Semaphores2.2.6 Mutexes2.2.7 Monitors2.2.8 Message Passing2.3 CLASSICAL IPC PROBLEMS2.3.1 The Dining Philosophers Problem2.3.2 The Readers and Writers Problem2.4 SCHEDULING2.4.1 Introduction to Scheduling2.4.2 Scheduling in Batch Systems2.4.3 Scheduling in Interactive Systems2.4.4 Scheduling in Real-Time Systems2.4.5 Policy versus Mechanism2.4.6 Thread Scheduling2.5 OVERVIEW OF PROCESSES IN MINIX 32.5.1 The Internal Structure of MINIX 32.5.2 Process Management in MINIs 32.5.3 Interprocess C()mmunlcation in MINIX 32.5.4 DOCeds SCheduling in MIDIs 32.6 IMPLEMENTAnON OF PROCESSES IN MINIX 32.6.1 orgamzation of [he MINIX 3 S,urcc COde2.6.2 COmpiling and Annuling MINix 32.6.3 The Common Header Files2.6.4 The MINIX 3 Header r.IIes2.6.5 Process Data Srtuctures and Header FJles2.6.6 BOOtstrapping MINLX 32.6.7 System initiaIIZation2.6.8 InterrIIpt HanoIing in MINce 32.6.9 Interprocess Colnmunlcatlon in aleX 32.6.10 SCheduling in MINIX 32.6.11 Hardware Dependent Kernel Sllpport2.6.12 Utilities and lhc Kernel Libl+ary2.7 THE SYSTEM TASK IN MINIX 32.7.1 Overview of the System Task2.7.2 Implementation ot the Syslern Task2.7.3 hoplemelltaiion of the System Libarary2.8 THE CLOCK TASK IN MINIX 32.8.1 Clock Hardware2.8.2 ClOCk SOftware2.8.3 Overview of the Clock Driver in MINix 32.8.4 Implementat)on of the ClOck Diver in MINIX 32.9 SUMMARY3 INPUT/OUTPUT3.1 PRINCLPLES OF CO HARDWARE3.1.1 I/o Devices3.1.2 Device COntrollers3.1.3 MeInory-Mapped I/o3.1.4 Interrupts3.1.5 Direct Memory Access3.2 PRINCIPLES OF I/O SOFTWARE3.2.1 Coals of the UO Software3.2.2 Interrupt IJandlers3.2.3 Device Dnvers3.2.4 Device-independent l/O Sotlware3.2.5 User Space ilO Software3.3 DEADLOCKS3.3.1 Resources3.3.2 Principles of DCadIOCk3.3.3 The Ostrich Algorlthln3.3.4 Detection and Rccovery3.3.5 DCadIOCk WevenIIOn3.3.6 DeadlOCk AVOIdance3.4 OVERVIEW OF I/O IN MINIX 33.4.1 Interrupt HandIers in MINIX 33.4.2 DCVice 13rivers in MLNLX 33.4.3 Device-Independent CO SOftware in MINIX 33.4.4 USCr LeveI W SOftware in MINX 33.4.5 DeauIOCk HandlIng in MINIX 33.5 BLOCK DEVICES IN MINIX 33.5.1 OVerview of BlOCk Device Dnt/crs in MINix 33.5.2 Common Block Device Driver Soltwure3.5.3 The Dnaal Librmp3.6 DISKS3.6.1 RAM Disk Hardwtire and Soltwarc3.6.2 OVCrview of me AM Disk Driver in MINIX 33.6.3 ILnplementalLon of the RAM DLsk Dnver in MINLX 33.7 DISKS3.7.1 DLsk HaTdware3.7.2 RAID3.7.3 DISk SO,tware3.7.4 Overylew of the HaL+d Disk Dnver in MINce 33.7.5 Inlplemcntation ot the Had Disk DTiver in MINIX 33.7.6 FIOnpy DISk Handling3.8 TErmINALS3.8.1 Terminal HaTdwarc3.8.2 TemlinaL Software3.8.3 Overview of the Terminal Dnver 111 MINIX 33.8.4 Implementation of the Device-independent Terminal aliver CONTS Vii3.8.5 Iruplemeotation of the Keyboard Driver3.8.6 imPlementation of the DLsplny Dnver3.9 SUMMARY4 MEMORY MANAGEMENT4.1 BASIC MEMORY MANAGEMENT4.1.1 Monoprogramming without Swapping or Paging4.1.2 Multiprograrnming with Fixed Parutions4.1.3 Relocation and Pr(,tectlon4.2 SWAPPING4.2.1 Memory Management with Blimaps4.2.2 Memory Management with Linked Lists4.3 VIRTUAL MEMORY4.3.1 PagIng4.3.2 Page TabbIed4.3.3 TLBS--Translation LOOkaside Bull.ers4.3.4 Inverted Page Tables4.4 PAGE REPLACEMENT ALGORITHMS4.4.1 The Optinml Page Replacement Algorithms4.4.2 The Nc)t Recently Used Page Replacement Algorithm4.4.3 The First-in. FITSt-Ollt (FIFO) Page Rcplaccmcnt Algorithm4.4.4 The Second Chance Pace Replacement Algorithm4.4.5 The Clock Page Rcplaccmcnt ALgorithm4.4.6 The Least Recently Used (LRU) Page Replacement Algorithm4.4.7 Simulating LRU in Software4.5 DESIGN ISSUES FOR PAGINC SYSTEMS4.5.1 The WOrking Set MOdel4.5.2 Local vereus Global Allocation POlicies4.5.3 Pangs Size4.5.4 Virtual Memory IntcrfMc4.6 SEGMENTAnON 4054.6.1 Implementation of pore Segmentation4.6.2 Segmentation with Paging f The intel Pentium4.7 OVERVIEW OIl rHE MINIX 3 PROCESS MANAGER4.7.1 Memory Layout4.7.2 Message Handling4.7.3 Process Manager Data Smictules and AlgoTithms4.7.4 The roax. and WAIT SystenI CallS4.7.5 The EXEC System Call4.7.6 The BRK SysteIn Call4.7.7 Signal Handling4.7.8 Other System Calls4.8 IMPLEMENfATION OF THE MINIX 3 PROCESS MANAGER4.8.1 The Header FLLes and Data Smictures4.8.2 The Main program4.8.3 Implementation of FORK, EXIT. and WArs4.8.4 implementation of EXEC4.8.5 lmplemenL3tion of BRK4.8.6 Implementation of Signal Handling4.8.7 Implementutjon of Other System Calls4.8.8 Memory Management Utilities4.9 SUARY5 FILE SYSTEMS5.1 m.ES5.1.1 File Naming5.1.2 File Structure5.1.3 File Types5.1.4 File ACCess5.1.5 FIIC AttrIbutes5.1.6 File OpeTaiions5.2 DIreCTORIES5.2.1 Simple Directones5.2.2 Hierarchical Direct(lry Systems5.2.3 Path Names5.2.4 Directory Operahons5.3 FILE SYSTEM IMPLEMENTATION5.3.1 File System Lazoui5.3.2 Implementing Files5.3.3 Implementing Directories5.3.4 Disk Space MtInageInent CO~NTS iX5.3.5 File System ReIiabiIitv5.3.6 File System Perf(lrmance5.3.7 Log Structured File Systems5.4 SECURITY5.4.1 The Secuniy Envirollment5.4.2 Genenc Security Attacks5.4.3 Design Pnnciplcs for Sccunty5.4.4 User Authentication5.5 PROTECTION MECHANISMS5.5.1 Protechon Domains5.5.2 Access ColltrI l.ists5.5.3 CanabiIities5.5.4 Covert Channels5.6 OVERVIEW OF TIlE MINIX 3 FILE SYSTEM5.6.1 Messages5.6.2 File System Layout5.6.3 Bitmaps5.6.4 1 NOdes5.6.5 The BlOCk Cache5.6.6 Directories and Pains5.6.7 File Dcscnptors5.6.8 File LOCking 5615.6.9 Pipes and Special Files5.6.10 An Example f The axAN System Call5.7 IMPLEMENTATION OF THE MINIX 3 FILE SYSTEM5.7.1 Header Files and Global Data Structures5.7.2 Table Management5.7.3 The Main Program5.7.4 OperatIOns on individual Files5.7.5 DITcctoncs and Paths5.7.6 Other System Calls5.7.7 The I/o Device interface5.7.8 Additional System Call SuPPort5.7.9 File System Utilities5.7.10 Ottier MINJX 3 COmponents SUMMARY6 BIBLIOGRAPHY

编辑推荐

  本书全书共分6个部分,对操作系统的设计与实现作了介绍,具体包括进程、进程间通信、信号量、消息传递、调度算法、输入/输出、死锁等。该书可供各大专院校作为教材使用,也可供从事相关工作的人员作为参考用书使用。

图书封面

图书标签Tags

评论、评分、阅读与下载


    操作系统设计与实现 PDF格式下载


用户评论 (总计0条)

 
 

 

250万本中文图书简介、评论、评分,PDF格式免费下载。 第一图书网 手机版

京ICP备13047387号-7