本章考核知識點 :1.UNIX系統結構 2.UNIX系統的進程 3.UNIX系統的存儲管理 4.UNIX系統的文件系統 5.UNIX系統的I/O系統
自學要求 :在學習操作系統基本工作原理的基礎上,了解一個具體操作系統UNIX的實現方法。
本章不是重點章,學習時注意結合前面章節的內容來領會。
一、UNIX系統結構( 領會 )
1、UNIX的層次結構。
UNIX可以分為 內核層 和 外殼層 兩部分。
內核層 是UNIX操作系統的核心,它實現存儲管理、文件管理、設備管理、進程管理等功能并為外殼層提供系統調用。
外殼層 為用戶提供各種操作命令(UNIX把它們稱為shell命令)和程序設計環境。外殼層由shell解釋程序、支持程序設計的各種語言(如C、PASCAL和BASIC等)、編譯程序和解釋程序、實用程序和系統庫等組成。
2、UNIX系統的主要特點。
短小精悍
簡潔有效
易移植
可擴充
開放性
3、UNIX的程序員接口和用戶接口。
UNIX的 程序員接口 就是其內核提供的系統調用,它是內核為外殼用戶程序提供的服務界面,也就是操作系統支持用戶程序正常工作的接口。
系統調用 是用戶程序請求操作系統為其服務的唯一形式,UNIX規定用戶程序用“trap”指令請求服務。
UNIX的中粗略地分為三類: 文件操作類 、 進程控制類 和 信號與時間類。
shell 命令是 終端用戶與UNIX的接口 .因為用戶不能直接使用系統調用,而只能使用外殼層的用戶程序。一個在終端上登錄成功的用戶可以用UNIX提供的shell命令來得到用戶程序。
二、UNIX系統的進程( 領會 )
1、進程的組成:在UNIX系統中進程由三部分組成: 進程控制塊 、 正文段 和 數據段。
2、進程的狀態及狀態轉換:UNIX進程在執行過程中由于各種原因使其狀態 不斷發生變化,且當內存空間不夠時可把一些進程換出到磁盤上,需要時又可把它換進內存。進程的狀態有 運行狀態 、 就緒狀態 、 睡眠狀態 、 創建狀態 、 僵死狀態。
3、Shell進程:UNIX系統初始起動時為每個用戶創建一個 shell進程 ,每個shell進程等待用戶輸入命令。當shell進程接收了用戶命令后再創建子進程去解釋執行命令,子進程在執行過程中可以按需要再創建子進程。形成一棵進程樹。
4)進程的創建: 一個進程總是使用 系統調用fork 來創建新進程,形成父子關系。 父進程 與 子進程 可以并發執行,子進程可以共享父進程的正文段和已打開的文件。
5、進程調度算法及其實現:在內存 就緒 的進程中,當處理器空閑時可以競爭處理器,UNIX系統對進程的調度采用 動態優先數調度算法 ,優先數大的進程其優先權低,進程調度總是讓優先數小(優先權高)的進程先占用處理器。
6、利用管道設施pipe實現進程間的通信:UNIX的管道機制pipe是連接在進程間的 共享文件 ,稱為 pipe文件 .通過管道機制對進程讀寫pipe文件進行操作,使得一個進程可以把信息寫入pipe文件,別的進程可以從pipe文件中讀取信息,實現進程間的通信。
相關推薦:2010年自考工學類“操作系統原理”復習資料匯總