【操作系统】最全复习提纲及例题
第一章 概述【填空、判斷、選擇】
1、操作系統的概念、基本類型、基本特征、基本功能、管態/目態;
概念:管家、調度、橋梁。控制和管理計算機軟硬件資源,合理組織多道程序運行,方便用戶使用程序集合。
基本類型:單道批處理系統、多單批處理系統、分時系統、實時系統
特征:并發、共享、虛擬、異步
功能:進程管理(處理機管理)、內存管理(存儲管理)、設備管理、文件管理、提供用戶接口
系統態(管態、核心態):程序在OS內核執行。CPU能執行任何指令,能訪問任何寄存器、存儲器。
用戶態(目態):程序在OS外殼執行。不能執行特權指令,不能隨意訪問寄存器、存儲器。
2、操作系統的目標、作用、結構設計方法;
目標:方便性、有效性、可擴充性和開放性
作用:1.作為用戶和計算機軟硬件系統的接口2.作為計算機系統資源的管理者
3.實現對計算機資源的抽象
結構設計方法:1.整體式結構 2.模塊化結構 3.層次式結構 4.微內核OS結構
第二章 進程管理【重點!大題】
1、多道程序設計技術 單道批處理在宏觀上的并行,微觀上的串行
2、進程的概念、特征、基本狀態及與程序的區別和聯系;
進程的概念:可并發執行的程序在一個數據集合上的一次執行過程,系統資源分配的基本單位
特征:動態性,并發性,獨立性,異步性,結構性 基本狀態:就緒態,執行態,阻塞態
3、PCB程序控制塊,程序存在的唯一標識 進程實體=程序+數據+PCB
前趨圖:有向無環圖,描述進程之間執行的先后順序 進程圖:描述進程間關系的一顆有向樹
4、原語的概念:由若干條指令構成的原子操作,要么全做要么全不做。許多系統調用就是原語
特征:不可中斷性 實現方法:屏蔽中斷
進程控制原語的種類:創建與終止,阻塞與喚醒,掛起與激活
5、同步:合作 互斥:競爭 臨界資源:一個時間段不能同時訪問的資源 臨界區:訪問臨界資源的那段代碼
記錄型信號量:
wait(semaphore *S){S->value--;if(S->value<0)block(S->list); } signal(semaphore *S){S->value++;if(S->value<=0)wakeup(S->list); }與整型的區別:實現了讓權等待原則,條件不符合進程會block
1.系統中有三個進程GET、PRO和PUT,共用兩個緩沖區BUF1和BUF2。假設BUF1中最多可放11個信息,現已放入了兩個信息;BUF2最多可放5個信息。GET進程負責不斷地將輸入信息送入BUF1中,PRO進程負責從BUF1中取出信息進行處理,并將處理結果送到BUF2中,PUT進程負責從BUF2中讀取結果并輸出。試寫出正確實現GET、PRO、PUT的同步與互斥的算法(要求:(1)用類C語言描述,條理清楚,注釋恰當;(2)信號量原語統一使用wait和signal。)
代碼:
Semaphore empty1=9,full1=2, empty2=5,full1=0,mutex1=mutex2=1; int main(){Cobegin //并發開始GET(); PRO(); PUT();Coend //并發結束return 0; } //GET進程 void GET(){while(1){ wait(empty1); wait(mutex1);將信息送入buf1;signal(mutex1); signal(full1);} } //PRO進程 void PRO(){while(1){ wait(full1); wait(mutex1);從buf1中取出信息;signal(mutex1); signal (empty1);wait(empty2); wait(mutex2);將信息送入buf2;signal(mutex2); signal(full2);} } //PUT進程 void PUT(){while(1) {wait(full2); wait(mutex2);從buf2中取出信息;signal(mutex2);signal (empty2); } }2. 某自動質量檢測系統有三個進程Q、A、B組成。進程Q每次取一件產品進行檢測,把檢測后的產品存放在貨架F上,F的容量為每次只能存放一件產品……
Semaphore empty=1,fullA =0,fullB =0; 進程 Q:{ Wait(empty);F:=檢測后的產品;If F=合格產品 thenSignal (fullA);elseSignal (fullB); }進程 A:{ Wait(fullA);拿產品Signal (empty);貼標簽后包裝; }進程 B:{Wait(fullB);拿產品Signal (empty);貼標簽后包裝; }7、線程:進程中一個相對獨立的執行流。 種類:執行,就緒,阻塞
引入線程的目的:減少程序在并發執行時所付出的時空開銷,使操作系統具有更好的并發性。
第三章 處理機調度與死鎖
1、調度的層次與作用:
高級調度:又稱長程調度,作業調度,主要用于多道批處理系統中,外存調入內存
低級調度:又稱進程調度,短程調度,多道批處理,分時和實時,就緒隊列調入處理機
中級調度:又稱內存調度,調至外存,掛起
2、常用調度算法
(先來先服務FCFS、短作業優先SJF、高響應比優先HRRN)
HRRN優先權=1+ t 等待/ t 運行
計算:
開始時間 結束時間 周轉時間=完成-到達 帶權周轉=周轉/運行
例1)根據圖示,該系統應采用什么進程調度策略? 怎么改進?
該分時系統采用的是時間片輪轉調度策略,用多級反饋調度策略進行改進
2)把圖中每個狀態變化的可能原因填寫在下表中。
1、進程被選中,變為運行狀態 2、進程阻塞,進行IO操作,等待磁盤讀文件 3、進程阻塞,進行IO操作,等待打印機輸出 4、打印結束,阻塞的進程轉為就緒狀態,排入就緒隊列尾部 5、讀文件結束,阻塞的進程轉為就緒狀態,排入就緒隊列尾部 6、時間片到,運行狀態的進程轉為就緒狀態,排入就緒隊列尾部3、死鎖的概念、產生的原因及必要條件;
概念:相互等待對方釋放資源
產生的原因:資源競爭,進程推進順序不當
四個必要條件:互斥條件,請求和保持條件,不可搶占條件,循環等待條件
4、處理死鎖的基本方法:預防、避免、檢測、解除死鎖
5、銀行家算法計算:
4、在銀行家算法中,若有下面的系統各類資源對進程的分配情況,available1622 問:
(1)從以上情況分析可以看出,此時存在一個安全序列{p0,p3,p4,p1,p2},故該狀態是安全的。
(2)4類,分別有3、9、14、14個
(3)根據銀行家算法檢查:
a)Request2(1,2,2,2)<=need(2,3,5,6)
b)Request2(1,2,2,2)<=available(1,6,2,2)
c)設分配,修改available=0400,allocation=2576,need=1134
當前分配安全資源,現存need已不能滿足任何需要,很明顯沒有安全序列,固假設分配不能執行
第四章 存儲管理
1、存儲管理的目的、功能:
目的:提高存儲器的利用率,解決cpu與存儲器速度不匹配問題
功能:內存的分配與回收,內存的共享與保護,地址映射,內存擴充
2、重定位的概念及方法:
概念:把程序中的邏輯地址變成內存中的物理地址的過程
方法:靜態重定位:在程序執行之前進行,由專門設計的重定位裝配程序完成。
動態重定位:在程序執行過程中,每次訪問內存之前將程序地址變換為內存地址,這種變換是依靠硬件地址變換機構實現
3、內碎片:分區之內未被利用的空間 外碎片:分區之間難以利用的空閑分區(通常是小空閑分區)
4、常用分區分配算法及對應的空閑區排列方式;
5、基本分頁(分段)的概念、頁(段)表的作用、地址變換過程及物理地址計算;
將程序的邏輯地址空間劃分為固定大小的頁;
物理內存劃分為固定大小的塊(頁架,頁框);
例:某頁式存儲系統頁表如下,設每頁1KB,請寫出邏輯地址為8300時所對應的頁號和頁內地址,以及在內存中對應的物理地址。(請詳細寫出運算過程)
(1)8300 ÷ 1024=8······108,故頁號為8,頁內地址為108 所以物理地址 4×1024+108=4204
(2)(a):地址(1,10)的段號為1,查表得基址為2300,段長為14,物理地址為:2300 + 10 = 2310。
(b):地址(4,112)的段號為4,查表得基址為1952, 段長為96;由于段內位移為112,大于段長96,
發生段越界,產生越界中斷。
例:在請求分頁系統中,某用戶的編程空間為16個頁面,每頁1K,分配的內存空間為8K……
答:104B(H) 答:13192 答:24A0(H)的頁號為9,而其頁面當前不在內存,所以會發一個缺頁中斷,請求系統調頁。
6、分頁與分段的區別、各自的優缺點;
分頁:有效解決了碎片問題,有效提高內存的利用率
分段:更好地實現數據共享與保護,段長可動態增長,便于動態鏈接
第五章 虛擬存儲器
1、虛擬存儲器的基本概念、理論依據、基本特征及關鍵技術;
基本概念:由操作系統提供的一個假想的特大的存儲器,以時間換空間
理論依據:程序局部性原理 基本特征:多次性,對換性,虛擬性
關鍵技術:請調+置換
2、頁面置換算法:
FIFO先進先出(看長度) OPT最佳置換算法(往右看換遠的) LRU最近最久未使用(往左看換遠的)
畫長框做,缺頁次數:只要有修改就算一次,一開始的添加也算
3、例:對一個將頁表存放在內存中的分頁系統:
(1)若訪問內存需要0.2us,有效訪問時間為多少?
2 * 0.2=0.4us
(2)如果加一快表,假定設置快表的命中率高達 90%
0.9 * 0.2+( 1 - 0.9)* 2 * 0.2 = 0.22us
第六章 設備管理
1、設備管理的任務、功能及目標;
任務:完成io,提高I/O速率,改善I/O利用率
功能:緩沖區管理,設備分配,設備處理,虛擬設備,設備獨立性
目標:方便性,并行性,均衡性,獨立性
2、I/O設備的分類,設備、控制器及通道的關系;
按特性分類:存儲設備、IO設備
按傳輸速率分類:低速、中速、高速設備
關系:控制器是cpu與I/O設備之間的接口
3、通道的基本概念及分類;
概念:實際上I/O通道是一種特殊的處理機
分類:字節多路通道、數組選擇通道、數組多路通道
4、緩沖區的概念、分類及引入目的;
單緩沖、雙緩沖計算處理數據的時間;
單緩沖= n(t讀入+t處理)+t傳送 雙緩沖= n(t讀入)+t處理+t傳送
5、I/O軟件的層次、各層主要功能、設備獨立性的概念;
用戶級I/O軟件:實現與用戶交互的接口 設備獨立性軟件:實現用戶程序與設備驅動器的統一接口
設備驅動程序:與硬件直接相關
中斷處理程序:保護被中斷進程的CPU環境
設備獨立性:I/O軟件獨立于具體使用的物理設備
6、SPOOLING技術的作用及SPOOLING系統的組成;
作用:(1)提高了I/O的速度。(2)將獨占設備改造為共享設備。(3)實現了虛擬設備功能。
組成:輸入井輸出井、輸入緩沖區輸出緩沖區、輸入進程輸出進程、井管理程序
SPOOLing技術是一類典型的虛擬設備技術,通常是用獨占設備來模擬共享設備。(F)
7、先來先服務FCFS 最短尋道時間優先SSTF 掃描算法(電梯調度) SCAN 循環掃描算法CSCAN
例:(從72磁道開始)
FCFS 98 220 37 122 14 124 65 82
SSTF 65 82 98 122 124 37 14 220
SCAN 82 98 122 124 220 65 37 14
CSCAN 82 98 122 124 220 14 37 65
柱面數=移動磁道數
第七章 文件管理
1、文件系統的組成、功能;
文件系統的層次結構:對象及其屬性、對對象操縱和管理的軟件集合、文件系統的接口
文件系統功能:用戶角度: 實現“按名存取”
系統角度:文件存儲空間的管理、文件的存儲與檢索、文件的共享與保護
2、打開操作的目的:把FCB從磁盤讀到內存,在用戶和指定文件之間建立起一個連接
關閉操作的目的:將該文件從打開的文件表中的表目上刪除
3、如何加快目錄檢索?
為其建立一張索引表,以主文件中每條記錄的長度及指向對應記錄的指針作為相應每個表項的內容
4、目錄項分解法:把FCB分成兩部分,符號目錄項:文件名,文件號 基本目錄項:除文件名外的所有字段
例:一個盤塊大小為8KB的磁盤,采用耳機索引結構,索引表的一項占4B,計算該系統下文件最大多大?
答:一個盤塊中可存放索引項為8K/4=2K個,二級索引文件最大可達32GB(2K2K8KB)
盤塊就是數據塊,索引表就是索引塊
例:若一個進程要訪問偏移量為263168字節處的數據時,需要經過幾次間接?
因一個盤塊的大小為512B且每個盤塊號占2B,所以一個盤塊中最多存512/2=256個塊號,又因偏移量的邏輯塊號為263168/512=514,且10+256<514<256*256,所以偏移地址的塊號在二次間接塊內。
第八章 磁盤存儲器的管理
1、 文件的物理結構:順序文件結構、鏈接文件結構、索引文件結構
例1、假設盤塊大小為512B,硬盤的大小為100MB,如果采用顯式鏈接管理方式,對應的FAT為多少字節?
答:100MB/512B=200K個塊,需要18個二進制位來描述塊號;
按照FAT表的組織結構,每個表項需要擴充成20位即2.5個字節;所以FAT表的大小=2.5B*200K=500KB。
例2、某磁盤文件系統,采用混合索引分配方式,13個地址項記錄在FCB中,第0-9個地址項為直接地址,第10個地址項為一次間接地址,第11個地址項為二次間接地址,第12個地址項為三次間接地址。如果每個盤塊的大小為512字節,盤塊號需要用3個字節來描述(每個索引塊可記錄170個盤塊地址):
答:1)該文件系統中一個文件的最大長度為:10+170+170170+170170*170=4942080塊
4942080 * 512字節 = 2471040KB
2)5000/512得商為9,余數為392,即字節偏移量5000對應的邏輯塊號為9,塊內偏移量392
所以可以從第九個地址得到物理盤塊號,塊內偏移量392
例3、假設一個磁盤組有 100 個柱面,編號為 0-99,每個柱面有 32 個磁道,編號為 0-31,每個磁道有16 個扇區,編號為0-15。現采用位示圖方法管理磁盤空間,磁盤塊與扇區大小相等…
1)若采用32 位的字組成位示圖,共需要多少個字? 2)第40 字的第18 位對應于哪個柱面、哪個讀寫磁頭和哪個扇區?
1)(16×32×100)/32=1600,需要1600 個字。 //注:盤塊=柱面磁道扇區
2) 塊號是1298:40×32+18=1298 柱面號是2:[1298/(16×32)]=2
磁頭號是17:[(1298 mod (16×32))/16]=17 扇區號是2:(1298 mod (16×32))mod 16=2
例4、某UNIX操作系統的空閑盤塊號棧內容為:空閑塊數為3,依次登記的空閑塊號為77、89、60,問此時若一個文件A需要5個盤塊,系統進行分配后又有個文件B被刪除,它占用的盤塊塊號為100、101、109、500,分析分配和回收過程,說明上述操作過后空閑盤塊號棧里的空閑塊個數及內容如何?
答:分析:文件A需要五個盤塊,77、89、60全分配給A還不夠,文件B刪除后多出4個盤塊,101和100分配給A,所以空閑塊數2,然后依次登記的空閑塊數為109、500(用成組鏈接法)
總結
以上是生活随笔為你收集整理的【操作系统】最全复习提纲及例题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 为什么MOSFET栅极与源极之间要加一个
- 下一篇: 【软考必背】100条知识点复习提纲,高频