高等學校教材:UNIX操作系統教程
高等學校教材:UNIX操作系統教程
《高等學校教材:UNIX操作系統教程》是1985年西安電子科技大學出版社出版的書籍,作者是尤晉元。
《高等學校教材:UNIX操作系統教程》以UNIX操作系統為線索,介紹計算機系統中的一種基本系統軟體——操作系統。全書共分十四章。第一章概要介紹設置操作系統的目的,操作系統的分類,功能和特性以及UNIX操作系統的概況。第二章介紹程序設計語言C。第三章闡述進程的基本慨念、進程調度狀態和通訊。第四章到第十三章結合UNIX操作系統講述操作系統的各個主要組成部分,包括:中斷和陷入、存儲管理、進程管理、信號和跟蹤、字元塊和字元設備管理、文件管理系統、進程通訊和死鎖、系統的初啟和再生以及操作系統面向用戶的界面等。《高等學校教材:UNIX操作系統教程》可作為計算機科學和工程類專業的教材以及有關科技人員的參考書。
第一章 引論
一、設置操作系統的目的
(一)設置操作系統的兩個目的
(二)軟、硬體資源分類
二、操作系統分類
(一)實時系統
(二)作業處理系統
三、操作系統的功能
(一)從人工操作到機器自動處理
(二)用快速輸入、輸出代替低速輸入、輸出
(三)從串列操作到并行操作
(四)從單道到多道程序
(五)分時操作系統的出現
(六)作業處理操作系統功能綜合
四、操作系統的特性
(一)併發
(二)共享
(三)長期的信息儲存
(四)不確定性
五、操作系統的性能
(一)可靠性
(二)效率
(三)可維護性
六、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)存取內存管理寄存器系統中可能同時存在多個進程,為了防止相互干擾,操作系統為它們分配存儲空間,並用內存管理寄存器限制現運行進程在內存中的活動範圍,將它們相互隔離起來。因此操作系統應能存取內存管理寄存器,而用戶程序卻無權擅自改變自己在內存中的活動範圍。