作業系統設計與實現(第3版)

作業系統設計與實現(第3版)

《作業系統設計與實現(第3版)》是2008年清華大學出版社出版的圖書,作者是Andrew S. Tanenbaum。

圖書詳細信息

ISBN:9787302172765

定價:69元

印次:1-1

裝幀:平裝

印刷日期:2008-5-4

作者:Andrew S. Tanenbaum

圖書簡介

本書是著名作者Andrew S. Tanenbaum關於作業系統的權威教材。

多數作業系統的教材只重理論而輕實踐,本書力圖實現這兩者之間的平衡。本書首先詳細探討了作業系統的基本原理,如進程、進程間通信、信號量、訊息傳遞、調度算法、輸入/輸出、死鎖、設備驅動程式、存儲管理、調頁算法、檔案系統設計、安全和保護機制等,然後詳細討論了一個具體的作業系統MINIX3的實現,並給出了該系統的完整原始碼,以便於讀者仔細研究。這樣不僅可以讓讀者掌握作業系統的基本原理,而且可讓讀者明白這些基本原理如何套用到實際作業系統設計中去,從而提供讀者的實際設計和實現能力。

本書可以作為高等院校計算機及相關專業“作業系統”的雙語教材,對程式開發人員、工程技術人員、系統架構師等專業人員也具有很高的參考價值。

目錄

1INTRODUCTION1

I.IWHATISANOPERATJNGSYSTEM?4

1.1.ITheOperatingSystemasallExte17dcdMachine4

1,12TheOperatingSystemasaRcsollrceManager5

1.2HISTORYOFOPERATINGSYSTEMS6

l.2.1TheFirstGeneration(194555)VacuumTubesandPlugboards7

l.2.2TheSecondGeneration(1955to5)TransistorsandBatchSystems7

123TheThirdGeneration(19651980)ICSandMuItIVrogramming9

1.24TheForthGeneration(1980--Present)PersonalComputers13

I.2.5HistoryofMINce314

I.3OPERATINGSYSTEMCONCENS17

1.3.1Processes18

1.3.2FileS20

I.3.3TheShell23

].4SYSTEMCALLS24

14.1SystemCallsforPIDccssManagement25

I42SystemCa]IS,orS]gnaIing29

].43SystemCa]]s[orFileManagement31

1.44SystemCa]]starDirectoryManagement36

l.4.5SystemCallsforProtection38

1,46SystemCallsF()rTirncManagement40

'vCONTENTS

15OPER-ATINGSYSTEMSTRUCTURE40

1.5.IMonolithicSyslems40

1,5,2LayeredSystems43

1,5,3VirtualMachines44

1.5.4Exokernels47

I.5.5C]ientServerMOdel47

16OUTLINEOFTINRESTOFTHISBOOK49

I.7SUMMARY49

2PROCESSES53

2.1INTRODUCTIONTOPROCESSES53

2.1.ITheProcessModel54

2.1.2Pr'>ccssCreation55

2,l.3ProcessTermination57

2.l.4ProcessIJierarchies58

2.l.5ProcessStates58

2.1.6lmplementahonorPr(wesses60

2.1.7Threads62

22INTERPROCESSCOMMUNICATION

2.2]RaceCOndihons67

2.22CrIticalSechons68

223MutualExclusionwithBusyWaitillg69

2.2.4SleepandWateup74

2.2.5Semaphores76

2.2.6Mutexes79

2.2.7MnIIItI)rs79

2.2.8MessagePassing83

2.3CLASSICALIPCPROBLEMS86

2.3.1TheDiningroiIOSOpIIersProbICm87

2.3.2TheReadersandWritersPI.oblelll90

24SCHEDULING91

2.4.]IIIiroductIOntoSCneduIing92

2.4.2Schedu]]nginbatchSystems97

243SchedulingininleractiveSystems100

244SchedlllillginRealTimeSystems107

245POlICyvirtueMechaIIism108

246ThreadSChedII]Ing108

CONTENTSV

2.5OVERVIEWOFPROCESSESINMINIX3110

2.5.1TheInternalStructureofMINIX3110

25.2ProcessManagementinMINIs3114

2.5.3InterprocessC()mmunlcationinMINIX3118

2.5.4DOCedsSChedulinginMIDIs3120

2.6IMPLEMENTAnONOFPROCESSESINMINIX3123

26.Iorgamzationof[heMINIX3S',urccCOde123

2.6.2COmpilingandAnnulingMINix3126

2.6.3TheCommonHeaderFiles128

2.6.4TheMINIX3Headerr.IIes136

2.6.5ProcessDataSrtucturesandHeaderFJles144

26.6BOOtstrappingMIN]X3154

26.7SysteminitiaIIZation158

2.68InterrIIptHanoIinginMINce3]65

2.6.9InterprocessColnmunlcatloninaleX3176

2.6.10SChedulinginMINIX3180

2.6.11HardwareDependentKernelSllpport183

26.]2UtilitiesandlhcKernelLibl+ary188

27THESYSTEMTASKINMINIX3190

2.7.1Overviewof'theSystemTask192

2.7.2Implementationot'theSyslernTask195

2.7.3hoplemelltaiionoftheSystemLibarary198

2.9THECLOCKTASKINMINIX3202

2.8.1ClockHardware202

28.2ClOCkSOftwareZOo

2.8.3OverviewoftheClockDriverinMINix3206

2.8.4Implementat)onoftheClOckDiverinMINIX3210

2.9SUMMARY212

3INPUTIOUTPUT219

3.1PRINC]PLESOFCOHARDWARE220

31.1I/oDevices221

31.2DeviceCOntrollers221

313MeInory-MappedI/o223

3.].4Interrupts224

3.1.5DirectMemoryAccess225

3.2PRINCIPLESOFI/OSOFTWARE227

3.2.]CoalsoftheUOSoftware227

3.22InterruptIJandlers229

3.2.3DeviceDnvers220

3.2.4Device-independentl/OSot'lware231

3.2.>UserSpaceilOSoftware234

3.3DEADLOCKS235

3.3.1Resources236

3.3.2PrinciplesofDCadIOCk237

3.3.3TheOstrichAlgorlthln240

3.3.4DetectionandRccovery242

3.3.5DCadIOCkWevenIIOn243

3.36DeadlOCkAVOIdance245

34OVERVIEWOFI/OINMINIX3250

3.4.1InterruptHandIersinMINIX3250

3.4.2DCVice13riversinM]N]X3254

3.4.3Device-IndependentCOSOftwareinMINIX3257

3.4.4USCr]eveIWSOftwareinMINX3258

345DeauIOCkHandlInginMINIX3258

3.5BLOCKDEVICESINMINIX3259

35.1OVerviewofBlOCkDeviceDnt/crsinMINix3260

35.2CommonBlockDeviceDriverSoltwure263

3.5.3TheDnaalLibrmp267

36~DISKS269

3.6.]RAMDiskHardwtireandSol'twarc269

3.62OVCrviewofmeAMDiskDriverinMINIX3271

3.6.3I]nplemental]onoftheRAMD]skDnverinMIN]X3272

3.7DISKS276

3.7.1D]skHaTdware276

3.7.2RAID278

3.7.3DISkSO,tware279

3.7.4OverylewoftheHa]+dDiskDnverinMINce3285

3.75Inlplemcntationot'theHadDiskDTiverinMINIX3288

3.76FIOnpyDISkHandling298

38TErmINALS30U

38.1TerminalHaTdwarc301

3.8.2Temlina]Software305

3.8.3OverviewoftheTerminalDnver111MINIX3314

3.8.4ImplementationoftheDevice-independentTerminalaliver329

CON~TSVii

3.8.5IruplemeotationoftheKeyboardDriver348

3.8.6imPlementationoftheD]splnyDnver355

3.9SUMMARY364

4MEMORYMANAGEMENT371

4.]BASICMEMORYMANAGEMENT372

4.l.lMonoprogrammingwithoutSwappingorPaging372

4.l.2MultiprograrnmingwithFixedParutions373

4.l.3RelocationandPr(,tectlon375

4.2SWAPPING376

4.2.1MemoryManagementwithBlimaps378

4.2.2MemoryManagementwithLinkedLists379

4.3VIRTUALMEMORY381

4.3.1PagIng382

4.3.2PageTabbIed386

43.3TLBS--TranslationLOOkasideBull.ers390

4.3.4InvertedPageTables393

4.4PAGEREPLACEMENTALGORITHMS394

44.ITheOptinmlPageReplacementAlgorithms395

4.4.2TheNc)tRecentlyUsedPageReplacementAlgorithm396

4.4.3TheFirst-in.FITSt-Ollt(FIFO)PageRcplaccmcntAlgorithm397

4.4.4TheSecondChancePaceReplacementAlgorithm397

4.4.5TheClockPageRcplaccmcntA]gorithm398

446TheLeastRecentlyUsed(LRU)PageReplacementAlgorithm399

447SimulatingLRUinSoftware399

4.5DESIGNISSUESFORPAGINCSYSTEMS402

451TheWOrkingSetMOdel402

4.5.2LocalvereusGlobalAllocationPOlicies404

4.53PangsSize406

4.5.4VirtualMemoryIntcrfMc408

4.6SEGMENTAnON405

4.6.]ImplementationofporeSegmentation412

相關詞條

熱門詞條

聯絡我們