《操作系統設計與實現(第二版)》(Operating Systems Design and Implementation)文字版[PDF]

  • 资源大小:
  • 资源类别:代码
  • 支持语言:全部
  • 预览图片:无预览图
  • 资源格式:综合
  • 资源作者:网络
  • 更新时间:2013-5-24 6:38:51
  • 推荐指数:
  • 运行系统:全部型号
以下是资源列表 推荐使用 电驴 或 迅雷 进行下载
[操作系統設計與實現(第二版)]Operating.Systems.Design.and.Implementation中文文字版.pdf 2.2MB
资源简介
語言: 簡體中文 地區: 大陸 圖書分類: 軟件 中文名: 操作系統設計與實現(第二版) 發行時間: 2004年 原名: Operating Systems Design and Implementation 資源格式: PDF 版本: 文字版 簡介:
本書共6章,涵蓋了操作系統課程的所有内容,即傳統上的進程管理、存儲器管理、文件管理和設備管理, 同時又包含線程、基于消息傳遞系統的構造模型、日志結構文件系統、安全保護機制、RAM及CD—ROM盤等,且以Pentium CPU作爲實例。這樣,既能學習操作系統的經典内容,又能了解當前最新技術。
本書爲第二版,其第一版于1987年出版時,曾引發了操作系統課程教學的一場小變革。因爲,在那以前多數教材隻講理論,而本教材卻是基于理論與具體實例(MINIX)的結合。這對于掌握操作系統的設計與實現是大有稗益的。
本書分爲上、下兩冊。上冊爲正文部分,下冊爲三個附錄及随書光盤.
這裏的資源隻有上冊部分,是從新浪資料裏下載來的
本人是看了《自己動手寫操作系統》一書中的介紹來找這本《操作系統設計與實現》,在vc中竟然沒有,不論是英文版還是中文版都沒有
--------------------------------------------------------------------------------------------------------------
前言回到頂部↑   多數操作系統教材都重理論而輕實踐,本書希望在這二者之間求取較好的平衡。本書詳細論述了操作系統的所有基本概念,包括進程、進程間通信、信号量、管程、消息傳遞、調度算法、輸入/輸出、死鎖、設備驅動程序、存儲器管理、頁面調度算法、文件系統設計、安全與保護機制等。同時,本書也詳細讨論了MINIX(——一個與UNIX(兼容的操作系統,并提供了完整的源代碼供學習之用這樣的安排使讀者不僅學習到理論,而且能夠理解它們如何應用在一個實際的操作系統之中。
本書第一版在1987年出版時,曾引發了操作系統課程教學的一場小小的變革。在此之前多數課程都隻講理論。随着MINIX的出現9許多學校開始增加實驗環節以使學生了解實際的操作系統是如何運作的。我們認爲這種趨勢是可取的3并希望通過本書第二版能進一年加強這種趨勢。
MINIX在其出現以來的十年間發生了許多變化,最初的代碼是爲基于8088芯片、256K内存和兩個軟驅的IBM PC機型編寫的,它基于UNIX版本7。随着時間的推移,MINIX在許多方面有所發展,比如當前版本可運行在衆多機型上,從16位實模式的Pc機到配有大容量硬盤的奔騰機(32位保護模式),而且它不再基于UNIX版本7,而是基于國際上的POSIX标準(POSIX 1003.1和ISO 9945-1)。與此同時,有許多新特征被添加到MINIX中,在我們看來,所增加的特征可能已經太多了,但有些人則認爲還不夠,這最終導緻了LINUX的誕生。 MINIX還被移植到許多其他平台上,包括Macintosh、Amiga、Atari和SPARC.本書隻涉及M則說2.0,到目前爲止,該版本隻能運行于基于80x86的機器或者可模拟此類CPU的機器,或者運行于SPARC機器。
與第一版相比,第二版有許多變化,原理性部分基本都被修改過,同時增加了大量新内容。最主要的變化是新的基于POSIX的MINIX,以及對其源代碼的剖析。另外,每本書都附帶一張CD-ROM,它包含了全部MINIX源代碼,以及在PC上安裝MINIX(的說明(見CD—ROM主目錄下的README.TXT文件).
在一台80x86的PC機上安裝MINIX(很方便。它需要一個至少30MB的硬盤分區,然後按照CD-ROM上README.TXT文件中的步驟進行即可。在打印README.TXT文件之前,先啓動MS-DOS(若運行WINDOWS,則雙擊MS-DOS圖标),然後鍵入copy readme.txt prn即可。該文件也可以用edit、wodpad、notepad等任何可以處理ASCⅡ正文的編輯器進行浏覽。
對于沒有Pc機的學校和個人,有兩種解決辦法,即CD-ROM上提供的兩個模拟程序。一個是由Paul Ashton爲SPARC機器編寫的,可作爲用戶程序在Solaris上運行,此時MINIX被編合成SPARC上的可執行文件。在這種模式下,MINIX不再是一個操作系統,而隻是一個用戶程序,所以必須對其底層做一些修改。
另一個模拟程序由Bochs軟件公司的Kevin P.Lawton編寫,它解釋Intel 80386的指令集以及足以使M取搬運行所需的I/O指令。顯然,在解釋器層次上運行使性能有所下降,但這使得學生更容易進行調試。該模拟程序運行在所有支持M.I.T的x-Window的系統上,更詳細的信息諸參看。CD-ROM上的有關文件。
MINIX仍在繼續發展,本書和CD—ROM中的内容僅僅反映了本書出版時的情況,有關MI-NIX的最新動态請訪問MINIX的主頁:http://www.cs.vu.nl/~ast/minix.html。 MINIX也有自己的USENET新聞組:comp.os.minix,讀者可以訂閱該新聞組。對于僅有e—mdl的讀者可通過以下步驟來加入MINIX的郵件用戶通信組。給1istserv@listserv.nodak.edu發一封信,其中隻需一行字:“subscribe minix-l<您的完整用戶名>”,此後你便會通過e—mai1獲得很多的信息。
講授本課程的教師可以從Prentice Hall出版公司獲得一份習題解答手冊。從WWW地址httP://www.cs.W.nl/ast/沿着“Software and supplementary material”鏈接可以獲得一些有用的PostScript文件,其中包含本書中所有的圖表,可供需要時使用。
在MINIX(的開發項目中我們有幸得到了許多人的幫助。首先要感謝Kees Bot在MINIX标準化和軟件發布中所做的大量工作,沒有他的幫助,我們不可能完成這件工作。他自己編寫了大量的代碼(如POSIX終端I/O),并修正了一些數年來一直存在的錯誤,還整理了其他的代碼。
這些年來,Bruce Evans、Philip Homburg、Will Rose和Michael Temari爲MINIX的開發做了大量的工作。有幾百人通過新聞組對MINIX做出了貢獻,他們人數衆多,所做出的貢獻也各不相同,在此謹向他們一并表示感謝。
John Casey、Dale Grit、Frans Kaashoek等人閱讀了本書的部分手稿并提出了寶貴建議,在此向他們表示謝意。
Vrije大學的許多學生測試了CD—ROM中MINIX的β版本,他們是:Ahmed Batou、Goran Dokic、Peter Gijzel、Thomer Gil、Dennis Grimbergen、Roderick Groesbeek、Wouter haring、Guido Kollerie、Mark Lassche、Raymond Ris、Frans ter Borg、Alex van Ballegooy、Ries van der Velden、Alexander Wels以及Thomas zeeman。我們對他們細緻的工作和詳盡的報告緻以衷心的感謝。
阿爾伯特·S·伍德豪爾向他從前的幾位學生表示感謝,特别是Hampshire學院的Peter W.Young,Nacional Autonma de Nicaragua大學的Maria Isabel Sanchez和Willam Puddy Vargas。
最後要向我們的家庭成員表示感謝。 Suzanne已是第十次在我埋頭寫作時給我支持,對Barbara是第九次,Marvin是第八次,甚至小Bram也是第四次了。他們的支持和愛心對我非常重要。(塔嫩鮑姆)
至于阿爾伯特的Barbara,這倒是第一次,假如沒有她的支持、耐心和幽默,我們是不可能完成這一工作的;對我的兒子Gordon而言,在編寫本書時,他大部分時間都不在家中,而是在大學學習,但是,他與我志趣相投,并能理解和關注我所從事的工作,這讓我感到十分欣慰。(伍德豪爾)
安德魯·S·塔嫩鮑姆
阿爾伯特·S·伍德豪爾 目錄: 第l章 引言
1.1 什麽是操作系統
1.1.1 操作系統作爲虛拟機
1.1.2 操作系統作爲資源管理器
1.2 操作系統發展曆史
1.2.1 第一代計算機(1945~1955):真空管和插闆
1.2.2 第二代計算機(1955~1965):晶體管和批處理系統
1.2.3 第三代計算機(1965~1980):集成電路芯片和多道程序
1.2.4 第四代計算機(1980~現在):個人計算機
1.2.5 minix的曆史
1.3 操作系統基本概念
1.3.1 進程
1.3.2 文件
1.3.3 命令解釋器
1.4 系統調用
1.4.1 進程管理系統調用
1.4.2 信号管理系統調用
1.4.3 文件管理系統調用
1.4.4 目錄管理系統調用
1.4.5 保護系統調用
. 1.4.6 時間管理系統調用
1.5 操作系統結構
1.5.1 整體式系統
1.5.2 層次式系統
1.5.3 虛拟機系統
1.5.4 客戶—服務器系統
1.6 各章内容簡介
1.7 小結
習題
第2章 進程
2.1 進程介紹
2.1.1 進程模型
2.1.2 進程的實現
2.1.3 線程
2.2 進程間通信
2.2.1 競争條件
2.2.2 臨界區
2.2.3 忙等待的互斥
2.2.4 睡眠和喚醒
2.2.5 信号量
2.2.6 管程
2.2.7 消息傳遞
2.3 經典ipc問題
2.3.1 哲學家進餐問題
2.3.2 讀者與者問題
2.3.3 理發師睡覺問題
2.4 進程調度
2.4.1 時間片輪轉調度
2.4.2 優先級調度
2.4.3 多重隊列
2.4.4 最短作業優先
2.4.5 保證調度算法
2.4.6 彩票調度算法
2.4.7 實時調度
2.4.8 兩級調度法
2.4.9 策略與機制
2.5 minix進程概述
2.5.1 minix的内部結構
2.5.2 minix中的進程管理
2.5.3 minix中的進程間通信
2.5.4 minix中的進程調度
2.6 minix中進程的實現
2.6.1 minix源代碼的組織
2.6.2 公共頭文件
2.6.3 minix頭文件
2.6.4 進程數據結構和頭文件
2.6.5 引導minix
2.6.6 系統初始化
2.6.7 minix的中斷處理
2.6.8 minix的進程間通信
2.6.9 minix的進程調度
2.6.10 與硬件相關的内核支持
2.6.11 實用程序和内核庫
2.7 小結
習題
第3章 輸入/輸出系統
3.1 i/o硬件原理
3.1.1 i/o設備
3.1.2 設備控制器
3.1.3 存儲器直接存取
3.2 i/o軟件原理
3.2.1 i/o軟件的目标
3.2.2 中斷處理程序
3.2.3 設備驅動程序
3.2.4 與硬件無關的i/o軟件
3.2.5 用戶空間的i/o軟件
3.3 死鎖
3.3.1 資源
3.3.2 死鎖的原理
3.3.3 鴕鳥算法
3.3.4 死鎖檢測和恢複
3.3.5 死鎖的預防
3.3.6 避免死鎖
3.4 minix i/o系統概述
3.4.1 minix的中斷處理程序
3.4.2 minix的設備驅動程序
3.4.3 minix中與設備無關的i/o軟件
3.4.4 minix中用戶級i/o軟件
3.4.5 minix的死鎖處理
3.5 minix中的塊設備
3.5.1 minix中塊設備驅動程序概述
3.5.2 通用塊設備驅動程序軟件
3.5.3 驅動程序庫
3.6 ram盤
3.6.1 ram盤硬件和軟件
3.6.2 minix中的ram盤驅動程序慨述
3.6.3 mwde中的ram盤驅動程序實現
3.7 磁盤
3.7.1 磁盤硬件
3.7.2 磁盤軟件
3.7.3 minix中的硬盤驅動程序簡介
3.7.4 minix中的硬盤驅動程序實現
3.7.5 軟盤處理
3.8 時鍾
3.8.1 時鍾硬件
3.8.2 時鍾軟件
3.8.3 minix時鍾驅動程序簡介
3.8.4 minix時鍾驅動程序實現
3.9 終端
3.9.1 終端硬件
3.9.2 終端軟件
3.9.3 minix中終端驅動程序簡介
3.9.4 設備無關終端驅動程序實現
3.9.5 鍵盤驅動程序的實現
3.9.6 顯示驅動程序的實現
3.10 minix中的系統任務
3.11 小結
習題
第4章 存儲器管理
4.1 基本的内存管理
4.1.1 沒有交換和分頁的單道程序
4.1.2 固定分區的多道程序
4.2 交換
4.2.1 使用位圖的内存管理
4.2.2 使用鏈表的内存管理
4.3 虛拟存儲器
4.3.1 分頁
4.3.2 頁表
4.3.3 tlb——轉換後援存儲器
4.3.4 逆向頁表
4.4 頁面替換算法
4.4.1 最優頁面替換算法
4.4.2 最近未使用頁面替換算法
4.4.3 先進先出頁面替換算法
4.4.4 第二次機會頁面替換算法
4.4.5 時鍾頁面替換算法
4.4.6 最久未使用頁面替換算法
4.4.7 用軟件仿真lru
4.5 分頁系統中的設計問題
4.5.1 工作集模型
4.5.2 局部與全局分配策略
4.5.3 頁面大小
4.5.4 虛拟存儲器界面
4.6 分段
4.6.1 純分段系統的實現
4.6.2 分段和分頁結合:multics
4.6.3 分段和分頁結合:intel的pentium
4.7 minix内存管理概覽
4.7.1 内存布局
4.7.2 消息處理
4.7.3 内存管理器數據結構和算法
4.7.4 fork、exit和wait系統調用
4.7.5 exec系統調用
4.7.6 brk系統調用
4.7.7 信号處理
4.7.8 其他系統調用
4.8 m minix中内存管理的實現
4.8.1 頭文件和數據結構
4.8.2 主程序
4.8.3 fork、exit和wait的實現
4.8.4 exec的實現
4.8.5 brk的實現
4.8.6 信号處理的實現
4.8.7 其他系統調用的實現
4.8.8 内存管理器工具
4.9 小結
習題
第5章 文件系統
5.1 文件
5.1.1 文件命名
5.1.2 文件結構
5.1.3 文件類型
5.1.4 文件存取
5.1.5 文件屬性
5.1.6 文件操作
5.2 目錄
5.2.1 層次目錄系統
5.2.2 路徑名’
5.2.3 目錄操作
5.3 文件系統的實現
5.3.1 實現文件
5.3.2 實現目錄
5.3.3 磁盤空間管理
5.3.4 文件系統的可靠性
5.3.5 文件系統性能
5.3.6 日志結構的文件系統
5.4 安全性
5.4.1 安全環境
5.4.2 著名的安全缺陷
5.4.3 一般的安全性攻擊
5.4.4 安全性的設計原則
5.4.5 用戶驗證
5.5 保護機制
5.5.1 保護域
5.5.2 存取控制表
5.5.3 權限
5.5.4 隐藏通道
5.6 minix文件系統概述
5.6.1 消息
5.6.2 文件系統布局
5.6.3 位圖
5.6.4 i節點
5.6.5 塊高速緩存
5.6.6 目錄和路徑
5.6.7 文件描述符
5.6.8 文件鎖
5.6.9 管道和設備文件
5.6.10 一個例子:read系統調用
5.7 minix文件系統的實現
5.7.1 頭文件和全局變量
5.7.2 表的管理
5.7.3 主程序
5.7.4 對單個文件的操作
5.7.5 目錄和路徑
5.7.6 其他系統調用
5.7.7 i/o設備界面
5.7.8 一般的實用程序
5.8 小結
習題
第6章 閱讀材料和參考文獻
6.1 推薦的進一步的閱讀材料
6.1.1 介紹和概論
6.1.2 進程
6.1.3 輸入/輸出
6.1.4 存儲器管理
6.1.5 文件系統
6.2 按字母排序的參考文獻
相关内容
语言: 英文 地区: 美国 图书分类: 软件 中文名: Linux杂志2013年5月 发行时间: 2013[查看详细]
语言: 简体中文 地区: 大陆 图书分类: 旅游/摄影 中文名: 爱孩子爱摄影 发行时[查看详细]
语言: 简体中文 地区: 大陆 图书分类: 旅游/摄影 中文名: 数码单反相机巧用72技 [查看详细]
电驴云下载 网站地图 最近更新 收藏本页 返回顶部
Copyright @ 电驴云下载 - www.verycd9.com All Rights Reserved
声明:本站内容来自网络,如有意见请与我们联系。谢谢!
255.4 毫秒 2017-01-23 06:24:53 357932