《國家精品課程配套教材:計算機作業系統》是人民郵電出版社出版的圖書,作者是龐麗萍。
基本介紹
- 書名:國家精品課程配套教材:計算機作業系統
- 類型:計算機與網際網路
- 出版日期:2010年8月1日
- 語種:簡體中文
- ISBN:9787115232496
- 作者:龐麗萍
- 出版社:人民郵電出版社
- 頁數:275頁
- 開本:16開
- 品牌:人民郵電出版社
內容簡介,作者簡介,圖書目錄,序言,
內容簡介
《計算機作業系統》全面、系統地闡述了現代作業系統的基本原理、主要功能及實現技術。重點論述多用戶、多任務作業系統的運行機制;系統資源管理的策略和方法;作業系統提供的用戶界面。討論了現代作業系統採用的並行處理技術和虛擬技術。《計算機作業系統》以Linux系統為實例,剖析了其特點和具體的實現技術。《計算機作業系統》既可作為高等院校計算機和信息類本科、專科各專業和其他相關專業教材,亦可供從事計算機科學、工程、套用等方面工作的科技人員參考使用。
《計算機作業系統》:國家精品課程配套教材
《計算機作業系統》在內容的選取上注重基礎性、實質性、先進性;框架的設計上注重邏輯性、完整性。將作業系統組織成一個邏輯清晰的整體並提煉了並發、共享的主線。一針對前者《計算機作業系統》論述了現代作業系統的進程概念、支持多進程運行必需的機制及功能針對後者論述了系統資源的管理策略與方法。全書以當前流行的Linux作業系統為實例,剖析其特點和實現技術,尋作業系統原理的理論知識與實際的實現方法有機地結合、相互印證。《計算機作業系統》提出實現現代作業系統的關鍵技術是並行處理技術和虛擬技術,並力圖以這種思想方法引領讀者理解作業系統的原理、實施策略和方法。
注重基礎性、實質性、先進性
以並行處理技術和虛擬技術為綱
剖析作業系統原理、實現策略和方法
《計算機作業系統》在內容的選取上注重基礎性、實質性、先進性;框架的設計上注重邏輯性、完整性。將作業系統組織成一個邏輯清晰的整體並提煉了並發、共享的主線。一針對前者《計算機作業系統》論述了現代作業系統的進程概念、支持多進程運行必需的機制及功能針對後者論述了系統資源的管理策略與方法。全書以當前流行的Linux作業系統為實例,剖析其特點和實現技術,尋作業系統原理的理論知識與實際的實現方法有機地結合、相互印證。《計算機作業系統》提出實現現代作業系統的關鍵技術是並行處理技術和虛擬技術,並力圖以這種思想方法引領讀者理解作業系統的原理、實施策略和方法。
注重基礎性、實質性、先進性
以並行處理技術和虛擬技術為綱
剖析作業系統原理、實現策略和方法
作者簡介
龐麗萍,華中科技大學教授,博導,1967年畢業於北京郵電學院無線電專業。曾任國家教育部工科計算機基礎課程教學指導委員會委員、中國計算機學會教育與培訓專業委員會委員。主持的“作業系統原理”課程獲2007年國家級精品課程;獲2004年度寶鋼教育獎優秀教師獎;1995年獲首屆“孺子牛金球獎”(香港柏寧頓(中國)教育基金會頒發)。長期從事計算機作業系統、分散式計算機系統的研究和教學工作。主要研究方向為並行分散式系統。是“區域網路上異構的分散式作業系統”、“基於UNIX的分散式作業系統”、“實時分散式UNIX作業系統實現技術”等預研及基金項目的負責人和研製者。並參加完成了211行動計畫項目“集群超級網路伺服器聚集技術”、973項目“下一代網際網路信息存儲的組織模式和核心技術研究”。編著了《作業系統原理》等11本教材。
圖書目錄
第1章 緒論
1.1 作業系統在計算機系統中的地位
1.1.1 存儲程式式計算機的結構和特點
1.1.2 作業系統與計算機系統各層次的關係
1.1.3 作業系統與計算機體系結構的關係
1.2 作業系統的形成和發展
1.2.1 作業系統發展的初級階段
1.2.2 作業系統的形成
1.2.3 作業系統的進一步發展
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.6 Linux系統概述
1.6.1 UNIX系統及其特點
1.6.2 Linux系統形成和發展的基礎
1.6.3 Linux系統及其特點
習題1
第2章 作業系統的結構和硬體支持
2.1 作業系統虛擬機
2.2 作業系統的組織結構
2.2.1 作業系統的結構
2.2.2 運行時的組織結構
2.2.3 作業系統與計算機系統各層次的接口
2.3 處理機的特權級
2.3.1 處理機的狀態及分類
2.3.2 特權指令
2.4 中斷及其處理
2.4.1 中斷的概念及類型
2.4.2 向量中斷和探詢中斷
2.4.3 中斷進入
2.4.4 軟體中斷的處理過程
2.5 Linux系統的核心結構
2.6 Linux系統的特權級與中斷處理
2.6.1 Linux系統的特權級
2.6.2 中斷處理的上半部和下半部
2.6.3 中斷處理下半部的實現機制
習題2
第3章 作業系統的用戶接口
3.1 用戶工作環境
3.1.1 作業系統提供的環境
3.1.2 作業系統的生成和系統初啟
3.1.3 應用程式的處理
3.2 用戶接口
3.2.1 用戶接口的定義
3.2.2 作業系統提供的用戶接口
3.3 系統功能調用
3.3.1 系統功能調用的定義
3.3.2 系統功能調用的實現
3.3.3 應用程式的編程接口
3.4 Linux系統功能調用
3.4.1 Linux系統功能調用的過程
3.4.2 Linux系統功能調用的實現機制
3.4.3 增加一個新的系統調用的方法
3.4.4 從用戶空間訪問新的系統調用
習題3
第4章 進程及進程管理
4.1 進程的引入
4.1.1 順序程式及特點
4.1.2 並發程式及特點
4.1.3 與時間有關的錯誤
4.2 進程的概念
4.2.1 進程的定義
4.2.2 進程的狀態
4.2.3 進程控制塊
4.3 進程控制
4.3.1 進程控制的概念
4.3.2 進程創建與撤銷
4.3.3 進程阻塞與喚醒
4.4 進程之間的約束關係
4.4.1 進程競爭與合作
4.4.2 進程互斥的概念
4.4.3 進程同步的概念
4.5 同步機構
4.5.1 鎖和上鎖、開鎖操作
4.5.2 信號燈和P、V操作-
4.6 進程互斥與同步的實現
4.6.1 上鎖原語和開鎖原語實現進程互斥
4.6.2 信號燈實現進程互斥
4.6.3 進程同步的實現
4.6.4 生產者——消費者問題
4.7 進程通信
4.7.1 進程通信的概念
4.7.2 進程通信方式
4.8 執行緒概念及特點
4.8.1 執行緒的概念
4.8.2 執行緒的特點與狀態
4.9 Linux系統的進程管理
4.9.1 Linux系統的進程與執行緒
4.9.2 進程描述符及其主要內容
4.9.3 進程描述符的獲得
4.9.4.Linux系統進程狀態的變遷
4.9.5 Linux系統的進程創建和終止
4.9.6 Linux系統的進程等待與喚醒
4.9.7 Linux系統中執行緒的實現
習題4
第5章 資源分配與調度
5.1 資源管理概述
5.1.1 資源管理的目的和任務
5.1.2 虛擬資源
5.2 資源管理的機制和策略
5.2.1 資源分配機制
5.2.2 資源分配策略
5.3 死鎖
5.3.1 死鎖的定義與例子
5.3.2 產生死鎖的原因和必要條件
5.3.3 系統模型和死鎖的處理
5.3.4 解決死鎖問題的策略
5.3.5 死鎖的預防
5.3.6 死鎖的避免
5.3.7 死鎖的檢測與忽略
習題5
第6章 處理機調度
6.1 處理機的多級調度
6.2 針對作業的調度
6.2.1 作業的狀態
6.2.2 作業調度的功能與作業控制塊
6.2.3 作業調度算法性能的衡量
6.2.4 作業調度算法
6.3 進程調度
6.3.1 調度份派結構
6.3.2 進程調度的功能
6.3.3 調度方式
6.3.4 進程優先數調度算法
6.3.5 循環輪轉調度
6.3.6 多級反饋佇列調度
6.3.7 調度用的進程狀態變遷圖
6.4 執行緒調度
6.5 Linux系統的進程調度
6.5.1 進程調度程式的設計目標和特點
6.5.2 可變優先權
6.5.3 可變時間片
6.5.4 進程調度用的數據結構
6.5.5 Linux系統的進程調度算法
習題6
第7章 主存管理
7.1 主存管理概述
7.1.1 主存分片共享
7.1.2 程式的邏輯組織
7.2 主存管理的功能
7.2.1 虛擬存儲器
7.2.2 地址映射
7.2.3 主存分配
7.2.4 存儲保護
73分區存儲管理及其存在的問題
7.3.1 動態分區存儲管理技術
7.3.2 分區分配機構
7.3.3 分區的分配與放置策略
7.3.4 碎片問題及拼接技術
7.4 頁式存儲管理
7.4.1 頁式系統應解決的問題
7.4.2 頁式地址變換
7.4.3 請調頁面的機制
7.4.4 淘汰機制與策略
7.4.5 幾種置換算法
7.5 段式系統和段頁式系統
7.5.1 段式地址結構
7.5.2 段式地址變換
7.5.3 擴充段表功能
7.5.4.段頁式存儲管理
7.6 Linux系統的存儲管理
7.6.1 主存定址
7.6.2 Linux系統段頁式地址變換
7.6.3 Linux系統動態核心管理
7.6.4 Linux系統的進程地址空間
習題7
第8章 設備管理
8.1設備管理概述
8.1.1 設備管理的功能
8.1.2 設備獨立性
8.1.3 設備控制塊
8.2 緩衝技術
8.2.1 緩衝概述
8.2.2 常用的緩衝技術
8.2.3 UNIX系統的緩衝區管理
8.3 設備分配
8.3.1 設備分配概述
8.3.2 獨享分配
8.3.3 共享分配
8.3.4 虛擬分配
8.4 輸入/輸出控制
8.4.1 輸入/輸出硬體
8.4.2 輸入/輸出控制方式
8.4.3 輸入/輸出子系統
8.4.4 輸入/輸出控制的例子
8.5 Linux系統的設備驅動
8.5.1 Linux系統設備的分類
8.5.2 設備檔案及其標識
8.5.3 Linux塊設備的處理
8.5.4 用於塊設備處理的數據結構
8.5.5 輸入/輸出調度程式
8.5.6 策略例程
習題8
第9章 檔案系統
9.1 檔案系統概述
9.1.1 檔案
9.1.2 檔案系統
9.1.3 檔案的組織
9.2 檔案的邏輯結構和存取方法
9.2.1 檔案的邏輯結構
9.2.2 檔案的存取方法
9.3 檔案的物理結構
9.3.1 連續檔案
9.3.2 串聯檔案
9.3.3 索引檔案
9.3.4 檔案物理結構比較
9.3.5 UNIX系統的索引檔案結構
9.4 檔案目錄
9.4.1 檔案目錄及其內容
9.4.2 一級檔案目錄及缺點
9.4.3 多級檔案目錄
9.5 共享與安全
9.5.1 檔案共享與安全性的關係
9.5.2 檔案共享的實現方法
9.5.3 存取許可權的類型及其驗證
9.6 檔案操作與檔案備份
9.6.1 檔案操作
9.6.2 檔案備份
9.7 Linux檔案系統
9.7.1 虛擬檔案系統(virtual file system VFS)概述
9.7.2 VFS通用檔案系統模型與VFS對象
9.7.3 與進程相關的數據結構
9.7.4 VFS系統調用的實現
9.7.5 EXt2檔案系統概述
9.7.6 EXt2磁碟數據結構
9.7.7 EXt2磁碟空間的管理
9.7.8 Ext2主存數據結構
習題9
模擬試題1
模擬試題2
模擬試題1答案
模擬試題2答案
參考文獻
序言
作業系統是計算機系統的核心軟體,它管理和控制整個計算機系統,使之能正確、有效地運轉,為用戶提供方便的服務。作業系統複雜且神秘,使人們感覺它威力無比,能量無限。學習作業系統就是要揭開它神秘的面紗,剖析它的複雜性,理解並掌握它,為深入學習計算機專業、信息類專業知識,進一步提升軟體開發能力、乃至系統軟體開發能力打下堅實的基礎。
要學懂作業系統,必須了解作業系統的特點;要寫好作業系統教材,也必須根據作業系統的特點確定教材內容的選取和教材的編寫方法。作業系統的特點是:①內容龐雜、涉及面廣。作業系統是計算機系統的管理軟體,它對計算機系統中的所有硬體和軟體實施管理和控制,為用戶提供良好的接口;②動態性、並行性。現代作業系統都是多用戶、多任務作業系統,支持大量的活動同時運行,各種活動都處在不斷變化的過程中;③實踐性強。現在所有運轉著的計算機都配置了作業系統。各種類型的作業系統正在運轉,為用戶提供服務;④技術發展快。作業系統的實現技術和方法在不斷地變化。
針對作業系統的特點,本書在內容的選取上注重基礎性、實質性、先進性;框架的設計上注重邏輯性、完整性,力圖將作業系統內容組織成一個邏輯清晰的整體。在這一整體中始終貫穿著並發、共享的主線。在這一主線下,有一條動態的、進程活動軌跡,還有一個系統資源管理的剖面。針對動態的進程活動,本書論述了作業系統需要提出的重要的概念——進程;支持多進程運行必需的機制(包括數據結構、實施進程控制與進程調度的設施)及功能。對系統資源管理則根據多用戶、多任務環境的特點,討論系統資源的共享,資源管理的策略與方法。為解決作業系統實踐性強的問題,本書探討了作業系統原理與實際運行的作業系統之間的關係:原理是實際作業系統採用的各種技術的提煉;實際作業系統採用的技術和方法是原理內容的具體體現。本書以當前流行的Linux作業系統為實例,剖析其特點和實現技術,使作業系統原理中的理論知識與作業系統實例的具體實現方法有機地結合、相互印證。隨著作業系統技術的不斷發展,作業系統教材在抓住基礎性的同時,也需要不斷地更新。本書提出了實現現代作業系統的關鍵技術是並行處理技術和虛擬技術,並力圖以這種思想方法引領讀者思考、理解作業系統的原理和它實施的策略和方法。
本書的論述力求深入淺出,通俗易懂,使讀者便於閱讀和理解。為了讓讀者能建立作業系統整體輪廓,抓住作業系統的主線,在第1章緒論中討論了作業系統在計算機系統中的地位、作業系統應解決的基本問題、作業系統採用的關鍵技術。這些內容在讀者還沒有了解作業系統時是不能很好地理解的。但這些內容可以作為指導引領讀者去理解後面各章的相關內容。當讀者學完了全書內容,再回頭看第l章,就會理解現代作業系統的最基本的、最關鍵的實現技術。
書中所有算法採用類c的偽碼來描述。因為,這種語言與PDL語言十分相似,它含有更多的自然語言,這樣使讀者容易掌握算法的功能。
要學懂作業系統,必須了解作業系統的特點;要寫好作業系統教材,也必須根據作業系統的特點確定教材內容的選取和教材的編寫方法。作業系統的特點是:①內容龐雜、涉及面廣。作業系統是計算機系統的管理軟體,它對計算機系統中的所有硬體和軟體實施管理和控制,為用戶提供良好的接口;②動態性、並行性。現代作業系統都是多用戶、多任務作業系統,支持大量的活動同時運行,各種活動都處在不斷變化的過程中;③實踐性強。現在所有運轉著的計算機都配置了作業系統。各種類型的作業系統正在運轉,為用戶提供服務;④技術發展快。作業系統的實現技術和方法在不斷地變化。
針對作業系統的特點,本書在內容的選取上注重基礎性、實質性、先進性;框架的設計上注重邏輯性、完整性,力圖將作業系統內容組織成一個邏輯清晰的整體。在這一整體中始終貫穿著並發、共享的主線。在這一主線下,有一條動態的、進程活動軌跡,還有一個系統資源管理的剖面。針對動態的進程活動,本書論述了作業系統需要提出的重要的概念——進程;支持多進程運行必需的機制(包括數據結構、實施進程控制與進程調度的設施)及功能。對系統資源管理則根據多用戶、多任務環境的特點,討論系統資源的共享,資源管理的策略與方法。為解決作業系統實踐性強的問題,本書探討了作業系統原理與實際運行的作業系統之間的關係:原理是實際作業系統採用的各種技術的提煉;實際作業系統採用的技術和方法是原理內容的具體體現。本書以當前流行的Linux作業系統為實例,剖析其特點和實現技術,使作業系統原理中的理論知識與作業系統實例的具體實現方法有機地結合、相互印證。隨著作業系統技術的不斷發展,作業系統教材在抓住基礎性的同時,也需要不斷地更新。本書提出了實現現代作業系統的關鍵技術是並行處理技術和虛擬技術,並力圖以這種思想方法引領讀者思考、理解作業系統的原理和它實施的策略和方法。
本書的論述力求深入淺出,通俗易懂,使讀者便於閱讀和理解。為了讓讀者能建立作業系統整體輪廓,抓住作業系統的主線,在第1章緒論中討論了作業系統在計算機系統中的地位、作業系統應解決的基本問題、作業系統採用的關鍵技術。這些內容在讀者還沒有了解作業系統時是不能很好地理解的。但這些內容可以作為指導引領讀者去理解後面各章的相關內容。當讀者學完了全書內容,再回頭看第l章,就會理解現代作業系統的最基本的、最關鍵的實現技術。
書中所有算法採用類c的偽碼來描述。因為,這種語言與PDL語言十分相似,它含有更多的自然語言,這樣使讀者容易掌握算法的功能。