操作系統總結

一、基本概念:填空、選擇、判斷、簡答

1、什麼是操作系統:操作系統是控制和管理計算機硬件和軟件資源、合理地組織計算機工作流程,並方便用戶使用計算機的一組程序集合。

2、常見操作系統

l   WindowsXP、Windows 2003、Windows 2000、Windows Vista

l   Linux、Unix

l   IBMAIX、IBM OS/2

l   SunSolais

3、操作系統分類:單道批處理系統、多道批處理系統、分時系統、實時系統、微機操作系統、網絡操作系統、分佈式操作系統、嵌入式操作系統

4、多道批處理系統的優缺點

l   優點:CPU、內存以及I/O設備等資源的利用率高;系統吞吐量(單位時間內完成的總工作量)大。

l   缺點:平均週轉時間(作業進入內存到運行結束時間)長;沒有交互能力。

5、分時系統的特點

l   多路性:多個用戶同時使用一臺計算機;

l   獨立性:用戶之間互不干擾,就像各自獨立使用一臺計算機一樣;

l   及時性:用戶的各種請求(如輸入數據)能夠得到及時的響應;

l   交互性:用戶通過各自的終端,與自己運行的程序進行交流。

6、操作系統的特點

l   併發性:兩個或多個程序在一段時間內“同時”執行。它們不是絕對地並行執行,而是在這一段時間內交替執行。併發性是操作系統最主要的特徵。

l   共享性:系統資源可供多個併發執行的程序共同使用。分爲互斥共享和非互斥共享兩種。

l   虛擬性:通過軟件方式,將一個物理資源變成多個虛擬的對等資源。

l  異步性:多個程序的執行順序和一個程序的執行與中斷次數無法確定。但是其結果始終是確定的。

7、操作系統的功能

l   處理機管理功能:進程控制

l   存儲器管理功能:內存分配、內存保護、內存擴充以及地址轉換

l   設備管理功能:緩衝區管理、設備分配和回收、設備驅動

l   文件和磁盤存儲管理功能:目錄管理、文件讀寫、存取控制、磁盤空間分配、空閒空間管理

l   用戶接口:操作接口(分命令接口和圖形接口)、程序接口(即系統調用)

8、進程的含義和組成:進程是某個程序在一組OS數據集合基礎上的一次運行過程。進程運行所依賴的OS數據集合叫做“進程控制塊”(PCB),所以進程由程序和PCB組成。

9、進程的特點

l   動態性:是程序的一次併發執行過程,具有一定的生命週期。每個進程在執行過程中都會按“執行-暫停-執行”方式推進,因此可以對不同階段的進程定義不同的狀態。

l   併發性:兩個或多個進程在一段時間內“同時”執行,但某一瞬間只執行其中之一。因此實際上這些進程是交替執行的。

l   獨立性:任何進程都是一個程序的一次獨立運行過程,也是系統進行資源分配和調度的單位。

l   異步性:進程按不可預知的速度向前推進,所以OS應提供相應的措施保證其併發性。

l   結構性:每個進程都程序(由代碼和數據組成)和PCB組成。

10、進程的狀態

l   就緒(Ready)狀態:此時進程等待CPU,並獲得了除CPU以外所有的運行所需資源。由於存在多個就緒進程,OS將將它們排列成一個就緒隊列。

l   執行(Running)狀態:進程獲得了CPU,並正在運行的狀態。單CPU系統中只能有一個進程處於執行狀態。

l   阻塞(Blocked)狀態:進程由於等待除CPU以外的其它資源或I/O操作結束,而不能繼續執行的狀態。由於存在多個多個阻塞進程,系統將它們排列成一個或多個阻塞隊列。

11、進程的狀態轉換關係

l   執行到就緒:執行進程被操作系統強制剝奪CPU,從而變成就緒進程。

l   就緒到執行:就緒進程被操作系統調度,從而變成執行進程。

l   執行到阻塞:由於申請資源未獲準,或開始了I/O操作,執行進程將CPU讓給其它就緒進程,從而變成阻塞進程。

l   阻塞到就緒:阻塞進程得到所請求資源,或執行的I/O操作結束,從而變成就緒進程。

12、動態分區式內存分配的含義:根據所要運行的程序大小,在內存中動態地劃分出一個區域,並將程序轉入該區域。等到程序運行結束時又回收此區域。

13、常用的動態分區分配算法:首次適應算法、循環首次適應算法、最佳適應算法、最差適應算法

14、分頁式存儲管理方法的基本原理:用戶程序開始執行時,根據CPU中規定的大小,把用戶程序劃分成多個小塊(稱爲“頁面”)。每個頁面裝入內存中相同大小的不連續區域(該區域稱爲“物理塊”)。同時建立該進程的頁表,記錄哪個頁面裝在哪個塊內。

15、分頁式存儲管理方法的地址變換過程:

l   將程序指令從內存讀入CPU

l   根據塊大小,將指令中的地址劃分成兩個部分:頁號、頁內地址

l   從內存頁表中查找與頁號對應的頁表項,得到塊號;

l   將指令中的頁號替換成塊號,完成地址轉換

16、虛擬存儲器:具有請求調入和置換(交換)功能,能從邏輯上擴充內存容量的存儲管理系統。該系統應由硬件和軟件配合實現。

17、虛擬存儲器的容量:實際容量爲內存容量和交換空間容量,最大容量爲內存容量+外存容量。

18、虛擬存儲器的實現方式:請求分頁、請求分段

19、請求分頁系統的置換算法:將外存的頁面調入內存的同時,將內存中暫時不使用的頁面換到外存的策略。一個好的置換算法應儘量避免“抖動”現象。

20、設備分類:獨佔設備、共享設備、虛擬設備

21、I/O控制方式的類型:程序訪問方式、中斷控制方式、直接存儲器訪問方式、通道方式

22、緩衝區的分類:單緩衝、雙緩衝、循環緩衝、緩衝池

23、文件分類

l   按邏輯結構劃分:有結構文件、無結構文件

l   按物理結構劃分:順序文件、鏈接文件、索引文件

l   按存取控制劃分:可執行文件、只讀文件、可讀寫文件

24、外存空間的分配方式:連續分配、鏈接分配、索引分配

23、磁盤調度算法:對於多個磁盤訪問請求,OS根據不同策略完成不同順序的訪問操作。其目的是減少磁頭移動距離,提高整體訪問性能。

24、常見的磁盤調度算法:先來先服務(FCFS算法)、最短尋道時間優先(SSTF)、掃描算法(SCAN算法)、循環掃描算法(CSCAN算法)

25、進程調度算法:將CPU分配給就緒進程的算法,具體類型包括先來先服務調度算法(FCFS)、短作業(或進程)優先調度算法(SJF)、時間片輪轉調度算法、優先權調度算法

 


二、綜合題:計算、分析

1、分別計算按FCFS算法和SJF算法調度以下進程時的平均週轉時間和平均帶權週轉時間。

進程名稱

A

B

C

D

E

到達時間

0

1

2

3

4

服務時間

4

3

5

2

4

解:

FCFS(先來先服務)算法

進程名稱

A

B

C

D

E

到達時間

0

1

2

3

4

服務時間

4

3

5

2

4

完成時間

4

7

12

14

18

週轉時間

(完成時間-到達時間)

4

6

10

11

14

帶權週轉時間

(週轉時間/服務時間)

1

2

2

5.5

3.5

平均週轉時間=(4+6+10+11+14)/5=9

平均帶權週轉時間=(1+2+2+5.5+3.5)/5=2.8

SJF(短作業優先)算法

進程名稱

A

B

C

D

E

到達時間

0

1

2

3

4

服務時間

4

3

5

2

4

完成時間

4

9

18

6

13

週轉時間

(完成時間-到達時間)

4

8

16

3

9

帶權週轉時間

(週轉時間/服務時間)

1

8/3

16/5

3/2

9/4

平均週轉時間=(4+8+16+3+9)/5=8

平均帶權週轉時間=(1+2.67+3.2+1.5+2.25)/5=2.124

2、在如下分區表的基礎上,按照首次適應和最佳適應三種算法依次分配五個進程P0、P1、P2、P3、P4時的進程開始地址。五個進程的大小爲P0:200k,P1:15K,P2:100K,P3:80K,P4:20K。

分區編號

1

2

3

4

5

6

起始地址

10K

200K

250K

320K

500K

850K

分區大小

100K

30K

50K

150K

300K

220K

解:所有進程的分配結果如下表所示。


首次適應是指根據進程的大小,在分區表中查找第一個能夠裝下進程內容的分區。對於本例來說,P0進程爲200K,在分區表中從左到右查找能夠裝下P0進程的分區(即分區大小>=進程大小)爲5號分區,所以P0進程的起始地址爲5號分區的起始地址500K。分配P0後5號分區就會變成起始地址700K(原始起始地址500K+進程P0大小200K)、大小爲100K(原始大小300K-P0進程大小200K),以此類推,可計算出其他進程的起始地址。

 

最佳適應是指查找某個分區大小最接近當前進程大小。對於P0進程來說,最接近其容量(必需大於等於)的分區爲6號分區,所以P0進程在最佳適應分配算法的處理下,起始地址爲6號分區的起始地址850K。分配P0進程後6號分區變成起始地址爲1050K,大小爲20K的分區,可以最佳裝入P1進程,因此P1進程的起始地址爲1050K。

答題時上述分析過程不需要寫出,只需要寫出下面的表格即可。

 

P0

P1

P2

P3

P4

首次適應:

500K

10K

320K

25K

200K

最佳適應

850K

1050K

10K

320K

200K

3、一個分頁式存儲管理系統中頁面大小爲2K(2048字節),某進程的頁表內容如下表所示。請將該進程的邏輯地址1FD3和205C轉換爲物理地址。

頁號

0

1

2

3

4

塊號

3

7

12

13

31

解:

(1FD3)16=1*163+15*162+13*161+3*160=(8147)10,因此頁號=(8147整除2048)=3,頁內偏移地址=(8147取餘2048)=2003,查頁表可知頁號3對應的塊號爲13,即3號頁裝入13號塊,因此物理地址=13*2048+2003=28627。

(205C)16=2*163+0*162+5*161+12*160=(8284)10,因此頁號=(8284整除2048)=4,頁內偏移地址=(8284取餘2048)=92,查頁表可知4號頁裝入31號塊,因此物理地址=31*2048+92=63580。

 

4、在一個請求分頁虛擬存儲器系統中,假定某個進程將按如下順序訪問頁面:

1,2,3,4,2,1,5,6,2,1,2,3,7,6,3,2,1,2,3,6,則:

(1)在內存中只爲該進程分配3個物理塊,請使用先進先出置換算法計算出訪問過程中所發生的置換次數;

(2)如果爲該進程分配4個物理塊,並使用LRU算法,置換次數又爲多少?

解:

先進先出算法:

1

2

3

4

2

1

5

6

2

1

2

3

7

6

3

2

1

2

3

6

 

 

3

4

4

1

5

6

2

1

1

3

7

6

6

2

1

1

3

6

 

2

2

3

3

4

1

5

6

2

2

1

3

7

7

6

2

2

1

3

1

1

1

2

2

3

4

1

5

6

6

2

1

3

3

7

6

6

2

1

 

 

 

 

 

 

置換次數爲14次

LRU算法:

1

2

3

4

2

1

5

6

2

1

2

3

7

6

3

2

1

2

3

6

 

 

 

4

2

1

5

6

2

1

2

3

7

6

3

2

1

2

3

6

 

 

3

3

4

2

1

5

6

2

1

2

3

7

6

3

2

1

2

3

 

2

2

2

3

4

2

1

5

6

6

1

2

3

7

6

3

3

1

2

1

1

1

1

1

3

4

2

1

5

5

6

1

2

2

7

6

6

6

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

置換次數爲6次

 

5、某磁盤有8192個磁道,編號爲0~8191,在完成了磁道1250處的請求後,當前正在磁道3500處爲一個請求服務。若此時請求隊列的先後順序爲1000,4000,3300,5600,1300,6000,1200,2500。回答下述問題:

(1)採用SSTF(最短尋道時間優先)算法完成上述請求。請寫出磁頭移動的順序,並計算平均尋道長度。

(2)採用SCAN(電梯)算法完成上述請求。請寫出磁頭移動的順序,並計算平均尋道長度。

解:

SSTF(最短尋道時間優先)算法:哪個進程的尋道位置與當前位置最近,先爲該進程服務

(1) 3500->3300 移動200

(2) 3300->4000 移動700

(3) 4000->2500 移動1500

(4) 2500->1300 移動1200

(5) 1300->1200 移動100

(6) 1200->1000 移動200

(7) 1000->5600 移動4600

(8) 5600->6000 移動400

平均尋道長度=(200+700+1500+1200+100+200+4600+400)/8= 1112.5

SCAN(電梯)算法:模仿電梯動作規律,由於磁頭從1250到達3500,因此先向大磁道號方向處理,再向小磁道號方向處理

(1) 3500->4000 移動500

(2) 4000->5600 移動1600

(3) 5600->6000 移動400

(4) 6000->3300 移動2700

(5) 3300->2500 移動800

(6) 2500->1300 移動1200

(7) 1300->1200 移動100

(8) 1200->1000 移動200

平均尋道長度=(500+1600+400+2700+800+1200+100+200)/8= 937.5

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章