坐標:CUMT
教材:林果園等.計算機操作系統[M],北京:清華大學出版社,2011.
注:根據陸亞萍老師的復習疏理框架,個人參考書本加以整理,概念論述大多使用了簡記。建議復習時可以先自己對著框架梳理,聯系郵箱luxiwen@cumt.edu.cn,歡迎交流探討。
§1概論
1.操作系統定義:操作系統是一組計算機程序的集合,用于控制和管理計算機軟硬件資源。
地位:是計算機硬件與用戶之間的接口,是支持應用程序開發、運行的基礎平臺。
2.操作系統功能:進程管理、存儲管理、設備管理、文件管理。
3.操作系統特征:并發性、共享性、虛擬性、隨機性。
4.多道批處理系統
5.三大操作系統:批處理操作系統(操作系統自動、依次執行一批作業,最后由操作員將作業結果交給用戶)
? ? ? ? ? ? ? ? ? ? ? ? ? ? 分時操作系統(操作系統輪流把時間片分配給不同的用戶,每道用戶程序每次只運行一個時間片)
? ? ? ? ? ? ? ? ? ? ? ? ? ? 實時操作系統(計算機及時地響應外部事件的請求,并以足夠快的速度完成事件處理)。
6.兩種接口:程序接口(提供一組廣義指令供用戶程序和其他系統程序調用or給程序使用操作系統服務和功能的接口)
? ???????????????????操作接口(提供一組控制操作方式或命令供用戶去組織和控制自己作業的運行or向用戶提供可以操控計算機的接口)。
7.用戶態和核心態:操作系統內核代碼、設備驅動運行于核心態(管態);一般用戶 進程代碼運行于用戶態(目態)
§2進程管理
1.進程定義:程序在某個數據集上的一次執行過程,是操作系統資源分配的基本單位。cf.線程。
2.cf.進程&程序:程序特指代碼文件,強調其靜態性。進程如上。
3.順序執行&并發執行:具有獨立功能的程序獨占處理器直至最終結束的過程稱為程序的順序執行;一個程序未執行完另一個程序便開始執行,微觀上程序分時地交替執行,即為并發執行。
4.并發程序的設計方法
5.進程的三態模型:
對其中的幾種轉換狀態要十分熟悉:
(1)就緒→運行:CPU空閑時,OS就從就緒隊列中選中一個就緒進程并分配CPU。
(2)運行→阻塞:正運行的進程需要等待某些事件發生時,會從運行便為阻塞態。
(3)阻塞→就緒:等待的事件到來而不需要再等待時,進程狀態變從阻塞狀態轉換到就緒狀態。
6.進程的五態、七態模型:五態即加入新建與終止態,七態即加入掛起就緒與掛起等待兩種狀態。
7.進程控制塊PCB:PCB與進程一一對應,記錄了描述進程的當前狀態以及控制進程運行的信息。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 包括進程標識信息、現場信息、控制信息。
8.進程映像,即進程實體(進程控制塊PCB、程序塊、數據塊、堆棧)
? ?進程上下文,即進程實體和支持進程運行的環境,包括(用戶級上下文、系統級上下文、寄存器上下文)。P27
9.進程隊列的概念:如果一個系統中有多個進程都處于同一種狀態,這些進程將被組織成隊列的形式。
10.原語:由若干條指令所組成,用來實現某個特定功能,在執行過程中不可被中斷的程序段。
cf.原語&系統調用? ? 系統調用:由操作系統在機器指令基礎上實現的,能完成特定功能的過程或子程序。
11.并發的多個進程之間存在的兩種基本關系:競爭和協作。
12.同步:并發進程基于某個條件來協調其運行進度、執行次序而產生的協作制約關系。互斥:相互競爭獨占性資源產生的競爭制約關系。
13.臨界資源:在某段時間內,只能允許一個進程使用的資源。
? ? ?臨界區:訪問臨界資源的代碼段。
14.信號量,是一個與隊列有關的整形變量(一個是信號量的值,另一個是在信號量關聯資源上阻塞的進程隊列的隊頭指針。)
PV操作
15.掌握PV操作解決實際問題
16.經典的三個同步與互斥問題。
17.(了解)管程概念。
18.管道是連接讀寫進程的一個特殊文件,發送進程以字符流形式把數據送入管到,接收進程從管道中接收數據。
共享內存通信,在內存區中劃出一塊共享區域,多個進程可通過對共享區域進行讀寫數據,實現通信。
消息傳遞通信,進程將通信數據封裝在消息中,消息通過消息緩沖區在進程之間互相傳遞。
19.死鎖,一個進程集合中的每個進程都在等待只能由該集合中另一個進程才能引發的事件。
產生原因:并發進程對臨界資源的競爭。并發進程推進順序不當。
20.死鎖產生的四個必要條件:(1)互斥條件(2)請求與保持條件(3)不剝奪條件(4)環路等待條件。
21.死鎖如何防止。(針對上面的四個必要條件,逐一進行破壞)
22.掌握銀行家算法解題。
23.死鎖解除方法(重啟、撤銷、剝奪、回滾)
24.高級調度:從后備作業中選出若干個作業,將其程序和數據調入內存。
? ? ?中級調度:將一些暫時不能運行的進程從內存對換到外存上等待。
25.計算周轉時間、帶權周轉時間、平均時間。
§3內存管理
1.邏輯地址:目標程序使用的地址;物理地址:程序在物理內存中的實際存儲位置。
2.靜態重定位:作業裝入內存時,一次完成地址轉換;動態重定位:程序執行過程中,CPU在訪問程序和數據之前才實現地址轉換。
3.固定分區管理
基本思想:預先把可分配的內存空間分割成若干個大小固定的連續區域。
地址轉換:將下限寄存器中保存的基地址與邏輯地址相加即得到絕對地址。
4.可變分區管理
基本思想:事先不確定分區的大小與數目,用戶作業提出申請時檢查內存是否有空的連續區域,有則分配。
地址轉換:當邏輯地址小于限長值時,由邏輯地址加基址寄存器的值就可以得到絕對地址。
5.cf.固定分區&可變分區(聯系和區別)
聯系:連續性,會產生內碎片
區別:分區大小和數目事先一者確定,另一者不確定。
6.了解可變分區的內存分配算法:(1)最先適應分配算法(2)循環首次適應分配算法(3)最優適應分配算法(4)最壞適應分配算法(5)快速適應算法。
7.引入離散分配方式的原因:打破程序裝入的整體性和存儲分配的連續性,將用戶進程的邏輯地址空間劃分成多個子部分,離散儲存充分利用內存。
8.分頁管理的基本原理:將用戶進程的邏輯地址空間劃分為大小相等的頁,將物理內存也劃分成與頁大小相等的物理塊。當內存裝入用戶程序時,每一頁裝入一個物理塊中,各個物理塊之間不需要連續。
9.分頁管理的地址轉換:從邏輯地址中的得到頁號和頁內偏移。通過頁號,在頁表中查找到塊號,外號和頁內偏移構成物理地址。
10.分頁管理中,邏輯地址與物理地址計算。
11.了解快表的概念:將已在相聯存儲器中的頁及其對應塊的塊號組成快表存儲于相聯存儲器中,優先查詢。
12.了解多級頁表:為頁表頁再設計一個地址索引表,即頁目錄表。這樣系統將頁表分為兩級,一級為頁目錄表,二級為頁表頁。
13.分段管理
為什么引入分段管理:之前的內存管理方法都假設用戶程序從0開始編址,邏輯地址空間都是一維的。實際上一個程序往往由若干工作區段所組成,每個段都從0開始編址,段內地址連續。
分段管理的特征:按照程序的邏輯段結構,按段為單位來分配內存,一段占用一塊延續的內存地址空間,段與段之間不需要連續。
14.段式存儲管理的地址轉換:(1)邏輯地址分為段號和段內地址(2)查詢段表在內存中的起始地址(3)將段號作為索引,對段表進行查詢,得到該段的起始地址和短長(4)若段內地址小于段長,則該段起始地址與段內地址相加即得對應的物理地址。
15.?
16.cf.分頁&分段(聯系+區別)
聯系:離散性
區別:段是信息的邏輯單位,用戶可見,連接裝配后保持二維結構;
頁是信息的物理單位,用戶不可見,頁面只能以頁大小的整倍數地址開始,連接裝配后為一維結構。
PS:P95 3.4.5開頭一段話不錯?!绊撌酱鎯诖鎯ζ鞯奈锢斫Y構,存儲利用率高,便于管理,但難以實現存儲共享、保護和動態擴充;段式存儲基于應用程序的結構,有利于模塊化程序設計,便于段的擴充、動態鏈接、共享和保護,但往往會形成段之間的碎片,浪費存儲空間”
17.虛擬內存定義:虛擬存儲器是指具有請求調入和置換功能,能夠從邏輯上對內存空間進行擴展,允許用戶的邏輯地址空間大于物理內存地址空間的存儲器系統。
18.虛存管理的主要思想:以頁為單位,部分裝入,部分替換,給用戶實現更大的存儲空間。
19.虛存大小的主要影響因素:總線位數(邏輯地址空間)
20.請求分頁虛擬存儲管理的過程:P98(在頁式存儲管理的基礎上增加請求調頁和頁面置換功能)
21.請求分頁中頁表擴充:增加頁的狀態位(駐留位)、外存地址、修改位、訪問字段。
22.了解一些策略。頁面分配(固定分配方式(進程平均分配法、按比例分配法、優先權分配法)、可變分配方式、進程的最小物理塊數),頁面調度(請求頁調入、預先頁調入),頁面置換(全局置換、局部置換)。
23.(計算題)掌握三大頁面置換算法(FIFO,OPT,LRU)。
§4設備管理
1.了解設備分類。P119
2.理解設備控制方法(查詢方式、中斷方式、DMA方式、通道方式)
3.緩沖區的主要作用:(1)改善CPU于外設之間速度不匹配的矛盾,提高CPU和I/O設備并行性。(2)減少I/O設備對CPU的中斷次數,放寬對CPU中斷響應時間的要求。(3)協調邏輯記錄大小與物理記錄大小不一致的問題。
單緩沖:在主存中分配一個緩沖區用來臨時存放輸入或輸出數據。
雙緩沖:設置兩個緩沖區,當一個緩沖區中的數據尚未被處理時,可用另一緩沖區存放從設備讀入或讀出的數據。
4.設備獨立性,指在用戶程序中不直接使用物理設備名而只使用邏輯設備名。邏輯設備是實際物理設備屬性的抽象,它不限于某類具體設備。
好處:(1)使得設備分配更加靈活,提高設備的利用率。(2)可以實現I/O重定向。
5.虛擬設備實現原理:利用快速、共享設備把慢速、獨占設備模擬成為同類物理設備。
§5文件系統
1.文件組織方式
邏輯結構:流式文件、記錄式文件。
物理結構:連續文件、鏈接文件、索引文件、多級索引文件、直接文件。
2.索引節點目錄項組織方式:文件名+索引節點號。
3.(計算題)UNIX混合索引結構計算
4.理解用戶打開文件表、系統打開文件表、活動索引節點表,及三者間的指向關系。
5.f_count反映不同進程通過同一個系統打開文件表項共享一個文件的情況,相同位移指針。
i_count反映不同進程通過不同系統打開文件表項共享一個文件的情況,不同讀寫位移指針。
i_nlink(文件鏈接數)指示該文件上的目錄項的數目。