《操作系統(tǒng)原理與Linux系統(tǒng)實驗》全面、系統(tǒng)地闡述了現(xiàn)代操作系統(tǒng)的基本原理、主要功能及實現(xiàn)技術,重點論述多用戶、多任務操作系統(tǒng)的運行機制,系統(tǒng)資源管理的策略和方法,操作系統(tǒng)提供的用戶界面。《操作系統(tǒng)原理與Linux系統(tǒng)實驗》給出了一個操作系統(tǒng)實驗體系。該實驗體系涉及操作系統(tǒng)的核心實現(xiàn)技術和一些重要的實際應用,包括進程控制、增加新的系統(tǒng)功能調(diào)用、增加新的設備驅(qū)動程序等操作系統(tǒng)功能模塊的實現(xiàn)方法;還包括Linux文件系統(tǒng)、服務器配置與應用的范例。每個實驗都是一個完整的小體系,包括:預備知識、實驗指導、實驗目的和內(nèi)容以及實驗中的程序范例。
《操作系統(tǒng)原理與Linux系統(tǒng)實驗》既可作為高等院校計算機和信息類本科、專科各專業(yè)和其他相關專業(yè)的教材,亦可供從事計算機科學、工程和應用等方面工作的科技人員參考。
龐麗萍,華中科技大學教授,博士生導師,1967年畢業(yè)于北京郵電學院(現(xiàn)北京郵電大學)無線電通信專業(yè)。曾任國家教育部工科計算機基礎課程教學指導委員會委員、中國計算機學會教育與培訓專業(yè)委員會委員。長期從事計算機操作系統(tǒng)、分布式計算機系統(tǒng)的研究和教學工作;主要研究方向為并行分布式系統(tǒng)。編著的《操作系統(tǒng)原理》(第三版)2002年獲全國普通高等學校優(yōu)秀教材二等獎;主持的“操作系統(tǒng)原理”課程獲2007年國家級精品課程;編著了《操作系統(tǒng)原理》等11本教材:1995年獲首屆“孺子牛金球獎”[香港柏寧頓(中國)教育基金會頒發(fā)];2003年獲湖北省科技進步一等獎1項;獲2004年度寶鋼教育獎優(yōu)秀教師獎。
鄭然,華中科技大學博士,副教授。主要從事操作系統(tǒng)原理、多核操作系統(tǒng)實踐等課程的講授,主要研究方向為高性能計算、圖像處理應用、計算系統(tǒng)虛擬化。在國內(nèi)外學術刊物和國際會議上發(fā)表論文30余篇,主持并參與多個國家項目。2003年獲湖北省科技進步一等獎1項,2008年獲湖北省科技進步二等獎1項;獲得國家發(fā)明專利3項,軟件著作版權5項。
前言
教學建議
第一篇 操作系統(tǒng)原理
第1章 緒論
1.1 操作系統(tǒng)與計算機系統(tǒng)的關系
1.1.1 計算機系統(tǒng)的組成
1.1.2 操作系統(tǒng)在計算機系統(tǒng)中的位置
1.1.3 操作系統(tǒng)與計算機體系結(jié)構的關系
1.2 操作系統(tǒng)的發(fā)展歷程_
1.2.1 操作系統(tǒng)的發(fā)展階段
1.2.2 多道程序設計技術與分時技術
1.3.操作系統(tǒng)的基本概念
1.3.1 操作系統(tǒng)的定義和特性
1.3.2 操作系統(tǒng)的資源管理功能
1.4 操作系統(tǒng)的基本類型
I.4.1 批量操作系統(tǒng)
1.4.2 分時操作系統(tǒng)
1.4.3 實時操作系統(tǒng)
1.4.4 個人計算機操作系統(tǒng)
1.4.5 網(wǎng)絡操作系統(tǒng)
1.4.6 分布式操作系統(tǒng)
1.5 操作系統(tǒng)采用的關鍵技術
1.5.1 操作系統(tǒng)采用的并行處理技術
1.5.2 操作系統(tǒng)采用的虛擬技術
習題1
第2章 操作系統(tǒng)的運行基礎與結(jié)構
2.1 操作系統(tǒng)的運行基礎
2.1.1 處理機的態(tài)
2.1.2 特權指令
2.1.3 中斷概念及類型
2.1.4 國斷進入
2.1.5 軟件中斷處理過程
2.1.6 向量中斷
2.2 操作系統(tǒng)虛擬機
2.3 操作系統(tǒng)的邏輯結(jié)構
2.3.1 操作系統(tǒng)的四種組織結(jié)構
2.3.2 Linux操作系統(tǒng)的邏輯結(jié)構
2.4 操作系統(tǒng)運行時的調(diào)用方式
習題2
第3章 操作系統(tǒng)的用戶界面
3.1 操作系統(tǒng)提供的環(huán)境
3.1.1 操作系統(tǒng)的生成和系統(tǒng)引導
3.1.2 應用程序的處理
3.2 用戶界面
3.2.1 用戶界面概述
3.2.2 操作系統(tǒng)提供的用戶界面
3.3 系統(tǒng)功能調(diào)用
3.3.1 系統(tǒng)功能調(diào)用的定義
3.3.2 系統(tǒng)功能調(diào)用的實現(xiàn)
3.3.3 應用編程接口
習題3
第4章 進程及進程管理
4.1 進程的引入
4.1.1 程序的順序執(zhí)行
4.1.2 程序的并發(fā)執(zhí)行
4.2 進程的相關概念
4.2.1 進程的定義
4.2.2 進程的狀態(tài)與變遷
4.2.3 進程描述
4.2.4 線程的定義與狀態(tài)
4.3 進程控制
4.3.1 進程控制的概念
4.3.2 進程創(chuàng)建與撤銷
4.3.3 進程等待與喚醒
4.4 進程協(xié)作與系統(tǒng)的支持
4.4.1 進程競爭與合作
4.4.2 進程互斥的概念
4.4.3 進程同步的概念
4.4.4 鎖和上鎖、開鎖操作
4.4.5 信號燈和P、V操作
4.5 進程互斥與同步的實現(xiàn)
4.5.1 用鎖機制實現(xiàn)進程互斥
4.5.2 用信號燈機制實現(xiàn)進程互斥
4.5.3 進程同步的實現(xiàn)
4.5.4 生產(chǎn)者-消費者問題
4.6 進程通信
4.6.1 進程通信的概念
4.6.2 進程通信方式
習題4
第5章 操作系統(tǒng)的資源管理
5.1 資源管理的機制與策略
5.1.1 資源管理任務
5.1.2 虛擬資源
5.1.3 資源分配機制
5.1.4 資源分配策略
5.2 死鎖及其解決方法
5.2.1 死鎖的定義與例子
5.2.2 產(chǎn)生死鎖的原因和必要條件
5.2.3 解決死鎖問題的策略
5.2.4 鎖的預防
5.2.5 死鎖的避免
5.3 處理機管理
5.3.1 處理機的多級調(diào)度
5.3.2 作業(yè)調(diào)度
5.3.3 進程調(diào)度的功能
5.3.4 調(diào)度方式
5.3.5 進程調(diào)度算法
5.3.6 調(diào)度用的進程狀態(tài)變遷圖
5.4 主存管理
5.4.1 主存管理的功能
5.4.2 分區(qū)存儲管理及其存在的問題
5.4.3 分頁存儲管理的基本概念
5.4.4 頁式地址變換
5.4.5 請求頁面的機制
5.4.6 淘汰機制與策略
5.4.7 段頁式存儲管理
5.5 設備管理
5.5.1 設備管理的功能
5.5.2 設備獨立性與設備控制塊
5.5.3 緩沖技術
5.5.4 設備分配技術
5.5.5 輸入/輸出控制
5.6 文件系統(tǒng)
5.6.1 文件與文件系統(tǒng)
5.6.2 文件的邏輯結(jié)構和存取方法
5.6.3 文件的物理結(jié)構
5.6.4 文件目錄
5.6.5 文件共享與安全
5.6.6 文件操作與文件備份
習題5
第6章 Linux系統(tǒng)簡介
6.1 Linux的發(fā)展歷程
6.2 Linux的基本特性
6.3 Linux的發(fā)行版本
……
第二篇 Linux系統(tǒng)實驗
3)微觀上串行。從微觀上看,主存中的多道程序輪流或分時地占有CPU,交替執(zhí)行。
如何理解宏觀上并行這一特征?在單處理機系統(tǒng)中只有一個指令計數(shù)器。CPU嚴格地按照指令計數(shù)器的內(nèi)容順序地執(zhí)行每一個操作,即一個時刻只能有一個程序在CPU上運行。那么,多道程序如何并行執(zhí)行呢?由于計算機系統(tǒng)有多個物理部件(如CPU、輸入機、打印機等),進入主存的多道程序可以在不同的部件上進行操作。例如某時刻程序A正在CPU上運行,程序B在打印輸出,程序C正在輸入數(shù)據(jù),從宏觀上看,這幾道程序的工作都在向前推進,它們都處于執(zhí)行狀態(tài)。微觀上串行這一特征表現(xiàn)在同時被接收進入計算機的多道程序在CPU上是相互穿插地運行,當正在CPU上運行的程序因為輸入或輸出等原因而不能繼續(xù)運行下去時,就將CPU分配給另一道程序。所以從微觀上看,一個時刻只有一個程序在CPU上運行。
多道程序同時進入系統(tǒng)進行成批處理,形成了批處理系統(tǒng)。在這樣的系統(tǒng)中,大量的用戶程序以作業(yè)為單位成批進入系統(tǒng)。用戶以脫機操作方式使用計算機,即用戶事先把自己的算題程序和數(shù)據(jù)以及操作說明書(包含了用戶對作業(yè)的控制意圖和對系統(tǒng)資源的需求)交給操作員后,他就完全脫離了自己的作業(yè),待處理結(jié)束后,用戶才能拿到計算結(jié)果,根據(jù)結(jié)果分析下一步方案。脫機工作方式使計算機的效率提高了,但卻給用戶使用計算機帶來了麻煩。
2.分時技術
由用戶通過終端設備直接操作、控制自己程序的運行,這種操作方式稱為聯(lián)機工作方式。在這種方式下,用戶可以通過終端向計算機發(fā)出各種控制命令,使系統(tǒng)按自己的意圖控制程序的運行;另一方面,系統(tǒng)在運行過程中輸出一些必要的信息,例如給出提示符,報告運行情況和操作結(jié)果,以便讓用戶根據(jù)此信息決定下一步的工作。這樣,用戶和計算機可采用直接的問答方式來處理用戶的程序。人們希望能直接控制自己程序的運行,隨時了解其運行情況,也就是希望和計算機“會話”。
……