操作系統設計與實現

所属分类:操作系統  
出版时间:2008 年5月   出版时间:清華大學出版社   作者:(美)ANDREW S.TANENBAUM,ALBERT S.WOODHULL   页数:608  

内容概要

  本書是著名作者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個部分,對操作系統的設計與實現作了介紹,具體包括進程、進程間通信、信號量、消息傳遞、調度算法、輸入/輸出、死鎖等。該書可供各大專院校作為教材使用,也可供從事相關工作的人員作為參考用書使用。

图书封面




    操作系統設計與實現下載



用户评论 (总计0条)

 
 

 

計算機與互聯網 PDF免费下载,操作系統PDF免费下载。 计算机教程网 

计算机教程网 @ 2017