《高等學校教材:UNIX作業系統教程》是1985年西安電子科技大學出版社出版的書籍,作者是尤晉元。
基本介紹
- 書名:高等學校教材:UNIX作業系統教程
- 類型:Unix
- 出版日期:1985年6月1日
- 語種:簡體中文
- ISBN:756060000X
- 品牌:西安電子科技大學出版社
- 作者:尤晉元
- 出版社:西安電子科技大學出版社
- 頁數:319頁
- 開本:16
- 定價:16.20
內容簡介
圖書目錄
一、設定作業系統的目的
(一)設定作業系統的兩個目的
(二)軟、硬體資源分類
二、作業系統分類
(一)實時系統
(二)作業處理系統
三、作業系統的功能
(一)從人工操作到機器自動處理
(二)用快速輸入、輸出代替低速輸入、輸出
(三)從串列操作到並行操作
(四)從單道到多道程式
(五)分時作業系統的出現
(六)作業處理作業系統功能綜合
四、作業系統的特性
(一)並發
(二)共享
(三)長期的信息儲存
(四)不確定性
五、作業系統的性能
(一)可靠性
(二)效率
(三)可維護性
六、UNIX作業系統的發展歷史和特點
(一)UNIX系統的產生和發展
(二)UNIX系統的某些特點
七、UNIX的結構
(一)UNIX系統的基本結構
(二)UNIX核心源程式結構
習題
第二章 程式設計語言C
一、數據類型、運算符和表達式
(一)從一個簡單程式開始
(二)華氏一攝氏溫度對照表列印程式
(三)數據類型
(四)常數
(五)運算符
二、控制流
(一)語句和複合語句
(二)二路選擇語句if—else
(三)多路選擇語句switch
(四)循環語句while和for
(五)循環語句do-while
(六)break和continue語句
(七)goto語句
三、符號常數和預處理程式
(一)符號常數
(二)宏代換
(三)檔案蘊含
(四)條件編譯
四、兩個輸入、輸出程式及其套用
(一)字元輸入和輸出
(二)複製檔案
(三)檔案字元、字和行計數
五、函式
(一)函式的一般形式
(二)一個例子
(三)返回語句和返回值
(四)參數傳遞方式
(五)變數存儲類型
(六)遞歸調用
六、指針
(一)指針和地址
(二)指針和函式參數
(三)指針和數組
(四)指針運算
(五)二維數組和指針
(六)指針和函式
七、結構
(一)結構的基本形式
(二)結構指針和函式
(三)結構數組和指針
(四)結構的靈活套用
習題
第三章 並發進程
一、程式和進程
(一)程式的順序執行
(二)資源共享和程式的並發運行
(三)各種程式活動的相互依賴和制約
(四)進程概念的引入和描述
(五)進程和程式的區別和聯繫
(六)對並發和不確定性的再說明
二、進程的表示及調度狀態
(一)進程的表示
(二)進程的狀態
三、進程通訊
(一)同步
(二)互斥和臨界區
(三)實施臨界區互斥的鎖操作法
(四)信號量
(五)高級通訊機構
四、UNIX作業系統中的進程
(一)UNIX進程與圖象
(二)UNIX進程的兩種運行狀態
(三)UNIX進程的存儲器圖象
(四)進程基本控制塊
(五)進程擴充控制塊
(六)共享正文段
習題
第四章 中斷和陷入
一、概述
(一)中斷及其一般處理過程
(二)中斷優先權和多重中斷
(三)中斷源分類
(四)陷入和系統調用
二、PDP-11的中斷機構
(一)處理機狀態字ps
(二)中斷的多線、多級結構
(三)中斷矢量
三、UNIX中斷處理
(一)中斷隱指令
(二)現場保護和參數傳遞
(三)設備處理子程式
(四)恢復現場和退出中斷
(五)多重中斷
四、時鐘管理
(一)時鐘中斷處理子程式
(二)時鐘中斷處理的特點
五、陷入處理
(一)陷入分類
(二)陷入處理子程式
六、系統調用處理
(一)參數傳遞
(二)系統調用處理程式入口表
(三)系統調用基本處理過程
七、小結
習題
第五章 存儲管理
一、概述
(一)二級存儲器及信息傳送
(二)存儲器分配
(三)地址重定位
(四)信息保護
二、PDP-11記憶體管理機構
(一)虛地址字
(二)記憶體管理暫存器
(三)虛地址到物理地址的轉換
三、UNIX存儲管理_
(一)在虛、實地址空間中的UNIX進程圖象
(二)虛、實地址映照
(三)存儲資源管理
(四)UNIX存儲管理中的保護
(五)UNIX存儲管理小結
四、虛擬存儲器
(一)虛擬存儲器的基本思想
(二)用分頁技術實施虛擬存儲器
(三)段式虛擬存儲器
(四)段頁式虛擬存儲器
(五)在段式系統中的存放位置選擇算法
(六)頁式系統中的淘汰算法
(七)段式系統中的淘汰算法
(八)調入算法
(九)工作集模型
習題
第六章 進程管理
一、UNIX中進程的各種調度狀態
(一)運行狀態
(二)睡眠狀態
(三)其它狀態
(四)進程調度狀態轉換圖
二、進程切換調度
(一)進程調度的一般原理
(二)UNIX進程切換調度算法
(三)進程切換調度的條件和時機
(四)進程切換調度程式swtch
(五)UNIX進程調度小結
三、進程的睡眠和喚醒
(一)進程睡眠
(二)喚醒睡眠進程
(三)系統調用sleep(seconds)
四、進程圖象在記憶體和盤交換區之間的傳送
(一)進程圖象傳送和切換調度的關係
(二)進程圖象調入記憶體算法
(三)進程圖象調出記憶體算法
(四)進程圖象傳送程式sched
(五)進程圖象傳送對系統性能的影響
五、進程的創建
(一)進程的樹形體系
(二)創建進程的基本任務和方式
(三)創建進程的基本工作過程
(四)創建進程的系統調用fork
六、進程終止和父、子進程的同步
(一)進程自我終止
(二)父進程等待予進程終止
七、數據段和棧段的擴大、縮小
(一)進程占用存儲區的長度變更
(二)用戶棧的擴充
(三)數據段長度的變更
習題
第七章 信號和跟蹤
一、概述
二、信號機構的工作原理
(一)信號類型
(二)信號的產生、傳送和同步
(三)信號處理方式
(四)信號檢測和處理
(五)信號機構套用舉例
三、跟蹤機構的工作原理
(一)父、子進程的基本跟蹤過程
(二)跟蹤要求和命令的提出及傳送
(三)跟蹤處理過程的啟動及stop程式
(四)系統詞用wait在跟蹤機構中的套用
(五)跟蹤命令的執行和procxmt程式
(六)跟蹤機構工作綜述
四、跟蹤機構在斷點調試中的套用
習題
第八章 字元塊設備管理
一、概述
(一)設備分類
(二)設備管理的設計目標
(三)通道
(四)緩衝技術
二、PDP-11磁碟設備
三、UNIX塊沒備管理的主要數據結構
(一)緩衝存儲區及快取控制塊
(二)塊設備表
(三)塊設備開關表
四、緩衝存儲區管理
(一)兩種緩衝存儲區管理佇列
(二)快取管理算法
(三)快取管理佇列的初始狀態及變化過程
五、塊設備驅動
(一)輸入/輸出請求塊及其佇列
(二)塊設備啟動
(三)塊設備中斷處理和同步操作
六、塊設備讀、寫技術
(一)字元塊輸入
(二)字元塊輸出
(三)不使用快取的塊設備讀、寫
七、UNIX塊設備管理小結
習題
第九章 字元設備管理
一、概述
二、字元緩衝技術
(一)小型字元快取及其佇列
(二)字元快取管理
三、字元設備開關、設備表和設備暫存器組
(一)字元設備開關
(二)終端機設備表
(三)設備暫存器組
四、終端機的I/O字元處理及設備驅動
(一)終端機I/O字元處理
(二)終端機驅動
五、終端機讀、寫操作
(一)終端機讀操作
(二)終端機寫操作
(三)終端機讀、寫操作過程綜合
六、終端機的打開和關閉
(一)終端機的打開
(二)終端機的關閉
七、spooling技術簡介
習題
第十章 檔案管理系統
一、概述
二、檔案系統的用戶界面
(一)檔案的創建和取消、打開和關閉
(二)檔案的讀、寫
(三)隨機存取
三、目錄結構
(一)一級目錄結構
(二)二級目錄結構
(三)多級目錄結構
(四)目錄和目錄檔案
(五)目錄項
四、檔案的結構和存取方法
(一)檔案的邏輯結構和物理結構
(二)檔案的三種物理組織方法
五、檔案存儲空間的管理
六、檔案的共享、保護保密和檔案系統的完整性
(一)檔案的共享和保護保密
(二)方件系統的完整性
七、UNIX檔案系統的主要結構和算法
(一)檔案控制塊inode
(二)檔案索引結構
(三)檔案目錄結構和目錄中的勾連
(四)記憶體打開檔案結構
(五)檔案系統存儲資源管理
(六)子檔案系統裝卸和裝配塊表
(七)各主要數據結構之間的聯繫
八、UNIX檔案系統的實施
(一)檔案讀、寫和地址變換
(二)檔案的創建、打開、取消和目錄搜尋
習題
第十一章 進程通訊和死鎖
一、UNIX進程通訊機構pipe
(一)pipe機構的引入
(二)pipe的基本組成
(三)pipe檔案的讀、寫
(四)pipe套用示例
二、UNIX中的臨界區互斥
三、死鎖
(一)產生死鎖的條件
(二)死鎖的防止
(三)死鎖的檢測和解除
(四)死鎖的避免
習題
第十二章 系統初啟和再生
一、系統初啟
(一)系統初啟的主要工作
(二)系統初啟程式
二、進程圖象改換和檔案的執行
(一)可執行目標程式檔案的組成
(二)改換進程圖象系統調用exec和參數傳遞
(三)exec的基本執行過程
(四)exec的兩種用法
三、UNIX作業系統的再生
(一)作業系統再生的幾種情況
(二)UNIX核原始碼的組織
(三)UNIX核目標代碼的組織
(四)系統再生的基本過程
習題
……
第十三章 命令控制語言及其解釋程式
第十四章 並發Pascal和Solo作業系統
參考文獻
文摘
插圖:
四、UNIX作業系統中的進程
前面從一般角度介紹了與進程有關的基本概念,下面具體說明在UNIX作業系統中進程的組成,以加深對基本概念的理解。
(一)UNIX進程與圖象
在UNIX中,進程被描述為圖象的執行(execution of image)。而圖象或映象(image)則是計算機的執行環境。它包括存儲器圖象、通用暫存器值以及打開檔案的狀態等,所以圖象就是一個虛擬機(pseudo—computer)的現行狀態。我們也可以將圖象理解為程式以及與動態地執行該程式有關的各種信息的集合。於是圖象的執行也就是程式在虛處理機上的動態執行過程。
(二)UNIX進程的兩種運行狀態
在某些作業系統中,進程分成兩大類:一類是系統進程,另一類是用戶進程。系統進程執行作業系統程式,提供系統功能,例如:作業調度、各種資源的管理和控制等。用戶進程執行用戶程式,提供用戶功能。UNIX對進程的處理與此不同。一般而言,UNIX進程既可執行作業系統程式,也可執行用戶程式,按照需要在一定時機進行轉換。由於作業系統要管理系統中包含的各種資源和進行的各種活動,而用戶程式卻只應在作業系統的管理和控制下,在一定的範圍內活動,所以進程在執行作業系統程式和用戶程式時所處的環境和權力應有所區別。
1.兩種不同的活動範圍
作業系統程式和用戶程式各自從0開始編址,它們所用的地址各構成一個空間。同樣,作業系統程式和用戶程式在記憶體中也占用不同的存儲區域。所以它們構成的地址空間不同,占用的物理存儲空間也不同。為了建立兩種不同的地址空間和物理存儲空間之間的對應關係,進程在執行作業系統程式和用戶程式時使用的記憶體管理暫存器組不同,使用的某些暫存存器(例如棧指針)也不同。
2.作業系統的幾種特權
與一般用戶程式相比較,進程在執行作業系統程式時應具有下列幾種特權:
(1)執行輸入/輸出操作 為了減輕用戶編制輸入/輸出程式的負擔以及避免各個用戶程式因競爭使用同一設備而導致的混亂,各種輸入/輸出操作都在作業系統的管理和控制下進行,用戶程式則通過系統調用向作業系統提出各種輸入/輸出請求。
(2)存取記憶體管理暫存器系統中可能同時存在多個進程,為了防止相互干擾,作業系統為它們分配存儲空間,並用記憶體管理暫存器限制現運行進程在記憶體中的活動範圍,將它們相互隔離起來。因此作業系統應能存取記憶體管理暫存器,而用戶程式卻無權擅自改變自己在記憶體中的活動範圍。