複製鏈接
請複製以下鏈接發送給好友

現代操作系統

鎖定
《現代操作系統》是2009年機械工業出版社出版的圖書,作者是(荷蘭)AnderwS.Tanenbaum。
Tanenbaum教授作為三個操作系統的設計師或聯合設計師,具有長期設計開發操作系統的經驗,從而把其對理論的深入理解和具體實踐融入書中,使《現代操作系統(英文版第3版)》成為操作系統領域的經典之作。 [1] 
中文名
現代操作系統
作    者
(荷蘭)AnderwS.Tanenbaum
譯    者
陳向羣 馬洪兵
出版社
機械工業出版社
出版時間
2009年
定    價
69 元
開    本
32 開
ISBN
9787111265276

現代操作系統內容簡介

在《現代操作系統(英文版第3版)》第3版中,作者深入討論了許多主題,包括:進程線程存儲管理文件系統I/O死鎖,接口設計,多媒體,性能權衡。以及有關操作系統設計的最新趨勢。書中不僅涵蓋了現代操作系統的原理和實踐,而且特別關注了Linux操作系統,WindowsVista操作系統、嵌入式操作系統、實時操作系統以及多媒體操作系統
·涉及WindowsVista以及最新的Linux/Unix操作系統。

現代操作系統作者簡介

AndrewS.Tenenbeum,擁有美國麻省理工學院的理學學士學位和加州大學伯克利分校的哲學博士學位,是荷蘭阿姆斯特丹Vrije大學的計算機科學系教授。多年來,他在編譯技術,操作系統,網絡及局域分佈式系統方面進行了大量的研究工作。他專注於系統和安全方面的高級研究。他已經發表了近150篇論文。並在十幾個國家做了有關操作系統的學術報告。Tanenbaum是ACM會員,IEEE資深會員,荷蘭皇家藝術和科學學院院士,並由於對計算領域,特別是計算機組織,網絡和操作系統方面的教育所做的貢獻。而獲得2007年度IEEEJarnesHMulligan,JL教育獎。他還入選了《世界名人錄》。

現代操作系統編輯推薦

《現代操作系統(英文版第3版)》介紹:在商業化的進程中,美國的產業界與教育界越來越緊密地結合,計算機學科中的許多泰山北斗同時身處科研和教學的最前線,由此而產生的經典科學著作,不僅擘劃了研究的範疇,還揭示了學術的源變,既遵循學術規範,又自有學者個性,其價值並不會因年月的流逝而減退。

現代操作系統作品目錄

現代操作系統 現代操作系統
前言
1 引言 1
1.1 什麼是操作系統? 3
1.1.1 所有延長機器的作業系統 4
1.1.2 作為一個資源管理器的作業系統 6
1.2 操作系統的歷史 7
1.2.1 第一代(1945年至1955年)真空管 7
1.2.2第二代(1955年至1965年)晶體管和批處理系統 8
1.2.3 第三代(1965年至1980年)的集成電路 10
1.2 4 第四代(1980年至今)個人電腦 15
1.3計算機硬件檢查 19
l.3.1處理器 19
1.3.2內存 23
1.3.3 磁盤 26
1.3.4 膠帶 27
1.3.5 I/O設備 27 (I/O即輸入輸出)
1.3.6總線 30
1 3.7啓動計算機 33
1.4 操作系統動物園 33
1.4.1大型機操作系統 34
1.4.2 服務器操作系統34
1.4.3多處理器的操作系統 34
1.4.4個人電腦操作系統 35
1.4.5掌上電腦操作系統 35
1.4.6 嵌入式操作系統. 35
1.4.7 傳感器節點的操作系統 36
1.4.8 實時操作系統 36
1.5操作系統的概念 37
1.5.1 流程 38
1.5.2 地址空間 40
1.5.3文件 40
1.5.4輸入/輸出 43
1.5.5保護 44
1.5.6 殼牌 44
1.5.7系統發育個體發育重演 46
1.6 系統調用 49
1.6.1 流程管理系統調用 52
1.6.2文件管理系統調用 56
1.6.3 目錄管理系統調用 57
1.6.4雜項系統調用 58
1.6.5 在Windows的Win32 API 59
1.7 操作系統結構 62
1.7.1單片系統 62
1.7.2分層系統 63
1.7.3微內核 64
1.7.4 客户 - 服務器模型 67
1.7.5 虛擬機 67
1.7.6 出的內核 71
1.8 根據C的WORLD 72
1.8.1 C語言 72
1.8.2頭文件 73
1.8.3大的編程項目 74
1.8.4運行時模型75
1.9操作系統上的研究 76
1.10 本書的其餘部分的概要 77
1.11 公制單位 78
1.12 概要 79
2進程和線程
2.1工序83
2.1.1 過程模型 84
2.1.2 進程創建 86
2.1.3 進程終止 88
2.1.4 流程層次結構 89
2.1.5 進程國家 90
2.1.6實施流程 91
2.1.7多多建模的建模 93
2.2 螺紋 95
2.2.1線程使用情況 95
2.2.2古典的線程模型 100
2.2.3POSIX線程 104
2.2.4在用户空間中實現的線程 106
2.2.5在內核中實現的線程 109
2.2.6混合實現 110
2.2.7調度激活 111
2.2.8 彈出式線程 112
2.2.9 使單線程代碼中使用多線程技術 114
2.3 進程間通信 117
2.3.1靜態條件 117
2.3.2關鍵區域 119
2.3.3忙等待的互斥 120
2.3.4 睡眠和喚醒 125
2.3.5 信號燈 128
2.3.6互斥 130
2.3.7顯示器 134
2.3.8消息傳遞 140
2.3.9 壁壘 144
2.4 調度 145
2.4.1調度 145
2.4.2 批處理系統的調度 152
2.4.3 調度互動系統 154
2.4.4 調度實時系統 160
2.4.5政策與機制 161
2.4.6 線程調度 162
2.5經典的IPC問題 163
2.5.1 哲學家就餐問題 164
2.5.2讀者和作者的問題 167
2.6 進程和線程的研究 168
2.7概要169
習題95
第3章 存儲管理99
3.1 無存儲器抽象99
3.2 一種存儲器抽象:地址空間101
3.2.1 地址空間的概念101
3.2.2 交換技術103
3.2.3 空閒內存管理104
3.3.1 分頁107
3.3.2 頁表108
3.3.3 加速分頁過程109
3.3.4 針對大內存的頁表111
3.4.1 最優頁面置換算法114
3.4.2 最近未使用頁面置換算法114
3.4.4 第二次機會頁面置換算法115
3.4.5 時鐘頁面置換算法116
3.4.6 最近最少使用頁面置換算法116
3.4.7 用軟件模擬lru 117
3.4.8 工作集頁面置換算法118
3.4.9 工作集時鐘頁面置換算法120
3.4.10 頁面置換算法小結121
3.5 分頁系統中的設計問題121
3.5.1 局部分配策略與全局分配策略121
3.5.2 負載控制123
3.5.3 頁面大小123
3.5.4 分離的指令空間和數據空間124
3.5.5 共享頁面124
3.5.6 共享庫125
3.5.7 內存映射文件126
3.5.8 清除策略127
3.5.9 虛擬內存接口127
3.6 有關實現的問題128
3.6.1 與分頁有關的工作128
3.6.2 缺頁中斷處理128
3.6.3 指令備份129
3.6.4 鎖定內存中的頁面129
3.6.5 後備存儲129
3.6.6 策略和機制的分離130
3.7 分段131
3.7.1 純分段的實現133
3.7.2 分段和分頁結合:multics 134
3.7.3 分段和分頁結合:intel pentium 135
3.8 有關存儲管理的研究138
3.9 小結138
習題139
第4章 文件系統143
4.1 文件144
4.1.1 文件命名144
4.1.2 文件結構145
4.1.3 文件類型145
4.1.4 文件存取147
4.1.5 文件屬性147
4.1.6 文件操作148
4.1.7 使用文件系統調用的一個示例程序148
4.2 目錄150
4.2.1 一級目錄系統150
4.2.2 層次目錄系統150
4.2.3 路徑名150
4.2.4 目錄操作152
4.3 文件系統的實現153
4.3.1 文件系統佈局153
4.3.2 文件的實現153
4.3.3 目錄的實現156
4.3.4 共享文件158
4.3.5 日誌結構文件系統159
4.3.6 日誌文件系統160
4.4 文件系統管理和優化163
4.4.1 磁盤空間管理163
4.4.2 文件系統備份167
4.4.3 文件系統的一致性170
4.4.4 文件系統性能172
4.5 文件系統實例175
4.5.1 cd-rom文件系統175
4.5.2 ms-dos文件系統178
4.5.3 unix v7文件系統179
4.6 有關文件系統的研究181
4.7 小結181
習題182
第5章 輸入/輸出184
5.1 i/o硬件原理184
5.1.1 i/o設備184
5.1.3 內存映射i/o 185
5.1.5 重温中斷189
5.2 i/o軟件原理191
5.2.1 i/o軟件的目標191
5.2.2 程序控制i/o 192
5.2.3 中斷驅動i/o 193
5.2.4 使用dma的i/o194
5.3 i/o軟件層次194
5.3.1 中斷處理程序194
5.3.2 設備驅動程序195
5.3.3 與設備無關的i/o軟件197
5.3.4 用户空間的i/o軟件200
5.4 盤201
5.4.1 盤的硬件201
5.4.3 磁盤臂調度算法212
5.4.4 錯誤處理214
5.4.5 穩定存儲器216
5.5 時鐘218
5.5.1 時鐘硬件218
5.5.2 時鐘軟件219
5.5.3 軟定時器220
5.6 用户界面:鍵盤、鼠標和監視器221
5.6.1 輸入軟件221
5.6.2 輸出軟件224
5.7 瘦客户機233
5.8 電源管理235
5.8.1 硬件問題235
5.8.2 操作系統問題236
5.8.3 應用程序問題239
5.9 有關輸入/輸出的研究239
5.10 小結240
習題241
第6章 死鎖244
6.1 資源244
6.1.1 可搶佔資源和不可搶佔資源244
6.1.2 資源獲取245
6.2 死鎖概述246
6.2.1 資源死鎖的條件246
6.2.2 死鎖建模246
6.4 死鎖檢測和死鎖恢復248
6.4.1 每種類型一個資源的死鎖檢測249
6.4.2 每種類型多個資源的死鎖檢測250
6.4.3 從死鎖中恢復251
6.5.1 資源軌跡圖252
6.5.2 安全狀態和不安全狀態253
6.5.3 單個資源的銀行家算法254
6.5.4 多個資源的銀行家算法254
6.6.1 破壞互斥條件255
6.6.2 破壞佔有和等待條件256
6.6.3 破壞不可搶佔條件256
6.6.4 破壞環路等待條件256
6.7 其他問題257
6.7.1 兩階段加鎖257
6.7.2 通信死鎖257
6.7.3 活鎖258
6.7.4 飢餓259
6.8 有關死鎖的研究259
6.9 小結259
習題260
7.1 多媒體簡介263
7.2 多媒體文件..266
7.2.1 視頻編碼266
7.2.2 音頻編碼268
7.3 視頻壓縮269
7.3.1 jpeg標準269
7.3.2 mpeg標準271
7.5 多媒體進程調度274
7.5.1 調度同質進程275
7.5.2 一般實時調度275
7.5.3 速率單調調度276
7.5.4 最早最終時限優先調度277
7.6 多媒體文件系統範型278
7.6.1 vcr控制功能279
7.6.2 近似視頻點播279
7.6.3 具有vcr功能的近似視頻點播281
7.7 文件存放282
7.7.1 在單個磁盤上存放文件282
7.7.2 兩個替代的文件組織策略282
7.7.3 近似視頻點播的文件存放284
7.7.4 在單個磁盤上存放多個文件285
7.7.5 在多個磁盤上存放文件287
7.8 高速緩存288
7.8.1 塊高速緩存288
7.8.2 文件高速緩存289
7.9 多媒體磁盤調度290
7.9.1 靜態磁盤調度290
7.9.2 動態磁盤調度291
7.10 有關多媒體的研究292
7.11 小結292
習題293
8.1.1 多處理機硬件296
8.1.2 多處理機操作系統類型301
8.1.3 多處理機同步303
8.1.4 多處理機調度306
8.2 多計算機309
8.2.1 多計算機硬件309
8.2.2 低層通信軟件312
8.2.3 用户層通信軟件313
8.2.5 分佈式共享存儲器316
8.2.6 多計算機調度319
8.2.7 負載平衡319
8.3 虛擬化321
8.3.1 虛擬化的條件322
8.3.2 i型管理程序322
8.3.3 ii型管理程序323
8.3.4 準虛擬化324
8.3.5 內存的虛擬化325
8.3.6 i/o設備的虛擬化326
8.3.7 虛擬工具327
8.3.8 多核處理機上的虛擬機327
8.3.9 授權問題327
8.4.1 網絡硬件329
8.4.2 網絡服務和協議331
8.4.3 基於文檔的中間件333
8.4.4 基於文件系統的中間件334
8.4.5 基於對象的中間件337
8.4.6 基於協作的中間件338
8.4.7 網格341
8.5 有關多處理機系統的研究341
8.6 小結342
習題343
第9章 安全346
9.1 環境安全347
9.1.1 威脅347
9.1.2 入侵者347
9.1.3 數據意外遺失348
9.2 密碼學原理348
9.2.1 私鑰加密技術349
9.2.2 公鑰加密技術349
9.2.3 單向函數350
9.2.4 數字簽名350
9.3 保護機制352
9.3.1 保護域352
9.3.2 訪問控制列表353
9.3.3 權能354
9.3.4 可信系統356
9.3.6 安全系統的形式化模型358
9.3.7 多級安全358
9.3.8 隱蔽信道360
9.4 認證362
9.4.1 使用口令認證363
9.4.2 使用實際物體的認證方式367
9.4.3 使用生物識別的驗證方式369
9.5 內部攻擊370
9.5.1 邏輯炸彈370
9.5.2 後門陷阱370
9.5.3 登錄欺騙371
9.6 利用代碼漏洞371
9.6.3 返回libc攻擊374
9.6.4 整數溢出攻擊375
9.6.5 代碼注入攻擊376
9.6.6 權限提升攻擊376
9.7 惡意軟件377
9.7.2 病毒379
9.7.3 蠕蟲385
9.7.4 間諜軟件386
9.7.5 rootkit 388
9.8 防禦390
9.8.1 防火牆391
9.8.2 反病毒和抑制反病毒技術392
9.8.3 代碼簽名395
9.8.4 囚禁396
9.8.5 基於模型的入侵檢測397
9.8.6 封裝移動代碼398
9.8.7 java安全性400
9.9 有關安全性研究401
9.10 小結401
習題402
第10章 實例研究1:linux 405
10.1 unix與linux的歷史405
10.1.1 unics 405
10.1.2 pdp-11 unix 406
10.1.3 可移植的unix 406
10.1.4 berkeley unix 407
10.1.5 標準unix 407
10.1.6 minix 408
10.1.7 linux 409
10.2 linux概述410
10.2.1 linux的設計目標410
10.2.2 到linux的接口411
10.2.3 shell 412
10.2.4 linux應用程序413
10.2.5 內核結構414
10.3 linux中的進程416
10.3.1 基本概念416
10.3.2 linux中進程管理相關的系統調用418
10.3.3 linux中進程與線程的實現420
10.3.4 linux中的調度424
10.3.5 啓動linux系統426
10.4 linux中的內存管理427
10.4.1 基本概念427
10.4.2 linux中的內存管理系統調用429
10.4.3 linux中內存管理的實現430
10.4.4 linux中的分頁434
10.5 linux中的i/o系統435
10.5.1 基本概念435
10.5.2 網絡436
10.5.3 linux的輸入/輸出系統調用437
10.5.4 輸入/輸出在linux中的實現437
10.5.5 linux中的模塊439
10.6.1 基本概念440
10.6.2 linux的文件系統調用442
10.6.3 linux文件系統的實現444
10.6.4 nfs:網絡文件系統449
10.7 linux的安全性453
10.7.1 基本概念453
10.7.2 linux中安全相關的系統調用454
10.7.3 linux中的安全實現455
10.8 小結455
習題456
第11章 實例研究2:windows vista 459
11.1 windows vista的歷史459
11.1.1 20世紀80年代:ms-dos 459
11.1.2 20世紀90年代:基於ms-dos的windows 460
11.1.3 21世紀:基於nt的windows 460
11.1.4 windows vista 462
11.2 windows vista編程462
11.2.1 內部nt應用編程接口463
11.2.2 win32應用編程接口465
11.2.3 windows註冊表467
11.3 系統結構468
11.3.1 操作系統結構469
11.3.2 啓動windows vista 476
11.3.3 對象管理器的實現477
11.3.4 子系統、dll和用户態服務483
11.4 windows vista中的進程和線程484
11.4.1 基本概念484
11.4.2 作業、進程、線程和纖程管理api調用487
11.4.3 進程和線程的實現490
11.5 內存管理494
11.5.1 基本概念494
11.5.2 內存管理系統調用496
11.5.3 存儲管理的實現497
11.6 windows vista的高速緩存502
11.7 windows vista的輸入/輸出504
11.7.1 基本概念504
11.7.2 輸入/輸出api調用504
11.7.3 i/o實現506
11.8 windows nt文件系統509
11.8.1 基本概念510
11.8.2 ntfs文件系統的實現510
11.9 windows vista中的安全516
11.9.1 基本概念516
11.9.2 安全相關的api調用518
11.9.3 安全性的實現518
11.10 小結519
習題520
第12章 實例研究3:symbian操作系統522
12.1 symbian操作系統的歷史522
12.1.1 symbian操作系統的起源:psion和epoc 522
12.1.2 symbian操作系統版本6 523
12.1.3 symbian操作系統版本7 523
12.1.4 今天的symbian操作系統523
12.2 symbian操作系統概述523
12.2.1 面向對象524
12.2.2 微內核設計524
12.2.3 symbian操作系統納核525
12.2.4 客户機/服務器資源訪問525
12.2.5 較大型操作系統的特點525
12.2.6 通信與多媒體526
12.3 symbian操作系統中的進程和線程526
12.3.1 線程和納線程526
12.3.2 進程527
12.3.3 活動對象527
12.3.4 進程間通信527
12.4 內存管理528
12.4.1 沒有虛擬內存的系統528
12.4.2 symbian操作系統的尋址方式529
12.5 輸入和輸出530
12.5.1 設備驅動530
12.5.2 內核擴展530
12.5.3 直接存儲器訪問531
12.5.4 特殊情況:存儲介質531
12.5.5 阻塞i/o 531
12.5.6 可移動存儲器531
12.6 存儲系統532
12.6.1 移動設備文件系統532
12.6.2 symbian操作系統文件系統532
12.6.3 文件系統安全和保護532
12.7 symbian操作系統的安全533
12.8 symbian操作系統中的通信534
12.8.1 基本基礎結構534
12.8.2 更仔細地觀察基礎結構535
12.9 小結536
習題536
第13章 操作系統設計537
13.1 設計問題的本質537
13.1.1 目標537
13.1.2 設計操作系統為什麼困難538
13.2 接口設計539
13.2.1 指導原則539
13.2.2 範型540
13.2.3 系統調用接口542
13.3 實現543
13.3.1 系統結構543
13.3.2 機制與策略545
13.3.3 正交性546
13.3.4 命名546
13.3.5 綁定的時機547
13.3.6 靜態與動態結構547
13.3.7 自頂向下與自底向上的實現548
13.3.8 實用技術549
13.4 性能552
13.4.1 操作系統為什麼運行緩慢552
13.4.2 什麼應該優化552
13.4.3 空間-時間的權衡553
13.4.4 高速緩存554
13.4.5 線索555
13.4.6 利用局部性555
13.4.7 優化常見的情況555
13.5 項目管理556
13.5.1 人月神話556
13.5.2 團隊結構556
13.5.3 經驗的作用558
13.5.4 沒有銀彈558
13.6 操作系統設計的趨勢558
13.6.1 虛擬化559
13.6.2 多核芯片559
13.6.3 大型地址空間操作系統559
13.6.4 聯網559
13.6.5 並行系統與分佈式系統560
13.6.6 多媒體560
13.6.7 電池供電的計算機560
13.6.8 嵌入式系統560
13.6.9 傳感節點561
13.7 小結561
習題561
第14章 閲讀材料及參考文獻563
14.1 進行深入閲讀的建議563
14.1.1 簡介及概要563
14.1.2 進程和線程563
14.1.3 存儲管理564
14.1.4 輸入/輸出564
14.1.5 文件系統564
14.1.6 死鎖564
14.1.9 安全565
14.1.10 linux 566
14.1.11 windows vista 567
14.1.12 symbian操作系統567
14.1.13 設計原則567
14.2 按字母順序排序的參考文獻...568
參考資料