天天看點

題庫【作業系統】

題庫【作業系統】

  • ​​前言​​
  • ​​推薦​​
  • ​​測試習題​​
  • ​​第一章 作業系統引論​​
  • ​​01_04 中斷測試題​​
  • ​​01_05 作業系統引論測試(測試題)​​
  • ​​01_06 測試題(OS發展+結構設計)​​
  • ​​第二章 程序的描述與控制​​
  • ​​02_02程序概述測試​​
  • ​​第三章 處理機排程與死鎖​​
  • ​​03_01程序排程作業​​
  • ​​03_02死鎖銀行家算法作業​​
  • ​​第四章 記憶體管理​​
  • ​​04_01記憶體管理初步測試題​​
  • ​​04_02分頁分段存儲管理以及位址轉換測試題​​
  • ​​第五章 虛拟存儲器​​
  • ​​05_01虛拟記憶體管理測試​​
  • ​​05_01頁面置換算法練習​​
  • ​​第六章 輸入輸出系統​​
  • ​​06_01 輸入輸出系統測試1​​
  • ​​06_01 輸入輸出系統測試2​​
  • ​​06_02輸入輸出系統測試3​​
  • ​​06_02 輸入輸出系統磁盤排程測試題4​​
  • ​​第七章 檔案管理​​
  • ​​07_01檔案管理測試題1​​
  • ​​07_01檔案管理測試題2​​
  • ​​07_01檔案管理測試題3​​
  • ​​課後習題​​
  • ​​第一章 作業系統引論​​
  • ​​補充 12,13,19,22​​
  • ​​另外​​
  • ​​第二章 程序的描述與控制​​
  • ​​補充 8,9,10,21,22,26​​
  • ​​另外​​
  • ​​第三章 處理機排程與死鎖​​
  • ​​補充 2 6 16 17 18 31圖​​
  • ​​第四章 存儲器管理​​
  • ​​補充 3 4 5 11 14 17 18 19 21 24​​
  • ​​另外​​
  • ​​第五章 虛拟存儲器​​
  • ​​補充 1 2 7 8 9 [16,23],25,26​​
  • ​​另外​​
  • ​​第六章 輸入輸出系統​​
  • ​​補充 [1,4] ,[6,9],11,14,19,23​​
  • ​​另外​​
  • ​​第七章 檔案管理​​
  • ​​補充 3,5,7,[9,11],17,22,[24,30]​​
  • ​​第八章 磁盤存儲器的管理​​
  • ​​補充 [4,6],17,24,25​​
  • ​​第九章 作業系統接口​​
  • ​​補充 14​​
  • ​​第十章 多處理機作業系統​​
  • ​​第十一章 多媒體作業系統​​
  • ​​第十二章 保護與安全​​
  • ​​另外​​
  • ​​另外​​
  • ​​另外​​
  • ​​最後​​

前言

以下内容源自《計算機作業系統(第四版)課後習題答案西電版》

僅供學習交流使用

測試習題

第一章 作業系統引論

01_04 中斷測試題

1單選題

CPU在每個時鐘周期都檢查是否有中斷。

A. 對

B. 錯

正确答案: B
你的作答: A      

2單選題

中斷處理和子程式調用都需要壓棧以保護現場,中斷處理一定會儲存而子程式調用不需要儲存其内容的是( )

A. 程式計數器

B. 程式狀态字寄存器

C. 通用資料寄存器

D. 通用位址寄存器

正确答案: B
你的作答: B      

解析

該題重點考查考生對中斷處理過程的了解。

當系統有中斷信号産生時,CPU立即響應并開始執行中斷處理程式。中斷處理程式執行完後,傳回程式斷點處繼續執行。為了保證程式的正确執行,在中斷處理前後必須儲存和恢複被中斷的程式現場。需要儲存和恢複的現場資訊包括:程式計數器、通用寄存器以及程式狀态字寄存器等關鍵寄存器的内容。

一般子程式被調用時,不需要儲存程式狀态字寄存器的内容,隻需要将局部變量、參數以及傳回位址壓入堆棧。

程式狀态字一般包括條件碼、中斷允許/禁止位、核心/使用者态位。程式狀态字的内容在進入中斷處理程式時可能會發生改變,而在子程式調用時不會發生改變。是以為了能夠恢複現場,進入中斷處理程式前必須儲存程式狀态字,而且一般由硬體儲存。

3單選題

中斷的引入是為了支援裝置和裝置之間的并行操作。

A. 對

B. 錯

正确答案: B
你的作答: B      

4單選題

Linux核心子產品運作在使用者空間。

A. 對

B. 錯

正确答案: B
你的作答: B      

5單選題

從哪個角度會使用到作業系統的系統調用( )

A. 使用者

B. 普通開發者

C. 作業系統設計者

D. 連結程式設計者

正确答案: B
你的作答: D      

6單選題

系統調用是( )。

A. 一條機器指令

B. 中斷子程式

C. 使用者子程式

D. 提供程式設計人員的接口

正确答案: D
你的作答: D      

解析

系統調用也叫程式接口,是程式級接口,即使用者程式可以利用系統提供的一組系統調用去調用作業系統核心中的一個(或一組)過程來完成自己所需的功能。

答案:D

7單選題

()是CPU在執行過程中出錯了

A. 中斷

B. 異常

C. 系統調用

正确答案: B
你的作答: B      
解析
題庫【作業系統】

8單選題

CPU運作現場指在程式的執行過程中任一時刻狀态資訊的集合,處理器的狀态放在

A. 程式計數器

B. 指令寄存器

C. 程式狀态寄存器(PSW寄存器)

D. 其他各種 寄存器

正确答案: C
你的作答: C      
解析
題庫【作業系統】

9單選題

特權指令既能運作在使用者态也能運作在運作在核心态,非特權指令隻能運作在使用者态

A. 對

B. 錯

正确答案: B
你的作答: A      
解析
題庫【作業系統】

01_05 作業系統引論測試(測試題)

1單選題

學作業系統的目标是()

A. 會使用OS

B. 會使用OS的接口

C. 能了解真實作業系統的運轉

D. 寫一個作業系統

正确答案: C
你的作答: C      

2單選題

printf()這一句的執行涉及到記憶體,總線還有顯示器等,是一個複雜的過程

A. 對

B. 錯

正确答案: A
你的作答: A      

3單選題

程序管理其實就是管CPU

A. 對

B. 錯

正确答案: A
你的作答: B      

4單選題

通過指令使用計算機不屬于作業系統的接口

A. 對

B. 錯

正确答案: B
你的作答: B      

5單選題

顯示卡不屬于作業系統管理()

A. 對

B. 錯

正确答案: B
你的作答: B      

6單選題

作業系統的服務員角色指的是能給使用者提供一種接口,開發人員可以直接調用

A. 對

B. 錯

正确答案: A
你的作答: A      

7單選題

作業系統是一種應用軟體

A. 對

B. 錯

正确答案: B
你的作答: B      

8單選題

作業系統是與硬體相關與應用無關的()

A. 對

B. 錯

正确答案: A
你的作答: B      

01_06 測試題(OS發展+結構設計)

1單選題

哪個是作業系統分層結構設計的特點( )

A. 每一層隻可以使用底層的功能和服務

B. 調試和驗證容易

C. 結構變得清晰

D. 以上都是

正确答案: D
你的作答: D      

2單選題

具有易維護和易擴充性,采用客戶機/伺服器模式的通信方式,程序間通信代價大特點的作業系統設計結構是( )

A. 分層結構

B. 子產品結構

C. 微核心結構

正确答案: C
你的作答: C      

3單選題

引入單道批處理系統之後還要引入多道批處理系統的原因( )

A. 為了進一步提高系統資源的使用率和增加系統吞吐量

B. 為了能讓更多的作業放入記憶體

C. 為了讓使用者能與作業進行互動

D. 為了提高系統的可靠性

正确答案: A
你的作答: A      

4單選題

在分時系統中,時間片一定,( ),響應時間越長。

A. 記憶體越多

B. 使用者數越多

C. 記憶體越少

D. 使用者數越少

正确答案: B
你的作答: B      

5單選題

由多個計算機組成的一個系統,這些計算機之間可以通信來交換資訊,互相之間無主次之分,它們共享系統資源,程式由系統中的全部或部分計算機協同執行,管理上述計算機系統的作業系統是( )

A. 分時OS

B. 實時OS

C. 分布式OS

D. 網絡OS

正确答案: C
你的作答: C      

6單選題

多個使用者在終端裝置上的互動方式輸入、排錯和控制其程式的運作是( )

A. 分時OS

B. 實時OS

C. 分布式OS

D. 網絡OS

正确答案: A
你的作答: A      

7單選題

把一個程式劃分成若幹個宏觀同時執行的程式子產品的設計方法是( )

A. 分時OS

B. 實時OS

C. 多道程式設計

D. 并發程式設計

正确答案: D 
你的作答: D      

8單選題

為了提高計算機的處理機和外部裝置的使用率,把多個程式同時放入主存,在宏觀上并發運作是 ( )

A. 分時OS

B. 實時OS

C. 多道程式設計

D. 單道程式設計

正确答案: C
你的作答: C      

9單選題

在設計批處理系統時,首先要考慮的是 ( )

A. 靈活性和可适應性;

B. 互動性和響應時間;

C. 周轉時間和系統吞吐量;

D. 實時性和可靠性。

正确答案: C
你的作答: C      

解析

批處理系統的主要特點是可以自動地批量執行多個作業任務,系統可以獲得較高的吞吐量和較低的周轉時間。

10單選題

在設計實時作業系統時,首先要考慮的是( )

A. 靈活性和可适應性;

B. 互動性和響應時間;

C. 周轉時間和系統吞吐量;

D. 實時性和可靠性。

正确答案: D
你的作答: A      

解析

實時系統最主要的特征是将時間作為關鍵參數,它必須對所接收到的某些信号,及時或實時的反應。實時系統是指系統能及時響應外部事件的請求,在規定時間内完成對該事件的處理,并控制所有實時任務協調一緻地運作。如工業控制系統、資訊查詢系統、多媒體系統和嵌入式系統。

11單選題

在設計分時作業系統時,首先要考慮的是( )

A. 靈活性和可适應性

B. 互動性和響應時間;

C. 周轉時間和系統吞吐量;

D. 實時性和可靠性。

正确答案: B
你的作答: B      

第二章 程序的描述與控制

02_02程序概述測試

1單選題

在單處理機系統中,處于運作狀态的程序( )。

A. 最多隻有一個

B. 可以有多個

C. 不能被挂起

D. 必須在執行完後才能被撤下

正确答案: A
你的作答: A      

2單選題

下列程序狀态的轉換中,不正确的是( )。

A. 就緒到運作

B. 運作到就緒

C. 就緒到阻塞

D. 阻塞到就緒

正确答案: C
你的作答: C      

3單選題

某程序在運作過程中需要等待從磁盤上讀入資料,此時該程序的狀态轉換是( )。

A. 從就緒變為運作

B. 從運作變為就緒

C. 從運作變為阻塞

D. 從阻塞變為就緒

正确答案: C
你的作答: C      

4單選題

原語是( )。

A. 一條機器指令

B. 若幹條機器指令組成,不可被中斷

C. 一條特定指令

D. 中途能打斷的指令

正确答案: B
你的作答: B      

5單選題

支援多道程式設計的作業系統在運作過程中,不斷地選擇新程序運作來實作CPU的共享,但其中( ) 不是引起作業系統選擇新程序的直接原因。

A. 運作程序的時間片用完

B. 運作程序出錯

C. 運作程序要等待某—事件的發生

D. 有新程序進入就緒狀态

正确答案: D
你的作答: D      

6單選題

下面對程序的描述中,錯誤的是( ) 。

A. 程序是動态的概念

B. 程序執行需要處理機

C. 程序是有生命期的

D. 程序是指令的集合

正确答案: D
你的作答: D      

7單選題

下列的程序狀态變化中, ( )變化是不可能發生的。

A. 運作—就緒

B. 運作—等待

C. 等待一運作

D. 等待一就緒

正确答案: C
你的作答: C      

8單選題

一個運作的程序用完了配置設定給它的時間片後還沒運作完,它的狀态變為 ( )。

A. 就緒

B. 等待

C. 運作

D. 由使用者自己确定

正确答案: A
你的作答: A      

9單選題

多道程式環境下,作業系統配置設定資源以( )為基本機關。

A. 程式

B. 指令

C. 程序

D. 作業

正确答案: C
你的作答: C      

10單選題

作業系統通過( )對程序進行管理。

A. FCB

B. PCB

C. DCB

D. DBC

正确答案: B
你的作答: B      

第三章 處理機排程與死鎖

03_01程序排程作業

有一個批處理作業系統隻能容納2道作業,有 6 個作業進入系統,它們的進入時刻、估計運作時間和優先級如下表所示:

作業号 進入時刻 估計運作時間 優先級

JOB1 8:00 90 分鐘 5

JOB2 8:10 30 分鐘 6

JOB3 8:30 20 分鐘 3

JOB4 8:50 25 分鐘 8

JOB5 9:20 10 分鐘 2

JOB6 9:40 5 分鐘 4

系統采用 短作業優先作業排程算法(注意:此處為作業排程,從外存選作業進入記憶體),作業一旦被排程運作就不再退出記憶體,但當有新的作業投入運作時,系統是可以按照優先級(優先級越大表示優先級越高)進行程序排程(注意:此處為程序排程,從就緒程序中選程序運作)。

這個系統有很多排程限制條件,請大家認真分析,回答以下問題:

(1)請分析系統采用排程方式是搶占式還是非搶占式排程?使用了哪些排程算法(2分)

(2)試給出各個作業的運作時間序列,并寫出詳細過程。(例如:JOB1:8:00-8:30,9:10-9:20,…) (4分)

(3)試計算出作業的周轉時間和平均周轉時間。 (4分)

題庫【作業系統】
題庫【作業系統】

03_02死鎖銀行家算法作業

請用銀行家算法解決以下問題。

某系統中有A、B、C、D、E共5種資源,數量為[5,6,8,6,4],某個時刻程序和資源的使用情況如下:

程序名        Allocation           Need
          A  B  C  D  E       A  B  C  D  E
 P0      [0,2,1,1,1]      [1,0,2,1,1]
 P1      [2,0,1,1,1]      [0,3,2,1,0]
 P2      [0,1,0,1,1]      [0,3,3,2,2]
 P3      [0,3,1,2,0]      [1,0,1,2,1]      

1)此時系統的可用資源數量Available為多少?

2)若按照從P0到P3依次進行檢測的順序,進行安全性檢測找到的第二個滿足條件的程序為P3 ,檢測後發現系統是不是安全狀态,為什麼?

3)若此時程序P0提出申請資源[1,0,0,0,1],假設系統滿足其要求後,經檢測發現系統是不是安全狀态,為什麼?

4)若在此次尋找安全序列時,找到的第一個程序為P0,若其運作完畢釋放資源後,系統的Available變為多少?

第四章 記憶體管理

04_01記憶體管理初步測試題

3’40"

1單選題

在多使用者環境中為了實作多使用者之間的隔離,必須采取( )措施。

A. 存儲管理

B. 存儲擴充

C. 存儲保護

D. 存儲共享

正确答案: C
你的作答: C      

解析

在多使用者環境中,系統中多個程式均存放在主存中,如何保證一道程式在執行過程中不會有意或無意破壞另外一道程式在記憶體中的代碼和資料,這是存儲保護要實作的功能。多使用者之間的隔離,要求必須對程式和資料有完善的保護,是以必須采取存儲保護的措施。

2單選題

下列對重定位的叙述中,正确的選項是:( )。

A. 經過重定位後,指令代碼并不發生變化

B. 經過重定位後,隻是資料位址發生了變化

C. 經過重定位後,指令代碼中的操作碼和操作數位址都要發生變化

D. 經過重定位後,隻是資料位址和指令代碼中的操作數發生了變化

正确答案: A
你的作答: B      

解析

經過重定位後,指令代碼并不發生變化,即指令代碼中的操作碼和操作數都不發生變化,變化的是指令代碼的位址和資料位址。選項D容易被錯選。

3單選題

設三個目标子產品A、B、C,起始位址都是0,長度分别是L、M、N,這三個子產品按A、B、C順序采用靜态連結方式連結在一起後,則子產品C的起始位址變換為( )。

A. L+M+N

B. L+M

C. L+M-1

D. M+N

正确答案: B
你的作答: B      

解析

靜态連結是在程式運作之前,将各目标子產品及它們所需的庫函數,連結成一個完整的裝配子產品,以後不再拆開。采用靜态連結方式連結在一起後,子產品C的相對位址隻要加上前面子產品的大小就行了,即L+M。由于整體的起始位址是0,是以子產品結尾位址是長度減1,即子產品C結尾位址是L+M+N-1。

4單選題

在可變分區存儲管理系統中,某一個作業完成後,系統回收其主存空間,并與相鄰空間合并,為此需要修改空閑區表,造成空閑區數減1的情況是( )。

A. 無上鄰接空閑區,也無下鄰接空閑區

B. 有上鄰接空閑區,但無下鄰接空閑區

C. 無上鄰接空閑區,但有下鄰接空閑區

D. 有上鄰接空閑區,也有下鄰接空閑區

正确答案: D
你的作答: D      

解析

對于回收的記憶體區,.如果該記憶體分區不與原有任何空白區相鄰,空閑分區個數增加1;如果該記憶體分區與原有的一個空白區相鄰,空閑分區個數保持不變;如果該記憶體分區跟原有的兩個空白區相鄰,空閑分區個數減1。

5單選題

某系統采用固定分區配置設定存儲管理,記憶體空間為640K,其中位址0到40K被系統占用,其它空間按分區大小相等的方法劃為4個分區,則當有大小分别為7 KB、90KB、30KB、20KB的作業進入記憶體時,浪費的記憶體為( )。

A. 3KD

B. 450KB

C. 453KB

D. 147KB

正确答案: C
你的作答: C      

解析

由于是采用固定分區配置設定存儲管理,且空間按分區大小相等的方法劃為4個分區,是以每個分區大小都是150KB,四個作業進入記憶體後分别占據4個分區,剩餘空間不能被其它作業利用,即造成浪費。浪費的記憶體=600-7-90-30-20=453KB

6單選題

可通過界限寄存器進行存儲保護的存儲器管理方法是( )。

A. 分區式配置設定存儲管理

B. 分頁存儲管理

C. 分段存儲管理

D. 段頁式存儲管理

正确答案: A
你的作答: D      

解析

為防止一個作業有意或無意地破壞作業系統或其它作業,應采取存儲保護措施。分區配置設定中通常采用界限寄存器的方法,是以分區配置設定亦稱界限存儲管理。可通過界限寄存器進行存儲保護的存儲器管理方法還有單一連續配置設定方式存儲管理。存儲保護管理方法的采用和存儲器管理中的位址變換原理直接有關。

7單選題

某動态分區配置設定存儲管理系統,某時刻記憶體中空閑分區情況如表2-7所示,有一個作業申請50 KB記憶體,系統把第4個空閑分區配置設定給了該作業,則該系統采用的分區配置設定算法是( )。記憶體空閑分區情況:序号1的分區大小是80KB,分區始址是60KB;序号2的分區大小是75KB,分區始址是150KB;序号3的分區大小是55KB,分區始址是250KB;序号4的分區大小是90KB,分區始址是350KB.

A. 最佳适應算法

B. 最壞适應算法

C. 首次适應算法

D. 循環首次适應算法

正确答案: B
你的作答: B      

解析

本題可參考第一章助學導學部分表1-6:分區配置設定三種算法比較。

8單選題

界限寄存器存儲保護方法( )。

A. 在“基址寄存器值≤通路位址≤基址寄存器值+限長寄存器值”時不允許通路,産生錯誤中斷

B. 使用者可以修改基址寄存器和限長寄存器的值

C. 基址寄存器和限長寄存器是主存儲器的一部分

D. 設定兩個寄存器:基址寄存器和限長寄存器

正确答案: D
你的作答: D      

解析

在界限寄存器存儲保護方法中設定了兩個寄存器,即基址寄存器和限長寄存器。當“基址寄存器值≤通路位址≤基址寄存器值+限長寄存器值”時通路位址正常,允許通路;否則,不允許通路,産生錯誤中斷。系統不允許使用者随意修改基址寄存器和限長寄存器的值,隻有作業系統才有權改變它們的值。基址寄存器和限長寄存器是中央處理器的硬體設定,不屬于主存儲器。

04_02分頁分段存儲管理以及位址轉換測試題

1單選題

在頁式存儲管理系統中,位址寄存器長度為24位,其中頁号占14位,則主存的分塊大小為( )位元組。

A. 2^24

B. 2^14

C. 2^10

D. 10

正确答案: C
你的作答: C      

解析

在分頁存儲管理系統中,邏輯位址格式為: 頁号P 位移量W 。該題中頁号占14位,位址總長度占24位,則頁内位移量W=位址總長度-頁号=10位。是以頁面大小為210位元組。在分頁存儲管理中,頁面大小和塊大小相同,是以主存分塊大小也為 210位元組。

2單選題

分頁系統中的頁面是為( )所感覺的。

A. 使用者

B. 作業系統

C. 編譯系統

D. 連接配接裝配程式

正确答案: B
你的作答: B      

解析

記憶體分頁管理是在硬體和作業系統層面實作的,對使用者、編譯系統、連接配接裝配程式等上層是不可見的。

3單選題

有一系統采用頁式存儲管理,有一作業大小是8KB,頁大小為2KB,依次裝入記憶體的第7、9、A、5塊,試将虛位址1ADDH轉換成記憶體位址。()

A. 10973

B. 1001

C. 10976

D. 1003

正确答案: A
你的作答: A      

解析

虛位址:1ADDH是十進制數6877 P=6877/2048=3 W=6877mod2048=733

MR=5*2048+733= 10973

4單選題

在頁式存儲管理方案中,采用( )實作位址變換

A. 頁表

B. 段表

C. 段表和頁表

D. 空閑區表

正确答案: A
你的作答: A      

解析

頁表實作從邏輯位址到實體位址的轉換

5單選題

有一系統采用頁式存儲管理,有一作業大小是8KB,頁大小為2KB,依次裝入記憶體的第7、9、10、5塊,試将虛位址7145轉換成記憶體位址。

A. 11241

B. 11341

C. 11242

D. 11342

正确答案: A
你的作答: A      

解析

虛位址:7145 P=7145/2048=3 W=7145mod2048=1001

MR=5*2048+1001=11241

6單選題

在一個分頁存儲管理系統中,邏輯位址長度為16位,頁面大小為2048位元組。現有一邏輯位址為1F6A(H),且第 0、1、2 、3頁依次存在實體塊 10、15、12、14 号中,問相應的實體位址為多少?

A. DF6A(H)

B. 776A(H)

C. FF6A(H)

D. E76A(H)

正确答案: B
你的作答: B      

解析

2048=211

虛位址:

1F6AH= 0001 1111 0110 1010B

P=0011B=3 W=111 0110 1010

MR=14*211+111 0110 1010B=0111 0111 0110 1010B=776A(H)

7單選題

一個位址為32位的計算機系統使用二級頁表,邏輯位址被分為9位外部頁表,11位内部頁表和頁内偏移。試問:頁面大小是多少?邏輯位址空間共有多少個頁面?

A. 4KB 1M個

B. 2KB 2M個

C. 8MB 2K個

D. 4MB 2M個

正确答案: A
你的作答: A      

8單選題

定義段表如下:

段号 段始址 段長
219 600
1 2300 14
2 90 100
3 1327 580
4 1952 96

給定位址為段号和段内偏移:

  1. [0,430];
  2. [3,400];
  3. [1,1];
  4. [2,500];
  5. [4,42]。

試求出對應的記憶體實體位址

A. 649 1727 2301 590 1994

B. 1030 980 15 600 138

C. 1030 980 15 越界 138

D. 649 1727 2301 越界 1994

正确答案: D
你的作答: D      

解析

段内偏移和段長比較,

>則越界

< 則實體位址=段始址+段内偏移

第五章 虛拟存儲器

05_01虛拟記憶體管理測試

1單選題

某計算機,采用Intel80286處理器,記憶體4MB,硬碟200MB,位址寄存器為24位,則虛拟存儲器可管理的空間為( )。

A. 4M

B. 16M

C. 200M

D. 204M

正确答案: B
你的作答: B      

解析

虛拟存儲器可管理的空間直接決定于位址寄存器位數,而與記憶體及輔存的實體容量大小無關。是以位址寄存器為24位的虛拟存儲器可管理空間為:224=16M。

2單選題

在請求分頁系統中,凡未裝入過記憶體的頁都應從﹎A﹎調入;已運作過的頁主要是從﹎B﹎調入,有時也可以從﹎C﹎調入。

A,B,C:

(1)系統區; (2)檔案區;

(3)對換區; (4)頁面緩沖池。

A. A-(1) B-(3) C-(4)

B. A-(2) B-(3) C-(1)

C. A-(2) B-(1) C-(4)

D. A-(2) B-(3) C-(4)

正确答案: D
你的作答: D      

3單選題

在請求分頁記憶體管理的頁表表項中,其中狀态位供﹎A﹎時參考;修改位供﹎B﹎時參考;通路位供﹎C﹎時參考;外存始址供﹎D﹎時參考。 A,B,C,D:

(l)配置設定頁面; (2)置換算法;

(3)程式通路; (4)換出頁面;

(5)調入頁面。

A. A-(3) B-(4) C-(2) D-(5)

B. A-(1) B-(4) C-(2) D-(5)

C. A-(3) B-(4) C-(2) D-(1)

D. A-(3) B-(1) C-(2) D-(5)

正确答案: A
你的作答: A      

4單選題

虛拟存貯管理系統的基礎是程式的局部性理論。此理論的基本含義是﹎﹎。局部性有兩種表現形式:時間局限性和﹎﹎。它們的意義分别為﹎﹎和﹎﹎。

①程式執行時對主存和通路是不均勻的②代碼的順序執行③變量的連續通路④指令的局部性 ⑤資料的局部性 ⑥空間局部性

⑦最近被通路的單元,很可能在不久的将來還要被通路 ⑧最近被通路的單元,很可能在它附近的單元也即将被通路 ⑨結構化程式設計,很少出現轉移語句 ⑩程式中循環語句的執行時間一般很長 ⑪程式中使用的資料局部于各子程式。

A. ①⑥ ⑦⑨

B. ①⑥ ⑦⑧

C. ①③ ⑦⑨

D. ②③ ⑦⑨

正确答案: B
你的作答: B      

5單選題

一個請求分段存儲管理系統中,位址長度為32位,其中段号占8位,則最大段長是

A. 2^8位元組

B. 2^16位元組

C. 2^24位元組

D. 2^32位元組

正确答案: C
你的作答: C      

05_01頁面置換算法練習

設某作業占有 5個頁面,如果在主存中隻允許裝入4個工作頁面,作業運作時,實際通路頁面的順序是4,3,2,1,4,3,5,4,3,2,1,5。

試用 FIFO與LRU頁面置換算法,求出缺頁中斷次數和缺頁率

題庫【作業系統】

第六章 輸入輸出系統

06_01 輸入輸出系統測試1

1單選題

因為裝置驅動程式完全隐藏了裝置的工作細節,是以驅動程式的開發人員不需要了解硬體相關的細節。

A. 對

B. 錯

正确答案: B
你的作答: B      

2單選題

使用者程式發出磁盤 I/O 請求後,系統的處理流程是:使用者程式→系統調用處理程式→裝置驅動程式→中斷處理程式。其中,計算資料所在磁盤的柱面号、磁頭号、扇區号的程式是()。

A. 使用者程式

B. 系統調用處理程式

C. 裝置驅動程式

D. 中斷處理程式

正确答案: C
你的作答: B      

3單選題

一個計算機系統配置有3台同類型的列印機,以及2台同類型的繪圖儀。為了正确驅動這些裝置,系統應該提供( )個裝置驅動程式。

A. 1

B. 2

C. 3

D. 5

正确答案: B
你的作答: B      

4單選題

裝置驅動程式是系統提供的一種通信程式,它專門用于在請求I/O的程序與裝置控制器之間傳輸資訊。下面的選項中不是裝置驅動程式功能的是( )。

A. 檢查使用者I/O請求的合法性

B. 及時響應由控制器或通道發來的中斷請求

C. 控制I/O裝置的I/O操作

D. 了解I/O裝置的狀态,傳遞有關參數,設定裝置的工作方式

正确答案: C
你的作答: B      

06_01 輸入輸出系統測試2

1單選題

CPU對通道的請求形式是( )。

A. 自陷

B. 中斷

C. 通道指令

D. 轉移指令

正确答案: C
你的作答: C      

2單選題

下列說法不正确的是( )

A. 程式直接控制方式耗費大量的的CPU時間,而無法檢測發現裝置或其他硬體産生的錯誤,裝置和CPU,裝置和裝置之間不能并行工作

B. 中斷處理方式因為中斷次數太多因而消耗大量的CPU時間

C. 通道控制方式在CPU發出I/O啟動指令後,由通道指令來完成存放資料的記憶體原始位址以及操作方式和傳送位元組的長度

D. DMA方式不能直接在外設和記憶體之間交換資料。

正确答案: D
你的作答: D      

3單選題

下列不屬于CPU和常用裝置傳送控制方式的是( )

A. 程式間接控制方式

B. 中斷控制方式

C. DMA方式

D. 通道方式

正确答案: A
你的作答: A      

4單選題

在DMA方式中,資訊的傳送方向、資訊傳送的源位址和目的位址以及傳送長度等都是由( )控制。

A. DMA

B. DMA控制器

C. 主存

D. 通道

正确答案: B
你的作答: B      

5單選題

通道對CPU的請求形式是( )。

A. 自陷

B. 中斷

C. 通道指令

D. 跳轉指令

正确答案: B
你的作答: B      

6單選題

通道是一種( )

A. 儲存I/O資訊的部件

B. 傳輸資訊的電子線路

C. 通用處理機

D. 專用處理機

正确答案: D
你的作答: D      

7單選題

某系統中,采用中斷驅動I/O控制方式,假設中斷時,CPU用1ms來進行中斷請求,其它時間CPU完全用來計算,若系統時鐘中斷頻率為100Hz,則CPU的使用率為( )。

A. 60%

B. 70%

C. 80%

D. 90%

正确答案: D
你的作答: D      

解析

時鐘周期=1/100=0.01s=10ms

CPU使用率=1-1ms/l0ms=90%

8單選題

表2-14是一段簡單的通道程式,則四個選項中叙述不正确的是( )。

題庫【作業系統】

A. 該段通道程式包括六條、兩類通道指令

B. 這些指令涉及的資料記憶體位址有相鄰接的地方

C. 該段通道程式共處理了五條記錄

D. 記錄最大為230個位元組

正确答案: D
你的作答: D      

解析

在通道程式中,每一行就是一條指令;

該段通道程式包括了WRITE和READ兩類通道指令,故選項A正确。

第二條和第五條指令資料記憶體位址在350相鄰接,是以選項B正确。

R是記錄結束标志,R=0表示本通道指令與下一條通道指令所處理的資料同一個記錄,R=1表示處理記錄的最後一條指令,是以R=1的個數就是處理的記錄個數,該題目為五條,是以選項C是正确的。

因為第四條記錄為240個位元組(120+120),它才是最大記錄,是以選項D錯誤。

9單選題

在下面的I/O控制方式中,需要CPU幹預最少的方式是( )。

A. 程式I/O方式

B. 中斷驅動I/O控制方式

C. 直接存儲器通路DMA控制方式

D. I/O通道控制方式

正确答案: D
你的作答: D      

解析

在早期的計算機系統中,采用程式I/O方式;

當在系統中引入中斷機制後,I/O方式發展為中斷驅動控制方式,這種方式在I/O傳輸每個資料的過程中,無需CPU幹預,僅當輸完一個資料時,才需CPU花費極短的時間去做這些中斷處理;

此後,随着DMA控制器的出現,又使I/O方式從以位元組為機關的傳輸擴大到以資料塊為機關進行傳輸,僅在傳輸一個或多個資料塊開始或結束時,才需要CPU幹預;

而I/O通道可進一步減少CPU的幹預,把對一個資料塊的讀(或寫)為機關的幹預,減少為對一個資料塊的讀(或寫)及有關的控制和管理為機關的幹預

10單選題

I/O系統結構分為四級:(1)裝置控制器(2)I/O裝置(3)存儲器(4)I/O通道,按級别由高到低的順序是( )。

A. (2)-(4)-(1)-(3)

B. (3)-(1)-(4)-(2)

C. (2)-(1)-(4)-(3)

D. (3)-(4)-(1)-(2)

正确答案: D
你的作答: D      

解析

在具有通道的計算機系統中,存儲器、通道、裝置控制器和I/O裝置之間采用四級連接配接、三級控制

06_02輸入輸出系統測試3

1單選題

裝置管理的主要程式之一是裝置配置設定程式,當程序請求在記憶體和外設之間傳送資訊時,裝置配置設定程式配置設定裝置的過程通常是( )。

A. 先配置設定裝置,再配置設定控制器,最後配置設定通道

B. 先配置設定控制器,再配置設定裝置,最後配置設定通道

C. 先配置設定通道,再配置設定裝置,最後配置設定控制器

D. 先配置設定通道,再配置設定控制器,最後配置設定裝置

正确答案: A
你的作答: A      

解析

在單通道I/O系統中,按照如下步驟配置設定裝置:

(1)配置設定裝置。根據程序所提出的裝置名來檢索系統裝置表,從中找到該實體裝置的裝置控制塊,根據裝置控制塊的狀态決定是否配置設定該裝置。

(2)配置設定控制器。當系統把裝置配置設定給要求的I/O程序後,從裝置控制表中的控制器指針找到與此裝置相連的控制器表,再檢查該表的狀态資訊進行配置設定。

(3)配置設定通道。通過控制器控制塊找到與此控制器相連的通道表,從中了解此通道的狀态資訊進行配置設定。

2單選題

下面關于裝置獨立性的叙述中,正确的是( )。

A. 裝置獨立性是指I/O裝置具有獨立執行I/O功能的一種特性

B. 裝置獨立性是指使用者程式獨立于具體使用的實體裝置的一種特性

C. 裝置獨立性是指能獨立實作裝置共享的一種特性

D. 裝置獨立性是指裝置驅動獨立于具體使用的實體裝置的一種特性

正确答案: B
你的作答: B      

解析

裝置獨立性是指使用者裝置獨立于所使用的具體實體裝置,即在使用者程式中要執行I/O操作時,隻需用邏輯裝置名提出I/O請求,而不必局限于某特定的實體裝置。

答案:B。

3單選題

為了使多個程序有效地同時處理輸入和輸出,最好使用( )結構的緩沖技術。

A. 單緩沖區

B. 雙緩沖區

C. 閉緩沖區環

D. 緩沖池

正确答案: D
你的作答: D      

解析

在現代作業系統中,幾乎所有I/O裝置與處理器(記憶體)交換資料時,都使用了緩沖技術。因為提高I/O裝置的使用率,在很大程度上都需要借助于緩沖技術來實作。緩沖管理的主要功能是組織好這些緩沖區,并提供獲得和釋放緩沖區的手段。

4單選題

下列關于SPOOLing技術的叙述中,不正确的是( )。

A. SPOOLing系統中不需要獨占裝置

B. SPOOLing使獨占裝置變成共享裝置

C. SPOOLing系統加快了作業的執行速度

D. SPOOLing實作了虛拟裝置功能

正确答案: A
你的作答: A      

解析

SPOOLing技術應以外存空間作為物質基礎,同時應該至少有一台獨占裝置實作輸入/輸出,是以選項A錯誤。

SPOOLing技術将外存空間模拟成多台獨占裝置,從功能上看,它将一台獨占裝置變成多台共享裝置,選項B正确。

SPOOLing技術将獨占裝置變成共享裝置,使程序避免長期等待I/O操作的完成,是以加快了作業的執行速度,選項C正确。

宏觀上,SPOOLing系統雖然是多個程序同時使用一台獨占裝置,而對每一個程序而言,都認為自己是獨占了一個裝置。是以,SPOOLing系統實作了将獨占裝置變換為若幹個對應的邏輯裝置的功能,選項D正确。

5單選題

某作業系統采用雙緩沖傳送某磁盤資料,設從磁盤将資料傳送到緩沖區所用時間為T1,将緩沖區中資料傳送到使用者區所用時間為T2(假設T2<<T1),CPU處理資料所用時間為T3,則處理該資料,系統所用總時間為( )。

A. T1+T2+T3

B. T1

C. T3

D. MAX(T1,T3)

正确答案: D
你的作答: D      

解析

系統采用雙緩沖傳送某磁盤資料時情況如下:

(1)如果T3>T1,即CPU處理資料比資料傳送慢,此時意味着I/O裝置可連續編入,磁盤将資料傳送到緩沖區再到使用者區與CPU處理資料可以看成在并行,但時間花費取決于CPU最大花費時間,則系統所用總時間為T3。

(2)如果T3<T1,即CPU處理資料比資料傳送快,此時CPU不必等待I/O裝置,磁盤将資料傳送到緩沖區與緩沖區中資料傳送到使用者區再CPU處理資料可以看成在并行,則時間花費取決于磁盤将資料傳送到緩沖區所用時間T1。

6單選題

某檔案占10個磁盤塊,現要把該檔案磁盤塊逐個讀入主存緩沖區,并送使用者區進行分析。假設一個緩沖區與一個磁盤塊大小相同,把一個磁盤塊讀入緩沖區的時間為100 μs,将緩沖區的資料傳送到使用者區的時間是50 μs,CPU對一塊資料進行分析的時間為50 μs。在單緩沖區和雙緩沖區結構下,讀入并分析完該檔案的時間分别是( )

A. 1500 μs、1000 μs

B. 1550 μs、1100 μs

C. 1550 μs、1550 μs

D. 2000 μs、2000 μs

正确答案: B
你的作答: B      

解析

該題考查學生對I/O緩存在提高系統性能方面所起作用的了解,正确解答該題的關鍵在于考生需正确地了解I/O過程中的并行關系。

由于對同一個緩沖區的讀操作和寫操作不能同時進行,是以,使用單緩沖時,必須在CPU将第n-1個資料塊從緩沖區全部送入使用者工作區之後,才能開始将第n個磁盤資料塊讀入緩沖區。

在使用單緩沖時,隻有對第n-1塊資料的分析與将第n塊磁盤資料讀入緩沖區的過程是可以并行的,将第n-1塊資料從緩沖區送入使用者區與将第n塊磁盤資料讀入緩沖區的過程是不能并行的。

而在使用雙緩沖時,隻要将第n-1個資料塊從磁盤讀入1個緩沖區後,就可以開始将第n個磁盤塊資料讀入第2個緩沖區。将第n個磁盤塊資料讀入緩沖的過程與将第n-1個資料塊從緩沖區送入使用者區以及對其分析的過程是并行的,可見增加緩沖區可提高I/O與CPU并行工作的程度。

該題中,在I/O與CPU完全串行工作的情況下,處理一個資料塊的時間T為

T = 一個磁盤塊資料讀入緩沖區的時間

+ 緩沖區的資料傳送到使用者區的時間

+ CPU對一塊資料進行分析的時間

= 100μs + 50μs + 50μs

= 200μs

讀入并分析完題中檔案的10個資料塊需要的時間為:200μs×10=2000μs。

在使用單緩沖的情況下,将磁盤資料讀入緩沖區與CPU分析資料過程的并行時間=min(把一個磁盤塊資料讀入緩沖區的時間,CPU對一塊資料進行分析的時間)=min(100μs,50μs)=50μs(如題15圖-a所示)。讀入第2~10塊磁盤塊到緩沖區的過程與CPU分析第1~9塊資料的過程共有50μs×9=450μs的并行時間,即處理完題中檔案的10個資料塊,CPU分析資料與将磁盤資料讀入緩沖區的并行時間共為450μs。綜上所述,使用單緩沖時,考慮因并行減少的資料處理時間,讀入并分析完題中10個資料塊需要的時間為2000μs-450μs=1550μs。

在使用雙緩沖的情況下,若不考慮I/O與CPU速率的差異,将磁盤塊資料讀入緩沖區的過程與将資料塊從緩沖區送入使用者區以及對資料塊的分析過程是并行的,并行時間=min(将緩沖區的資料傳送到使用者區的時間+CPU對一塊資料進行分析的時間,把一個磁盤塊讀入緩沖區的時間)=

min(50μs+50μs,100μs)=100μs(如題15圖b所示)。将第2~10塊磁盤資料讀到緩沖區的過程與CPU将第1~9塊資料從緩沖區傳送到使用者區并分析資料的過程共有100μs×9=900μs的并行時間,是以讀入并分析完題中檔案的10個資料塊需要的時間為2000μs-900μs=1100μs。

此題也可以根據如題15圖使用單緩沖的并行情況及使用雙緩沖的并行情況計算題目要求的結果。

在使用單緩沖時,讀入并分析完題中檔案的10個資料塊需要的時間為200μs + 150μs × 9=1550μs。

在使用雙緩沖時,需要的時間為200μs +100μs×9=1100μs。

題庫【作業系統】
題庫【作業系統】

7單選題

中斷處理和子程式調用都需要壓棧以保護現場,中斷處理一定會儲存而子程式調用不需要儲存其内容的是( )

A. 程式計數器

B. 程式狀态字寄存器

C. 通用資料寄存器

D. 通用位址寄存器

正确答案: B
你的作答: B      

解析 該題重點考查考生對中斷處理過程的了解。

當系統有中斷信号産生時,CPU立即響應并開始執行中斷處理程式。中斷處理程式執行完後,傳回程式斷點處繼續執行。為了保證程式的正确執行,在中斷處理前後必須儲存和恢複被中斷的程式現場。需要儲存和恢複的現場資訊包括:程式計數器、通用寄存器以及程式狀态字寄存器等關鍵寄存器的内容。

一般子程式被調用時,不需要儲存程式狀态字寄存器的内容,隻需要将局部變量、參數以及傳回位址壓入堆棧。

程式狀态字一般包括條件碼、中斷允許/禁止位、核心/使用者态位。程式狀态字的内容在進入中斷處理程式時可能會發生改變,而在子程式調用時不會發生改變。是以為了能夠恢複現場,進入中斷處理程式前必須儲存程式狀态字,而且一般由硬體儲存。

06_02 輸入輸出系統磁盤排程測試題4

1單選題

下列磁盤排程算法中,會造成磁頭随時會改變運動方向的是( )。①先來先服務磁盤排程算法;②最短尋道時間優先磁盤排程算法;③掃描磁盤排程算法;④循環掃描磁盤排程算法。

A. ①

B. ②

C. ①和②

D. ③和④

正确答案: C
你的作答: C      

解析

③和④規定磁頭單向移動,是以磁頭不會随時會改變運動方向。

答案:C。

2單選題

設某磁盤旋轉速度為3600r/min,一條磁道上的位元組數15K,每次讀寫1K位元組的資料傳輸時間為( )。

A. 1.1ms

B. 83ms

C. 16.7ms

D. 60ms

正确答案: A
你的作答: A      

解析

磁盤資料傳輸時間Tt=br/N=1K16.7ms/15K=1.1ms

r=601000ms/3600=16.7ms

其中b為每次讀寫的位元組數,r為磁盤旋轉速度,N為一條磁道上的位元組數。

答案:A。

3單選題

設某磁盤啟動時間為3ms,磁頭移動一條磁道所用時間為0.3 ms,則磁頭移動100條磁道所花費的尋道時間為( )。

A. 33ms

B. 330ms

C. 6ms

D. 32.7ms

正确答案: A
你的作答: A      

解析

尋道時間Ts:mn+s=0.3100+3=33ms

其中m為磁頭移動一條磁道所用時間,n為磁頭移動磁道條數,s為磁盤啟動時間。

答案:A。

4單選題

設磁盤的轉速為3000轉/分,盤面被劃分為10個扇區,則讀取一個扇區的時間為( )。

A. 1ms

B. 2ms

C. 5ms

D. 20ms

正确答案: B
你的作答: B      

解析

據題意,磁盤每分鐘轉3000轉,若以秒為機關,則每秒轉3000/60=50轉。而盤面被分為10個扇區,則每秒磁頭讀取50×10=500個扇區。是以讀取一個扇區花費的時間為1/500=0.002秒,即2ms。

答案:B。

第七章 檔案管理

07_01檔案管理測試題1

1 A

邏輯檔案存放在錄音帶上應組織成( )

A. 順序檔案

B. 連結檔案

C. 索引檔案

D. 直接檔案

解析

錄音帶是典型的順序儲存設備,順序儲存設備是嚴格依賴資訊的實體位置進行定位和讀/寫的儲存設備。順序儲存設備隻有在前面的實體塊被存取通路過之後,才能存取後續的實體塊内容,即隻有當第5塊被存取之後,才能對第6塊進行存取操作,是以在其上的邏輯檔案必須組織成順序檔案,以便于讀取。

答案:A。

2 A

由字元序列組成,檔案内的資訊不再劃分結構,這類檔案屬于

A、流式檔案

B、記錄式檔案

C、順序檔案

D、有序檔案

解析

流式檔案是一組有序字元的集合,是典型的無結構檔案;記錄式檔案是一組有結構的記錄集合,在這種檔案中,記錄是操作的基本機關。而順序檔案和有序檔案都有可能屬于記錄式檔案。

3 B

下列哪一個檔案和其他三種檔案在邏輯結構上是根本不同的()

A. 庫函數檔案

B. 資料庫檔案

C. 可執行程式檔案

D. 源程式檔案

解析知識點你的附件

選項A、C、D從檔案的邏輯結構上說屬于無結構檔案,而選項B屬于有結構檔案。

答案:B。

4 B

在檔案系統中,檔案的不同實體結構有不同的優缺點。在下列檔案的實體結構中,()不具有直接讀寫檔案任意一條記錄的能力。

A. 順序結構

B. 連結結構

C. 索引結構

D. Hash結構

解析

對于由等長記錄所構成的順序檔案,可以使用記錄号×記錄長度來直接定位該記錄的讀寫位置;而索引和Hash結構檔案可分别通過查索引表和Hash變換直接找到記錄在檔案中的讀寫位置。隻有連結結構的檔案需通過搜尋記錄連結清單才能定位記錄的讀/寫位置,它不具有直接讀寫檔案位置中任意一條記錄的能力。

答案:B。

5 A

在下列叙述中,正确的是

A. 在錄音帶上的順序檔案中插入新紀錄時,必須複制整個檔案

B. 由于錄音帶的價格比磁盤便宜,用錄音帶實作索引檔案更經濟

C. 在錄音帶上的順序檔案末尾插入新紀錄

D. 順序檔案是利用錄音帶的特有性質實作的,是以順序檔案隻有存放在錄音帶上

解析

錄音帶是一種典型的順序存取裝置,隻有目前面的實體塊被存取通路之後,才能存取後續的實體塊,是以用錄音帶實作非順序檔案是很不友善的;另外,對于順序檔案,其中的資訊是按順序依次存放的,中間不留間隙。是以,在錄音帶上的順序檔案中插入新記錄時,必須複制整個檔案。而向索引順序檔案的最後添加新記錄時,隻要将該記錄存入任何空閑實體塊,并填寫相應的索引表即可。順序檔案可以存放在任何存儲媒體上。

答案:A。

6 B

在檔案系統中,若檔案的實體結構采用順序結構,則檔案控制塊中關于檔案的實體位置應包括()。

A. 隻有首塊位址

B. 首塊位址和檔案長度

C. 首塊位址和索引表位址

D. 檔案長度和索引表位址

解析

:順序檔案是把邏輯上連續的檔案資訊依次存放到連續的實體塊中,是以,隻要在檔案控制塊 FCB中存放配置設定給它的第1個實體塊塊号和配置設定塊的個數即可。

答案:B。

7 A

檔案資訊的邏輯塊号到實體塊号的變換是由()決定的。

A.實體結構

B.邏輯結構

C.頁表

D.配置設定算法

解析

檔案的實體結構是指檔案在存儲媒體上的存放方法,即存儲檔案資訊的實體塊按什麼方式組織。它決定了檔案資訊在儲存設備上的存儲位置,進而也決定了邏輯位址到實體位址的變換。

答案:B。

8 C

有一個順序檔案含有10000個記錄,同樣記錄的索引順序檔案的檢索效率大約是該順序檔案檢索效率的( )。

A. 200倍

B. 100倍

C. 50倍

D. 10倍

9 C

在有直接存取需求和檔案長度動态增長的情況下,宜選擇下列哪種檔案形式( ) 。

A. 順序檔案

B. 連結檔案

C. 索引檔案

D. 庫檔案

正确答案: C
你的作答: B      

解析

順序檔案不利于檔案長度動态增長;

連結檔案則不具有直接存取的能力;

庫檔案很少有檔案長度動态增長的情況,因其往往隻允許調用而不允許改動。

索引檔案可以滿足直接存取和檔案長度動态增長兩個需求。

10 D

從對檔案資訊的存取次序考慮,存取方式包括順序存取和随機存取。下面不屬于存取方式選擇因素的是( )。

A. 使用檔案的方法

B. 存儲媒體的特性

C. 儲存設備的類型

D.檔案的長度

解析

檔案采用哪種存取方式,主要取決于兩個方面的因素:

一是與怎樣使用檔案有關;

二是與存儲媒體的特性有關。而且儲存設備的類型直接與存儲媒體的特性有關。

答案:D。

07_01檔案管理測試題2

1 C

某空閑存儲區采用位示圖法管理,設位示圖每行16位,則盤塊号為26所對應的行和列為( )。

A.1,19

B.2,9

C.2,10

D.3,10

解析

位示圖中将盤塊号b轉換成位于圖中的行号i和列号j的轉換公式為:

i=[(b-1)/n]+1,j=(b-1)MODn+1。

其中,n為位示圖中行所占的位數,[]為取整操作,MOD為取模操作。

答案:C。

2 A

一般來說,檔案名及屬性可以收納在( ) 中以便查找

A.目錄

B.索引

C.字典

D.作業控制塊

解析

在現代作業系統中,通常都要存儲大量的檔案,為了能有效地管理這些檔案,必須對它們加以妥善的組織,以做到使用者隻需向系統提供所需通路檔案的名字,便能快速地、準确地找到制定檔案。為此,系統為所有存入系統的檔案建立一張登記表,每一個檔案在該表中有一個表目,表目的内容至少包括檔案名和其所存儲的實體位址,這樣的表通常稱為檔案目錄,當使用者要查找某檔案及相關屬性時,隻要搜尋檔案目錄即可。

答案:A。

3 C

設檔案索引節點中有7個位址項,其中4個位址項是直接位址索引,2個位址項是一級間接位址索引,1個位址項是二級間接位址索引,每個位址項大小為4位元組。若磁盤索引塊和磁盤資料塊大小均為256位元組,則可表示的單個檔案最大長度是( )

A.33KB

B.519KB

C.1057KB

D.16513KB

解析

該題考查考生對檔案外存配置設定方式中的索引配置設定方式,以及索引方式與單個檔案長度之間關系的了解。

索引配置設定方式是可同時采用直接位址、一級索引配置設定、二級索引配置設定,甚至三級索引配置設定相結合的一種檔案外存配置設定方式。

磁盤資料塊的内容是檔案資料,磁盤索引塊中存放磁盤塊号(可能是下一級索引塊的磁盤塊号,也可能是磁盤資料塊的塊号)。

索引節點中的直接位址項用于存放檔案的磁盤資料塊号,一級間接位址項存放一級磁盤索引塊的磁盤塊号,一級磁盤索引塊中存放檔案的磁盤資料塊号。

索引節點中的二級間接位址項中存放第一級磁盤索引塊的磁盤塊号,在第一級磁盤索引塊中存放二級磁盤索引塊的磁盤塊号,在二級磁盤索引塊中存放檔案的磁盤資料塊号,如題13圖所示。

三次間接位址項及多次間接索引項、索引塊的含義以此類推。

題庫【作業系統】
題庫【作業系統】

4 C

下面關于檔案共享的說法中正确的是( )。

A.在一級、二級、樹形即多級檔案目錄結構中,隻有樹形檔案目錄結構才具有檔案共享的基礎并實作了檔案共享

B.一級目錄結構允許檔案共享

C.二級目錄結構允許檔案共享

D.一級、二級,樹形目錄結構都允許檔案共享

解析知識點你的附件

在一級、二級、樹形即多級檔案目錄結構中,除了一級目錄結構較難實作檔案共享外,二級、多級 (又稱樹形) 檔案目錄結構都可以實作檔案共享。

答案:C。

5 A

現有一個容量為10 GB的磁盤分區,磁盤空間以簇(Cluster)為機關進行配置設定,簇的大小為4 KB,若采用位圖法管理該分區的空閑空間,即用一位(bit)辨別一個簇是否被配置設定,則存放該位圖所需簇的個數為 ( )

A.80

B.320

C.80K

D.320K

解析知識點你的附件

該題考查學生簇的概念、磁盤中簇的組織方式,重點考查學生對使用位圖記錄簇塊配置設定情況的資料結構應用方法的了解。

建立檔案以及檔案增長時為檔案配置設定外存空間是檔案系統要實作的重要功能之一。為實作外存儲空間的配置設定,檔案系統需要能記錄存儲空間使用情況(哪些磁盤塊是空閑可用的,哪些磁盤塊是被占用的)的資料結構。位圖法用一個二進制位來表示外存中一個磁盤塊的使用情況,當該位的值為“0”時表示對應的磁盤塊空閑,該位為“1”時,表示對應的磁盤塊已配置設定。或者反之,用“1”表示磁盤塊空閑,用“0”表示磁盤塊已配置設定。所有外存盤塊對應的二進制位構成的集合被稱為位圖,外存空間有專門用于存放位圖的磁盤塊。

磁盤塊也被稱為簇塊,每個簇塊由2n個相鄰的扇區構成。檔案系統以簇塊為機關為檔案配置設定磁盤空間,管理磁盤空閑塊的位圖中的每一位對應一個簇塊,以标記簇塊的配置設定情況。位圖需要占用多少個簇塊,取決于磁盤中需要被标記的簇塊的數量以及每個簇塊能存放多少個二進制位。

該題中,磁盤空間大小為10GB ,每個簇塊的大小為4KB,是以,需要用位圖示識其配置設定情況的簇塊數量為:10GB/4KB。每個簇塊中能存放的二進制位數為4K×8bit。

題庫【作業系統】

07_01檔案管理測試題3

1 D

下列選項中,( )不是删除檔案中所需要完成的工作。

A.釋放檔案所占用的存儲空間

B.在目錄中删除該檔案相應的目錄項,即檔案控制塊

C.若檔案為共享檔案,還要對共享設定進行處理

D.對檔案原存儲單元全部清零

解析

檔案的删除一般是一種邏輯上的删除,選項A、B、C是其很好的總結。一船來說檔案删除并不是像D那樣對檔案本身資料進行處理,實際在删除完一刻,檔案資料還在其原來存儲空間位置。是以,隻要被删除檔案存儲空間不被覆寫使用,是可以恢複原檔案的。

答案:D。

2 B

作業系統為保證未經檔案擁有者授權,任何其他使用者不能使用該檔案所提供的解決方法是( )。

A.檔案保護

B.檔案保密

C.檔案轉儲

D.檔案共享

正确答案: B
你的作答: A      

解析

檔案保護是指防止檔案被使用者有意無意地破壞,或者因故障造成檔案的破壞等。保護檔案的方法通常是建立副本或定時轉儲。檔案的保密是防止未經授權的使用者盜用檔案,一般通過對每個檔案的不同使用者設定不同的權限來解決。而檔案共享是指不同使用者或同一使用者的不同程序使用同一個檔案。

答案:B。

3 D

實作檔案保護的措施不包括( )。

A.要防止系統故障造成的檔案破壞,可以采用建立副本和定時轉儲的方法

B.要防止錯誤使用共享檔案造成的錯誤,可以為檔案建立使用權限,進而實作保護

C.要防止錯誤使用共享檔案造成的錯誤,可以采用樹形檔案目錄、存取控制表、規定 檔案使用權限等方式

D.隐藏檔案目錄

解析

實作檔案保護的措施一般可以從兩方面考慮,即防止系統故障,包括軟體、硬體故障造成的破壞和防止使用者共享檔案可能造成的破壞;前者可以采用建立副本和定時轉儲的方法,後者可以采用樹形檔案目錄、存取控制表、規定檔案使用權限等方式。

答案:D。

4 C

下面關于輔助存儲器的描述中錯誤的是( )。

A.磁盤和錄音帶是最常用的輔助存儲器

B.錄音帶适合于順序存取,主要用于備份、存放不經常使用的資訊等

C.磁盤有軟碟、硬碟和CD光牒之分,其存取速度依次增高

D.磁盤可以高速地存取資訊,适合于随機存取,存放經常使用的資訊

解析

磁盤和錄音帶是最常用的輔助存儲器。

錄音帶适合于順序存取,主要用于備份、存放不經常使用的資訊等;

磁盤可以高速地存取資訊,适合于随機存取,存放經常使用的資訊。

磁盤有軟碟、硬碟和CD光牒之分,軟碟的存取速度最低,硬碟的存取速度最高,CD光牒的存取速度比硬碟慢,但造價低、裝卸友善。

答案:C。

5 A

若一個使用者程序通過read系統調用讀取一個磁盤檔案中的資料,則下列關于此過程的叙述中,正确的是( )

I.若該檔案的資料不在記憶體,則該程序進入睡眠等待狀态

II.請求read系統調用會導緻CPU從使用者态切換到核心态

III.read系統調用的參數應包含檔案的名稱

A.僅I、II

B.僅I、III

C.僅II、III

D.I、II和III

解析

該題考查考生對檔案讀取操作實作的了解。作業系統為使用者提供了通用的檔案通路接口,即系統調用。為實作對磁盤檔案的讀取,需要的主要系統調用如下:

open():需要以檔案名作參數,建立程序與檔案之間的聯系,将檔案控制塊調入記憶體。open()傳回一個句柄,可以用該句柄直接查找到記憶體的檔案控制塊内容,友善檔案的讀寫等操作。

read():在打開檔案之後調用,使用open()傳回的句柄指定檔案,而不用檔案名。該系統調用在讀取的過程中,如果發現要讀取的資料已經在記憶體,則立即傳回給調用者。如果不在記憶體,則要啟動I/O裝置,因為I/O操作比較費時,調用程序就要進入睡眠等待狀态。

close():關閉檔案。在檔案不再使用時,使用者通過該系統調用釋放檔案占用的記憶體空間。

任何一個系統調用的執行都會從使用者态切換到核心态,

是以,I、II項是正确的,III是錯誤的,選項A正确。

課後習題

第一章 作業系統引論

1.設計現代OS的主要目标是什麼?

答:

(1)有效性 (2)友善性 (3)可擴充性 (4)開放性

2.OS的作用可表現在哪幾個方面?

答:

(1)OS作為使用者與計算機硬體系統之間的接口

(2)OS作為計算機系統資源的管理者

(3)OS實作了對計算機資源的抽象

3.為什麼說OS實作了對計算機資源的抽象?

答:

OS首先在裸機上覆寫一層I/O裝置管理軟體,實作了對計算機硬體操作的第一層次抽象;在第一層軟體上再覆寫檔案管理軟體,實作了對硬體資源操作的第二層次抽象。OS 通過在計算機硬體上安裝多層系統軟體,增強了系統功能,隐藏了對硬體操作的細節,由它們共同實作了對計算機資源的抽象。

4.試說明推動多道批處理系統形成和發展的主要動力是什麼?

答:

主要動力來源于四個方面的社會需求與技術發展:

(1)不斷提高計算機資源的使用率;

(2)友善使用者;

(3)器件的不斷更新換代;

(4)計算機體系結構的不斷發展。

5.何謂脫機I/O和聯機I/O?

答:

脫機I/O 是指事先将裝有使用者程式和資料的紙帶或卡片裝入紙帶輸入機或卡片機,在外圍機的控制下,把紙帶或卡片上的資料或程式輸入到錄音帶上。該方式下的輸入輸出由外圍機控制完成,是在脫離主機的情況下進行的。而聯機I/O方式是指程式和資料的輸入輸出都是在主機的直接控制下進行的。

6.試說明推動分時系統形成和發展的主要動力是什麼?

答:

推動分時系統形成和發展的主要動力是更好地滿足使用者的需要。主要表現在:CPU 的分時使用縮短了作業的平均周轉時間;人機互動能力使使用者能直接控制自己的作業;主機的共享使多使用者能同時使用同一台計算機,獨立地處理自己的作業。

7.實作分時系統的關鍵問題是什麼?應如何解決?

答:

關鍵問題是當使用者在自己的終端上鍵入指令時,系統應能及時接收并及時處理該指令,在使用者能接受的時延内将結果傳回給使用者。

解決方法:針對及時接收問題,可以在系統中設定多路卡,使主機能同時接收使用者從各個終端上輸入的資料;為每個終端配置緩沖區,暫存使用者鍵入的指令或資料。針對及時處理問題,應使所有的使用者作業都直接進入記憶體,并且為每個作業配置設定一個時間片,允許作業隻在自己的時間片内運作,這樣在不長的時間内,能使每個作業都運作一次。

8.為什麼要引入實時OS?

答:

實時作業系統是指系統能及時響應外部事件的請求,在規定的時間内完成對該事件的處理,并控制所有實時任務協調一緻地運作。引入實時OS 是為了滿足應用的需求,更好地滿足實時控制領域和實時資訊處理領域的需要。

9.什麼是硬實時任務和軟實時任務?試舉例說明。

答:

硬實時任務是指系統必須滿足任務對截止時間的要求,否則可能出現難以預測的結果。舉例來說,運載火箭的控制等。

軟實時任務是指它的截止時間并不嚴格,偶爾錯過了任務的截止時間,對系統産生的影響不大。舉例:網頁内容的更新、火車售票系統。

10.試從互動性、及時性以及可靠性方面,将分時系統與實時系統進行比較。

答:

(1)及時性:實時資訊處理系統對實時性的要求與分時系統類似,都是以人所能接受的等待時間來确定;而實時控制系統的及時性,是以控制對象所要求的開始截止時間或完成截止時間來确定的,一般為秒級到毫秒級,甚至有的要低于100微妙。

(2)互動性:實時資訊處理系統具有互動性,但人與系統的互動僅限于通路系統中某些特定的專用服務程式。不像分時系統那樣能向終端使用者提供資料和資源共享等服務。

(3)可靠性:分時系統也要求系統可靠,但相比之下,實時系統則要求系統具有高度的可靠性。因為任何差錯都可能帶來巨大的經濟損失,甚至是災難性後果,是以在實時系統中,往往都采取了多級容錯措施保障系統的安全性及資料的安全性。

11.OS有哪幾大特征?其最基本的特征是什麼?

答:

并發性、共享性、虛拟性和異步性四個基本特征;最基本的特征是并發性。

14.是什麼原因使作業系統具有異步性特征?

答:

作業系統的異步性展現在三個方面:一是程序的異步性,程序以人們不可預知的速度向前推進,二是程式的不可再現性,即程式執行的結果有時是不确定的,三是程式執行時間的不可預知性,即每個程式何時執行,執行順序以及完成時間是不确定的。

15.處理機管理有哪些主要功能?它們的主要任務是什麼?

答:

處理機管理的主要功能是:程序管理、程序同步、程序通信和處理機排程;

程序管理:為作業建立程序,撤銷已結束程序,控制程序在運作過程中的狀态轉換。

程序同步:為多個程序(含線程)的運作______________進行協調。

通信:用來實作在互相合作的程序之間的資訊交換。

處理機排程:

(1)作業排程。從後備隊裡按照一定的算法,選出若幹個作業,為他們配置設定運作所需的資源(首選是配置設定記憶體)。

(2)程序排程:從程序的就緒隊列中,按照一定算法選出一個程序,把處理機配置設定給它,并設定運作現場,使程序投入執行。

16.記憶體管理有哪些主要功能?他們的主要任務是什麼?

答:

記憶體管理的主要功能有:記憶體配置設定、記憶體保護、位址映射和記憶體擴充。

記憶體配置設定:為每道程式配置設定記憶體。

記憶體保護:確定每道使用者程式都隻在自己的記憶體空間運作,彼此互不幹擾。

位址映射:将位址空間的邏輯位址轉換為記憶體空間與對應的實體位址。

記憶體擴充:用于實作請求調用功能,置換功能等。

17.裝置管理有哪些主要功能?其主要任務是什麼?

答:

主要功能有: 緩沖管理、裝置配置設定和裝置處理以及虛拟裝置等。

主要任務: 完成使用者提出的I/O 請求,為使用者配置設定I/O 裝置;提高CPU 和I/O 設

備的使用率;提高I/O速度;以及友善使用者使用I/O裝置.

18.檔案管理有哪些主要功能?其主要任務是什麼?

答:

檔案管理主要功能:檔案存儲空間的管理、目錄管理、檔案的讀/寫管理和保護。

檔案管理的主要任務:管理使用者檔案和系統檔案,友善使用者使用,保證檔案安全性。

20.試描述什麼是微核心OS。

答:

1)足夠小的核心 2)基于客戶/伺服器模式

3)應用機制與政策分離原理 4)采用面向對象技術。

21.微核心作業系統具有哪些優點?它為何能有這些優點?

答:

1)提高了系統的可擴充性

2)增強了系統的可靠性

3)可移植性

4)提供了對分布式系統的支援

5)融入了面向對象技術

23.在微核心OS中,為什麼要采用客戶/伺服器模式?

答:

C/S 模式具有獨特的優點:⑴資料的分布處理和存儲。⑵便于集中管理。⑶靈活性和

可擴充性。⑷易于改編應用軟體。

24.在基于微核心結構的OS中,應用了哪些新技術?

答:

在基于微核心結構的OS 中,采用面向對象的程式設汁技術。

25.何謂微核心技術?在微核心中通常提供了哪些功能?

答:

把作業系統中更多的成分和功能放到更高的層次(即使用者模式)中去運作,而留下一個盡量小的核心,用它來完成作業系統最基本的核心功能,稱這種技術為微核心技術。在微核心中通常提供了程序(線程)管理、低級存儲器管理、中斷和陷入處理等功能。

補充 12,13,19,22

另外

10.在8位微機和16位微機中,占據了統治地位的是什麼作業系統?

答:

單使用者單任務作業系統,其中最具代表性的是CP/M和MS-DOS.

11.試列出Windows OS中五個主要版本,并說明它們分别較之前一個版本有何改進。

答:

(1)Microsoft Windows 1.0是微軟公司在個人電腦上開發圖形界面的首次嘗試。

(2)Windows 95是混合的16位/32位系統,第一個支援32位。帶來了更強大、更穩

定、更實用的桌面圖形使用者界面,結束了桌面作業系統間的競争。

(3)Windows 98是微軟公司的混合16位/32位Windows作業系統,改良了硬體标準

的支援,革新了記憶體管理,是多程序作業系統。

(4)Windows XP是基于Windows2000的産品,擁有新使用者圖形界面月神Luna。簡

化了使用者安全特性,整合了防火牆。

(5)Windows Vista 包含了上百種新功能;特别是新版圖形使用者界面和WindowsAero全新界面風格、加強的搜尋功能(Windows IndexingService)、新媒體創作工具以及重新設計的網絡、音頻、輸出(列印)和顯示子系統。

19.子產品接口法存在哪些問題?可通過什麼樣的途徑來解決?

答:

(1)子產品接口法存在的問題:①在OS設計時,各子產品間的接口規定很難滿足在子產品完成後對接口的實際需求。②在OS 設計階段,設計者必須做出一系列的決定,每一個決定必須建立在上一個決定的基礎上。但子產品化結構設計的各子產品設計齊頭并進,無法尋找可靠的順序,造成各種決定的無序性,使程式設計人員很難做到設計中的每一步決定都建立在可靠的基礎上,是以子產品接口法被稱為“無序子產品法”。

(2)解決途徑:将子產品接口法的決定順序無序變有序,引入有序分層法。

第二章 程序的描述與控制

1. 什麼是前趨圖?為什麼要引入前趨圖?

答:

前趨圖(Precedence Graph)是一個有向無循環圖,記為DAG(DirectedAcyclic

Graph),用于描述程序之間執行的前後關系。

2. 畫出下面四條語句的前趨圖:

S1=a:=x+y; S2=b:=z+1; S3=c:=a – b;S4=w:=c+1;

答:

其前趨圖為:

3. 什麼程式并發執行會産生間斷性特征?

答:

程式在并發執行時,由于它們共享系統資源,為完成同一項任務需要互相合作,緻使這些并發執行的程序之間,形成了互相制約關系,進而使得程序在執行期間出現間斷性。

4.程式并發執行時為什麼會失去封閉性和可再現性?

答:

程式并發執行時,多個程式共享系統中的各種資源,因而這些資源的狀态由多個程式改變,緻使程式運作失去了封閉性,也會導緻其失去可再現性。

5.在作業系統中為什麼要引入程序概念?它會産生什麼樣的影響?

答:

為了使程式在多道程式環境下能并發執行,并對并發執行的程式加以控制和描述,在作業系統中引入了程序概念。

影響: 使程式的并發執行得以實行。

6.試從動态性,并發性和獨立性上比較程序和程式?

答:

(1)動态性是程序最基本的特性,表現為由建立而産生,由排程而執行,因得不到資源而暫停執行,由撤銷而消亡。程序有一定的生命期,而程式隻是一組有序的指令集合,是靜态實體。

(2)并發性是程序的重要特征,同時也是OS 的重要特征。引入程序的目的正是為了使

其程式能和其它程序的程式并發執行,而程式是不能并發執行的。

(3)獨立性是指程序實體是一個能獨立運作的基本機關,也是系統中獨立獲得資源和獨立排程的基本機關。對于未建立任何程序的程式,不能作為獨立機關參加運作。

7.試說明PCB 的作用,為什麼說PCB 是程序存在的唯一标志?

答:

PCB 是程序實體的一部分,是作業系統中最重要的記錄型資料結構。作用是使一個在多道程式環境下不能獨立運作的程式,成為一個能獨立運作的基本機關,成為能與其它程序并發執行的程序。

OS是根據PCB對并發執行的程序進行控制和管理的。

11.試說明程序在三個基本狀态之間轉換的典型原因。

答:

(1)就緒狀态→執行狀态:程序配置設定到CPU資源

(2)執行狀态→就緒狀态:時間片用完

(3)執行狀态→阻塞狀态:I/O請求

(4)阻塞狀态→就緒狀态:I/O完成

12.為什麼要引入挂起狀态?該狀态有哪些性質?

答:

引入挂起狀态處于五種不同的需要: 終端使用者需要,父程序需要,作業系統需要,對換需要和負荷調節需要。處于挂起狀态的程序不能接收處理機排程。

13.在進行程序切換時,所要儲存的處理機狀态資訊有哪些?

答:

進行程序切換時,所要儲存的處理機狀态資訊有:

(1)程序目前暫存資訊

(2)下一指令位址資訊

(3)程序狀态資訊

(4)過程和系統調用參數及調用位址資訊。

14.試說明引起程序建立的主要事件。

答:

引起程序建立的主要事件有:使用者登入、作業排程、提供服務、應用請求。

15.試說明引起程序被撤銷的主要事件。

答:

引起程序被撤銷的主要事件有:正常結束、異常結束(越界錯誤、保護錯、非法指令、特權指令錯、運作逾時、等待逾時、算術運算錯、I/O 故障)、外界幹預(操作員或作業系統幹預、父程序請求、父程序終止)。

16.在建立一個程序時所要完成的主要工作是什麼?

答:

(1)OS 發現請求建立新程序事件後,調用程序建立原語Creat();

(2)申請空白PCB;

(3)為新程序配置設定資源;

(4)初始化程序控制塊;

(5)将新程序插入就緒隊列.

17.在撤銷一個程序時所要完成的主要工作是什麼?

答:

(1)根據被終止程序辨別符,從PCB 集中檢索出程序PCB,讀出該程序狀态。

(2)若被終止程序處于執行狀态,立即終止該程序的執行,置排程标志真,訓示該程序被終止後重新排程。

(3)若該程序還有子程序,應将所有子孫程序終止,以防它們成為不可控程序。

(4)将被終止程序擁有的全部資源,歸還給父程序,或歸還給系統。

(5)将被終止程序PCB 從所在隊列或清單中移出,等待其它程式搜集資訊。

18.試說明引起程序阻塞或被喚醒的主要事件是什麼?

答:

a. 請求系統服務;b. 啟動某種操作;c. 新資料尚未到達;d. 無新工作可做.

19.為什麼要在OS 中引入線程?

答:

在作業系統中引入線程,則是為了減少程式在并發執行時所付出的時空開銷,使OS具有更好的并發性,提高CPU的使用率。程序是配置設定資源的基本機關,而線程則是系統排程的基本機關。

20.試說明線程具有哪些屬性?

答:

(1)輕型實體(2)獨立排程和分派的基本機關(3)可并發執行(4)共享程序資源。

21. 試從排程性,并發性,擁有資源及系統開銷方面對程序和線程進行比較。

答:

(1)排程性。線程在OS 中作為排程和分派的基本機關,程序隻作為資源擁有的基本機關。

(2)并發性。程序可以并發執行,一個程序的多個線程也可并發執行。

(3)擁有資源。程序始終是擁有資源的基本機關,線程隻擁有運作時必不可少的資源,本身基本不擁有系統資源,但可以通路隸屬程序的資源。

(4)系統開銷。作業系統在建立、撤消和切換程序時付出的開銷顯著大于線程。

23.何謂使用者級線程和核心支援線程?

答:

(1)使用者級線程:僅存在于使用者空間中的線程,無須核心支援。這種線程的建立、撤銷、線程間的同步與通信等功能,都無需利用系統調用實作。使用者級線程的切換通常發生在一個應用程序的諸多線程之間,同樣無需核心支援。

(2)核心支援線程:在核心支援下運作的線程。無論是使用者程序中的線程,還是系統線程中的線程,其建立、撤銷和切換等都是依靠核心,在核心空間中實作的。在核心空間裡還為每個核心支援線程設定了線程控制塊,核心根據該控制塊感覺某線程的存在并實施控制。

24.試說明使用者級線程的實作方法。

答:

使用者級線程是在使用者空間中的實作的,運作在“運作時系統”與“核心控制線程”的中間系統上。運作時系統用于管理和控制線程的函數的集合。核心控制線程或輕型程序LWP可通過系統調用獲得核心提供服務,利用LWP程序作為中間系統。

25.試說明核心支援線程的實作方法。

答:

系統在建立新程序時,配置設定一個任務資料區PTDA,其中包括若幹個線程控制塊TCB

空間。建立一個線程配置設定一個TCB,有關資訊寫入TCB,為之配置設定必要的資源。當PTDA中的TCB 用完,而程序又有新線程時,隻要所建立的線程數目未超過系統允許值,系統可在為之配置設定新的TCB;在撤銷一個線程時,也應回收線程的所有資源和TCB。

補充 8,9,10,21,22,26

另外

16.程序在運作時存在哪兩種形式的制約?并舉例說明之。

答:

(1)間接互相制約關系。舉例:有兩程序A 和B,如果A 提出列印請求,系統已把唯一的一台列印機配置設定給了程序B,則程序A 隻能阻塞;一旦B 釋放列印機,A 才由阻塞改為就緒。

(2)直接互相制約關系。舉例:有輸入程序A 通過單緩沖向程序B 提供資料。當緩沖空時,計算程序因不能獲得所需資料而阻塞,當程序A 把資料輸入緩沖區後,便喚醒程序B;反之,當緩沖區已滿時,程序A 因沒有緩沖區放資料而阻塞,程序B 将緩沖區資料取走後便喚醒A。

17.為什麼程序在進入臨界區之前應先執行“進入區”代碼?而在退出前又要執行“退出區”代碼?

答:

為了實作多個程序對臨界資源的互斥通路,必須在臨界區前面增加一段用于檢查欲通路的臨界資源是否正被通路的代碼,如果未被通路,該程序便可進入臨界區對資源進行通路,并設定正被通路标志,如果正被通路,則本程序不能進入臨界區,實作這一功能的代碼為"進入區"代碼;在退出臨界區後,必須執行"退出區"代碼,用于恢複未被通路标志,使其它程序能再通路此臨界資源。

18. 同步機構應遵循哪些基本準則?為什麼?

答:

同步機構應遵循的基本準則是:空閑讓進、忙則等待、有限等待、讓權等待原因:為實作程序互斥進入自己的臨界區。

19. 試從實體概念上說明記錄型信号量wait 和signal。

答:

wait(S):當S.value>0時,表示目前系統中這類資源還有可用的。執行一次wait 操

作,意味着程序請求一個機關的該類資源,使系統中可供配置設定的該類資源減少一個,是以描述為S.value:=S.value-1;當S.value<0時,表示該類資源已配置設定完畢,程序應調用block原語自我阻塞,放棄處理機,并插入到信号量連結清單S.L中。

signal(S):執行一次signal操作,意味着釋放一個機關的可用資源,使系統中可供配置設定的該類資源數增加一個,故執行S.value:=S.value+1 操作。若加1後S.value≤0,則表示在該信号量連結清單中,仍有等待該資源的程序被阻塞,是以應調用wakeup 原語,将S.L連結清單中的第一個等待程序喚醒。

20.你認為整型信号量機制是否完全遵循了同步機構的四條準則?

答:

整型信号量機制不完全遵循同步機制的四條準則,它不滿足“讓權等待”準則。

21.如何利用信号量機制來實作多個程序對臨界資源的互斥通路?并舉例說明之。

答:

為使多個程序互斥通路某臨界資源,隻需為該資源設定一互斥信号量mutex,并設其

初值為1,然後将各程序通路該資源的臨界區CS置于wait(mutex)和signal(mutex)操作

之間即可。這樣,每個欲通路該臨界資源的程序在進入臨界區之前,都要先對mutex 執行wait 操作,若該資源此刻未被通路,本次wait 操作必然成功,程序便可進入自己的臨界區,這時若再有其他程序也欲進入自己的臨界區,此時由于對mutex 執行wait操作定會失敗,因而該程序阻塞,進而保證了該臨界資源能被互斥通路。當通路臨界資源的程序退出臨界區後,應對mutex執行signal 操作,釋放該臨界資源。利用信号量實作程序互斥的程序描述

如下:

Var mutex: semaphore:=1;

begin

parbegin

process 1: begin

repeat

wait(mutex);

critical section

signal(mutex);

remainder section

until false;

end

process 2: begin

repeat

wait(mutex);

critical section

signal(mutex);

remainder section

until false;

end

parend      

22.試寫出相應的程式來描述圖2-17所示的前驅圖。

答:(a)

Var a, b, c, d, e, f, g, h; semaphore:= 0, 0,0, 0, 0, 0, 0, 0;

begin

parbegin

begin S1; signal(a); signal(b); end;

begin wait(a); S2; signal(c); signal(d); end;

begin wait(b); S3; signal(e); end;

begin wait(c); S4; signal(f); end;

begin wait(d); S5; signal(g); end;

begin wait(e); S6; signal(h); end;

begin wait(f); wait(g); wait(h); S7; end;

parend

end

(b)Var a, b, c, d, e, f, g, h,i,j; semaphore:= 0,0, 0, 0, 0, 0, 0,0,0, 0;

begin

parbegin

begin S1; signal(a); signal(b); end;

begin wait(a); S2; signal(c); signal(d); end;

begin wait(b); S3; signal(e); signal(f); end;

begin wait(c); S4; signal(g); end;

begin wait(d); S5; signal(h); end;

begin wait(e); S6; signal(i); end;

begin wait(f); S7; signal(j); end;

begin wait(g);wait(h); wait(i); wait(j); S8;end;

parend

end      

23.在生産者消費者問題中,如果缺少了signal(full)或signal(empty),對執行結果有何影響?

答:

如果缺少signal(full),那麼表明從第一個生産者程序開始就沒有改變信号量full 值,

即使緩沖池産品已滿,但full值還是0,這樣消費者程序執行wait(full)時認為緩沖池是空而取不到産品,消費者程序一直處于等待狀态。

如果缺少signal(empty),在生産者程序向n個緩沖區投滿産品後消費者程序才開始從

中取産品,這時empty=0,full=n,那麼每當消費者程序取走一個産品empty值并不改變,直到緩沖池取空了,empty 值也是0,即使目前緩沖池有n 個空緩沖區,生産者程序要想再往緩沖池中投放産品也會因為申請不到空緩沖區被阻塞。

24.在生産消費者問題中,如果将兩個wait操作即wait(full)和wait(mutex)互換位置,或者将signal(mutex)與signal(full)互換位置,結果如何?

答:

将wait(full)和wait(mutex)互換位置後,可能引起死鎖。考慮系統中緩沖區全滿時,

若一生産者程序先執行了wait(mutex)操作并獲得成功,則當再執行wait(empty)操作時,它将因失敗而進入阻塞狀态,它期待消費者程序執行signal(empty)來喚醒自己,在此之前,它不可能執行signal(mutex)操作,進而使試圖通過執行wait(mutex)操作而進入自己的臨界區的其他生産者和所有消費者程序全部進入阻塞狀态,這樣容易引起系統死鎖。

若signal(mutex)和signal(full)互換位置後隻是影響程序對臨界資源的釋放次序,而

不會引起系統死鎖,是以可以互換位置。

25.我們在為某一臨界資源設定一把鎖W,當W=1時表示關鎖,當W=0時表示鎖已打開。

試寫出開鎖和關鎖的原語,并利用他們實作互斥。

答:

整型信号量:lock(W): while W=1 do no-op

W:=1;

unlock(W): W:=0;

記錄型信号量:lock(W): W:=W+1;

if(W>1) then block(W, L)

unlock(W): W:=W-1;

if(W>0) then wakeup(W, L)

例子:

Var W:semaphore:=0;

begin

repeat

lock(W);

critical section

unlock(W);

remainder section

until false;

end      

26.試修改下面生産者-消費者問題解法中的錯誤:

答:

producer:

begin

repeat

…

producer an item in nextp;

wait(mutex);

wait(full);

buffer(in):=nextp;

 

signal(mutex);

 

until false;

end

consumer:

begin

repeat

wait(mutex);

wait(empty);

nextc:=buffer(out);

out:=out+1;

signal(mutex);

consumer item in nextc;

until false;

end      

27.試利用記錄型信号量寫出一個不會出現死鎖的哲學家進餐問題的算法.

答:

Var chopstick:array[0,…,4] of semaphore;

所有信号量均被初始化為1,第i 位哲學家的活動可描述為:

Repeat

Wait(chopstick[i]);

Wait(. chopstick[(i+1) mod 5]);

…

Ea.t ;

…

Signal(chopstick[i]);

Signal(chopstick[(i+1) mod 5])

Ea.t ;

…

Think;

Until false;      

28.在測量控制系統中的資料采集任務,把所采集的資料送一單緩沖區;計算任務從該單緩沖中取出資料進行計算.試寫出利用信号量機制實作兩者共享單緩沖的同步算法。

答:

a. Var mutex, empty, full: semaphore:=1, 1, 0;

gather:

begin

repeat

……

gather data in nextp;

wait(empty);

wait(mutex);

buffer:=nextp;

signal(mutex);

signal(full);

until false;

end

compute:

begin

repeat

……

wait(full);

wait(mutex);

nextc:=buffer;

signal(mutex);

signal(empty);

compute data in nextc;

until false;

end

b. Var empty, full: semaphore:=1, 0;

gather:

begin

repeat

……

gather data in nextp;

wait(empty);

buffer:=nextp;

signal(full);

until false;

end

compute:

begin

repeat

……

wait(full);

nextc:=buffer;

signal(empty);

compute data in nextc;

until false;

end      

29.畫圖說明管程由哪幾部分組成,為什麼要引入條件變量?

答:

管程由四部分組成:①管程的名稱;②局部于管程内部的共享資料結構說明;③對該資料結構進行操作的一組過程;④對局部于管程内部的共享資料設定初始值的語句;

當一個程序調用了管程,在管程中時被阻塞或挂起,直到阻塞或挂起的原因解除,而在此期間,如果該程序不釋放管程,則其它程序無法進入管程,被迫長時間地等待。為了解決這個問題,引入了條件變量condition。

30.如何利用管程來解決生産者與消費者問題?

答:

首先建立一個管程,命名為ProclucerConsumer,包括兩個過程:

(1)Put(item)過程。生産者利用該過程将自己生産的産品放到緩沖池,用整型變

量count 表示在緩沖池中已有的産品數目,當count≥n 時,表示緩沖池已滿,生産者須等待。

(2)get(item)過程。消費者利用該過程從緩沖池中取出一個産品,當count≤0

時,表示緩沖池中已無可取的産品,消費者應等待。

PC 管程可描述如下:

type producer-consumer =monitor

Var in,out,count:integer;

buffer:array[0,…,n-1]of item;

notfull,notempty:condition;

procedure entry dot(item)

begin

if count>=n then not full.wait;

buffer(in):=nextp;

in:=(in+1)mod n;

count:=count+1;

if notempty.queue then notempty.signal;

end

procedure entry get(item)

begin

if count<=0 then not full.wait;

nextc:=buffer(out);

out:=(out+1)mod n;

count:=count-1;

if notfull.quene then notfull.signal;

end

begin in:=out:=0;

count:=0

end      

在利用管程解決生産者一消費者問題時,其中的生産者和消費者可描述為:

producer: begin

pepeat

produce an inem in nestp

PC.put(item);

until false;

end

consumer: begin

repeat

PC.get(item);

consume the item in enxtc;

until false;

end      

31.什麼是AND信号量?試利用AND信号量寫出生産者一消費者問題的解法。

答:

為解決并行帶來的死鎖問題,在wait 操作中引入AND 條件,其基本思想是将程序在整個運作過程中所需要的所有臨界資源,一次性地全部配置設定給程序,用完後一次性釋放。

解決生産者-消費者問題可描述如下:

var mutex,empty,full: semaphore:=1,n,0;

buffer: array[0,...,n-1] of item;

in,out: integer:=0,0;

begin

parbegin

producer: begin

repeat

…

produce an item in nextp;

…

wait(empty);

wait(s1,s2,s3,...,sn); //s1,s2,...,sn為執行生産者程序除empty外其餘的條件

wait(mutex);

buffer(in):=nextp;

in:=(in+1) mod n;

signal(mutex);

signal(full);

signal(s1,s2,s3,...,sn);

until false;

end

consumer: begin

repeat

wait(full);

wait(k1,k2,k3,...,kn); //k1,k2,...,kn 為執行消費者程序除full外其餘的條件

wait(mutex);

nextc:=buffer(out);

out:=(out+1) mod n;

signal(mutex);

signal(empty);

signal(k1,k2,k3,...,kn);

consume the item in nextc;

until false;

end

parend

end      

32.什麼是信号量集?試利用信号量集寫出讀者一寫者問題的解法。

答:

對AND信号量加以擴充,形成的信号量集合的讀寫機制。

解法:

Var RN integer;

L,mx: semaphore:=RN,1;

begin

parbegin

reader:begin

repeat

Swait(L,1,1);

Swait(mx,1,1);

…

perform read operation;

…

Ssignal(L,1);

until false

end

writer:begin

repeat

Swait(mx,1,1;L,RN,0);

perform write operation;

Ssignal(mx,1);

until false

end

parend

end      

33.試比較程序間的低級與進階通信工具。

答:

使用者用低級通信工具實作程序通信很不友善,效率低,通信對使用者不透明,所有操作都必須由程式員來實作,而進階通信工具彌補了這些缺陷,使用者直接利用作業系統提供的一組通信指令,高效地傳送大量的資料。

34.目前有哪幾種進階通信機制?

答:

共享存儲器系統、消息傳遞系統以及管道通信系統。

35.消息隊列通信機制有哪幾方面的功能?

答:

(1)構成消息(2)發送消息(3)接收梢息(4)互斥與同步。

39. 為了在多線程OS中實作程序之間的同步與通信,通常提供了哪幾種同步機制?

答:

同步功能可以控制程式流并通路共享資料,進而并發執行多個線程。

共有四種同步模型:互斥鎖、讀寫鎖、條件變量和信号。

40.用于實作線程同步的私用信号量和公用信号量之間有何差别?

答:

(1)私用信号量。當某線程需利用信号量實作同一程序中各線程之間的同步時,可調用建立信号量的指令來建立一個私用信号量,其資料結構存放在應用程式的位址空間中。

(2)公用信号量。公用信号量是為實作不同程序間或不同程序中各線程之間的同步而設定的。其資料結構是存放在受保護的系統存儲區中,由OS為它配置設定空間并進行管理。

第三章 處理機排程與死鎖

1.進階排程與低級排程的主要任務是什麼?為什麼要引入中級排程?

答:

進階排程的主要任務是根據某種算法,把外存上處于後備隊列中的那些作業調入記憶體。

低級排程是儲存處理機的現場資訊,按某種算法先取程序,再把處理器配置設定給程序。

引入中級排程的主要目的是為了提高記憶體使用率和系統吞吐量。使那些暫時不能運作的程序不再占用記憶體資源,将它們調至外存等待,把程序狀态改為就緒駐外存狀态或挂起狀态。

3.何謂作業、作業步和作業流?

答:

作業包含通常的程式和資料,還配有作業說明書。系統根據該說明書對程式的運作進行控制。批處理系統中是以作業為基本機關從外存調入記憶體。

作業步是指每個作業運作期間都必須經過若幹個相對獨立互相關聯的順序加工的步驟。

作業流是指若幹個作業進入系統後依次存放在外存上形成的輸入作業流;在作業系統的控制下,逐個作業程序處理,于是形成了處理作業流。

4.在什麼情況下需要使用作業控制塊JCB?其中包含了哪些内容?

答:

每當作業進入系統時,系統便為每個作業建立一個作業控制塊JCB,根據作業類型将它插入到相應的後備隊列中。

JCB 包含的内容通常有:1) 作業辨別2)使用者名稱3)使用者賬戶4)作業類型(CPU繁忙型、I/O芳名型、批量型、終端型)5)作業狀态6)排程資訊(優先級、作業已運作)7)資源要求8)進入系統時間9) 開始處理時間10)作業完成時間11) 作業退出時間12) 資源使用情況等

5.在作業排程中應如何确定接納多少個作業和接納哪些作業?

答:

作業排程每次接納進入記憶體的作業數,取決于多道程式度。應将哪些作業從外存調入記憶體,取決于采用的排程算法。最簡單的是先來服務排程算法,較常用的是短作業優先排程算法和基于作業優先級的排程算法。

7.試說明低級排程的主要功能。

答:

(1)儲存處理機的現場資訊(2)按某種算法選取程序(3)把處理機配置設定給程序。

8.在搶占排程方式中,搶占的原則是什麼?

答:

搶占的原則有:時間片原則、優先權原則、短作業優先權原則等。

9.在選擇排程方式和排程算法時,應遵循的準則是什麼?

答:

(1)面向使用者的準則:周轉時間短、響應時間快、截止時間的保證、優先權準則。

(2)面向系統的準則:系統吞吐量高、處理機使用率好、各類資源的平衡利用。

10.在批處理系統、分時系統和實時系統中,各采用哪幾種程序(作業)排程算法?

答:

批處理系統的排程算法:短作業優先、優先權、高響應比優先、多級回報隊列排程算法。

分時系統的排程算法:時間片輪轉法。

實時系統的排程算法:最早截止時間優先即EDF、最低松弛度優先即LLF算法。

11.何謂靜态和動态優先級?确定靜态優先級的依據是什麼?

答:

靜态優先級是指在建立程序時确定且在程序的整個運作期間保持不變的優先級。

動态優先級是指在建立程序時賦予的優先權,可以随程序推進或随其等待時間增加而改變的優先級,可以獲得更好的排程性能。

确定程序優先級的依據:程序類型、程序對資源的需求和使用者要求。

12.試比較FCFS和SPF兩種程序排程算法。

答:

相同點:兩種排程算法都可以用于作業排程和程序排程。

不同點:FCFS排程算法每次都從後備隊列中選擇一個或多個最先進入該隊列的作業,将它們調入記憶體、配置設定資源、建立程序、插入到就緒隊列。該算法有利于長作業/程序,不利于短作業/程序。SPF算法每次排程都從後備隊列中選擇一個或若幹個估計運作時間最短的作業,調入記憶體中運作。該算法有利于短作業/程序,不利于長作業/程序。

13.在時間片輪轉法中,應如何确定時間片的大小?

答:

時間片應略大于一次典型的互動需要的時間。一般應考慮三個因素:系統對相應時間的要求、就緒隊列中程序的數目和系統的處理能力。

14.通過一個例子來說明通常的優先級排程算法不能适用于實時系統?

答:

實時系統的排程算法很多,主要是基于任務的開始截止時間和任務緊急/松弛程度的任務優先級排程算法,通常的優先級排程算法不能滿足實時系統的排程實時性要求而不适用。

15.為什麼說多級回報隊列排程算法能較好地滿足各方面使用者的需求?

答:

(1)終端型作業使用者送出的作業大多屬于較小的互動型作業,系統隻要使這些作業在第一隊列規定的時間片内完成,終端作業使用者就會感到滿足。

(2)短批處理作業使用者,開始時像終端型作業一樣,如果在第一隊列中執行一個時間片段即可完成,便可獲得與終端作業一樣的響應時間。對于稍長作業,通常隻需在第二和第三隊列各執行一時間片即可完成,其周轉時間仍然較短。

(3)長批處理作業,它将依次在第1,2,…,n個隊列中運作,然後再按輪轉方式運作,使用者不必擔心其作業長期得不到處理。是以,多級回報隊列排程算法能滿足多使用者需求。

19.為什麼在實時系統中,要求系統(尤其是CPU)具有較強的處理能力?

答:

實時系統中通常有着多個實時任務。若處理機的處理能力不夠強,有可能因為處理機忙不過來而使某些實時任務得不到及時處理,導緻發生難以預料的後果。

20.按照排程方式可将實時排程算法分為哪幾種?

答:

可分為非搶占式和搶占式兩種算法。而非搶占式算法又分為非搶占式輪轉和優先排程算法;搶占式排程算法又分為基于時鐘中斷的搶占式優先權和立即搶占式優先權排程算法。

21.什麼是最早截止時間優先排程算法?舉例說明。

答:

根據任務的開始截止時間确定的任務優先級排程算法。截止時間越早則優先級越高。該算法要求在系統中保持一個實時任務就緒隊列,該隊列按各任務截止時間的先後排序。

舉例:非搶占式排程方式用于非周期實時任務。圖3-9是将該算法用于非搶占排程方式之例。該例中具有四個非周期任務,它們先後到達。系統首先排程任務1執行,在任務1執行期間,任務2、3又先後到達。由于任務3的開始截止時間早于任務2,故系統在任務1後将排程任務3執行。在此期間又到達作業4,其開始截止時間仍是早于任務2的,故在任務3執行完後,系統又排程任務4執行,最後才排程任務2執行。

圖3-9 EDF算法用于非搶占排程的排程方式

22.什麼是最低松弛度優先排程算法?舉例說明之。

答:

該算法是根據任務緊急(或松弛)的程度,來确定任務的優先級。任務的緊急程度愈高,為該任務所賦予的優先級就愈高,以使之優先執行。

例如,一個任務在200 ms 時必須完成,而它本身所需的運作時間就有100 ms,是以,排程程式必須在100 ms 之前排程執行,該任務的緊急程度(松弛程度)為100 ms。又如,另一任務在400 ms 時必須完成,它本身需要運作 150 ms,則其松弛程度為 250 ms。

27.何謂死鎖?産生死鎖的原因和必要條件是什麼?

答:

死鎖是指多個程序在運作過程中因争奪資源而造成的一種僵局,當程序處于這種僵持狀态時,若無外力作用,它們都将無法再向前推進。

産生死鎖的原因為競争資源和程序間推進順序非法。其必要條件是:互斥條件、請求和保持條件、不剝奪條件、環路等待條件。

28.在解決死鎖問題的幾個方法中,哪種方法最易于實作?哪種方法使資源使用率最高?

答:

解決死鎖的四種方法即預防、避免、檢測和解除死鎖中,預防死鎖最容易實作;

避免死鎖使資源的使用率最高。

29.請詳細說明可通過哪些途徑預防死鎖。

答:

(1)擯棄“請求和保持”條件,就是如果系統有足夠資源,便一次性把程序需要的所

有資源配置設定給它;

(2)擯棄“不剝奪”條件,就是已經擁有資源的程序,當它提出新資源請求而不能立即滿足時,必須釋放它已保持的所有資源,待以後需要時再重新申請;

(3)擯棄“環路等待”條件,就是将所有資源按類型排序标号,所有程序對資源的請求必須嚴格按序号遞增的次序提出。

30.在銀行家算法的例子中,如果P0送出請求向量由Request(0,2,0)改為Request(0,1,0),

問系統可否将資源配置設定給它?(此答案有點問題,需重新考慮)

答:

(1)可以。銀行家算法各種資源數量分别為10、5、7,在T0時刻的資源配置設定如圖所示:

(2)具體分析如下:

① Requst0(0,1,0)<=Need0(7,4,3);

②Requst0(0,1,0)<=Available(2,3,0);

系統先假定可為P0配置設定資源,并修改Available0,Allocation0和Need0向量,由此形成的資源變化情況如下圖所示:

(3)P0請求資源:P0送出請求向量Requst0(0,1,0),系統按銀行家算法進行檢查:

① Requst0(0,1,0)<=Need0(7,4,3);

②Requst0(0,1,0)<=Available(2,3,0);

③ 系統暫時先假定可為P0配置設定資源,并修改__有關資料,如下圖所示

綜上所述系統可以将資源配置設定給它。

31.銀行家算法中出現以下資源配置設定,試問

(1)該狀态是否安全?

(2)若程序P2提出請求Request(1,2,2,2)後,系統能否将資源配置設定給它?(參考答案有錯)

答:

(1)安全,因為存在安全序列{P0,P3,P4,P1,P2}

(2)系統能配置設定資源,分析如下。

① Request(1,2,2,2) <=Need2(2,3,5,6);

② Request(1,2,2,2) <=Available2(1,3,5,4)改成Available2(1,6,2,2);

③系統先假定可為P2配置設定資源,并修改Available2,Allocation2和Need2向量,

由此形成的資源變化情況如下圖所示:

④ 再利用安全性算法檢查此時系統是否安全。如下圖

由此進行的安全性檢查得知,可以找到一個安全序列{P2,P0,P1,P3,P4}。

補充 2 6 16 17 18 31圖

第四章 存儲器管理

1.為什麼要配置層次式存儲器?

答:

設定多個存儲器可以使存儲器兩端的硬體能并行工作;采用多級存儲系統,特别是

Cache 技術,是減輕存儲器帶寬對系統性能影響的最佳結構方案;在微處理機内部設定各種緩沖存儲器,減輕對存儲器存取的壓力。增加CPU中寄存器數量大大緩解對存儲器壓力。

2.可采用哪幾種方式将程式裝入記憶體?它們分别适用于何種場合?

答:

(1)絕對裝入方式,隻适用于單道程式環境。

(2)可重定位裝入方式,适用于多道程式環境。

(3)動态運作時裝入方式,用于多道程式環境;不允許程式運作時在記憶體中移位置。

3.何謂靜态連結?何謂裝入時動态連結和運作時的動态連結?

答:

靜态連結是指在程式運作前,先将各目标子產品及它們所需的庫函數,連結成一個完整的裝配子產品,以後不再拆開的連結方式。

裝入時動态連結是指将使用者源程式編譯後得到的一組目标子產品,在裝入記憶體時采用邊裝入邊連結的連結方式。

運作時動态連結是指對某些目标子產品的連結,是在程式執行中需要該目标子產品時,才對它進行的連結。

6.在動态分區配置設定方式中,應如何将各空閑分區連結成空閑分區鍊?

答:

在每個分區的起始部分,設定一些控制分區配置設定的資訊,以及用于連結各分區所用的前向指針;在分區尾部設定一個後向指針,通過前後向連結指針,将所有空閑分區鍊成一個雙向鍊。當分區配置設定出去後,把狀态位由“0”改為“1”。

7.為什麼要引入動态重定位?如何實作?

答:

在程式執行過程中,每當通路指令或資料時,将要通路的程式或資料的邏輯位址轉換成實體位址,引入了動态重定位;

具體實作方法是在系統中增加一個重定位寄存器,用來裝入程式在記憶體中的起始位址,程式執行時,真正通路的記憶體位址是相對位址與重定位寄存器中的位址相加之和,進而實作動态重定位。

9.在采用首次适應算法回收記憶體時,可能出現哪幾種情況?應怎樣處理這些情況?

答:

在采用首次适應算法回收記憶體時可能出現4種情況:

(1)回收區前鄰空閑區。将回收區與前鄰空閑區合并,将前鄰空閑區大小修改為兩者之和。

(2)回收區後鄰空閑區。将兩區合并,改後鄰空閑區始址為回收區始址,大小為兩者之和。

(3)回收區前後均鄰空閑區。将三個分區合并,修改前鄰空閑區大小為三者之和。

(4)回收區前後均不鄰空閑區。為回收區設定空閑區表項,填入回收區始址和大小并插入空閑區隊列。

11.令 表示大小為 、位址為x 的塊的夥伴系統位址,試寫出的通用表達式。

答:

當 時, ;當 時,

12.分區存儲管理中常用那些配置設定政策?比較它們的優缺點。

答:

分區存儲管理中的常用配置設定政策:首次适應算法、循環首次适應算法、最佳适應算法、最壞适應算法。

首次适應算法優缺點:保留了高址部分的大空閑區,有利于後來的大型作業配置設定;低址部分不斷被劃分,留下許多難以利用的小空閑區,每次查找都從低址開始增加了系統開銷。

循環首次适應算法優缺點:記憶體空閑分區分布均勻,減少了查找系統開銷;缺乏大空閑分區,導緻不能裝入大型作業。

最佳适應算法優缺點:每次配置設定給檔案的都是最适合該檔案大小的分區,記憶體中留下許多難以利用的小空閑區。

最壞适應算法優缺點:剩下空閑區不太小,産生碎片幾率小,對中小型檔案配置設定分區操作有利;存儲器中缺乏大空閑區,對大型檔案分區配置設定不利。

13.在系統中引入對換後可帶來哪些好處?

答:

交換技術将暫不需要的作業移到外存,讓出記憶體空間以調入其它作業,交換到外存的作業也可以被再次調入。目的是解決記憶體緊張問題,帶來的好處是進一步提高了記憶體使用率和系統吞吐量。

15.為實作對換,系統應具備哪幾方面的功能?

答:

系統應具備三方面功能:對換空間管理,程序換出,程序換入。

16.在以程序為機關進行對換時,每次是否都将整個程序換出?為什麼?

答:

在以程序為機關進行對換時,并非每次都将整個程序換出。這是因為:

(1)從結構上講,程序由程式段、資料段和程序控制塊組成的,其中程序控制塊總有部分或全部常駐記憶體,不被換出。

(2)程式段和資料段可能正被若幹程序共享,此時它們也不能換出。

20.為實作分頁存儲管理,需要哪些硬體的支援?

答:

動态重定位技術、虛拟存儲技術、多道程式設計技術。

22.在具有快表的段頁式存儲管理方式中,如何實作位址變換?

答:

在CPU給出有效位址後,由位址變換機構自動将頁号P送入高速緩沖寄存

器,并将此頁号與高速緩存中的所有頁号比較,若找到比對頁号,表示要訪

問的頁表項在快表中。可直接從快表讀出該頁對應實體塊号,送到實體位址

寄存器中。如快表中沒有對應頁表項,則再通路記憶體頁表,找到後,把從頁表項中讀出實體塊号送位址寄存器;同時修改快表,将此頁表項存入快表。但若寄存器已滿,則OS必須找到合适的頁表項換出。

23.較詳細的說明引入分段存儲管理是為了滿足使用者哪幾方面的需要。

答:

  1. 友善程式設計。使用者通常把自己的作業按照邏輯關系劃分為若幹段,每段都從0 編址,并有自己名字和長度。是以,希望要通路的邏輯位址是由段名和段内偏移量決定。
  2. 資訊共享。在實作對程式和資料的共享時,是以資訊邏輯機關為基礎。分頁系統中的頁是存放資訊的實體機關,無完整意義,不便于共享;段是資訊的邏輯機關。為了實作段的共享,希望存儲管理能與使用者程式分段的組織方式相适應。
  3. 資訊保護。對資訊的邏輯機關進行保護,分段能更有效友善地實作資訊保護功能。
  4. 動态增長。在實際應用中,有些段特别是資料段,在使用過程中會不斷增長,事先又無法确切知道增長多少。分段存儲管理方式能較好解決這個問題。
  5. 動态連結。運作時先将主程式對應的目标程式裝入記憶體并啟動運作,運作過程中又需要調用某段時,才将該段調入記憶體連結。是以動态連結也要求以段作為管理機關。

25.為什麼說分段系統比分頁系統更易于實作資訊的共享和保護?

答:

分頁系統的每個頁面是分散存儲的,為了實作資訊共享和保護,頁面之間需要一一對應,為此需要建立大量的頁表項;而分段系統的每個段都從0 編址,并采用一段連續的位址空間,在實作共享和保護時,隻需為要共享和保護的程式設定一個段表項,将其中的基址與記憶體位址一一對應就能夠實作。

26.分段和分頁存儲管理有何差別?

答:

(1)頁是資訊的實體機關,分頁是為了實作離散配置設定方式,以消減記憶體的外部零頭,提高記憶體使用率。段則是資訊的邏輯機關,它含有一組相對完整的資訊。

(2)頁的大小固定且由系統決定,由系統把邏輯位址劃分為頁号和頁内位址兩部分,是由機械硬體實作的,因而在系統中隻能有一種大小的的頁面;而段的長度卻不固定,決定于使用者所編寫的程式,通常由編譯程式在對原程式進行編譯時,根據資訊的性質來劃分。

(3)分頁的作業位址空間是一維的,而分段作業位址空間則是二維的。

27.試全面比較連續配置設定和離散配置設定方式.

答:

(1)連續配置設定是指為一個使用者程式配置設定一個連續的位址空間,包括單一和分區兩種配置設定方式。單一方式将記憶體分為系統區和使用者區,最簡單,隻用于單使用者單任務作業系統;分區方式分固定和動态分區。

(2)離散配置設定方式分為分頁、分段和段頁式存儲管理。分頁式存儲管理旨在提高記憶體使用率,分段式存儲管理旨在滿足使用者(程式員)的需要,段頁式存儲管理則将兩者結合起來,具有分段系統便于實作、可共享、易于保護和動态連結等優點,又能像分頁系統很好解決外部碎片及為各段可離散配置設定記憶體等問題,是比較有效的存儲管理方式;

補充 3 4 5 11 14 17 18 19 21 24

另外

4.在進行程式連結時,應完成哪些工作?

答:

由連結程式Linker将編譯後形成的一組目标子產品,以及它們需要的庫函數連結在一起,形成一個完整的裝入子產品Load Module。主要工作是修改程式内的相對位址和修改目标程式中的外部調用标号。

第五章 虛拟存儲器

3.虛拟存儲器有哪些特征?其中最本質的特征是什麼?

答:

虛拟存儲器有多次性、對換性、虛拟性三大特征。最本質的特征是虛拟性。

4.實作虛拟存儲器需要哪些硬體支援?

答:

(1)請求分頁(段)的頁(段)表機制(2)缺頁(段)中斷機構(3)位址變換機構

5.實作虛拟存儲器需要哪幾個關鍵技術?

答:

(1)在分頁請求系統中是在分頁的基礎上,增加了請求調頁功能和頁面置換功能所形成的頁式虛拟存儲系統。允許隻裝入少數頁面的程式(及資料),便啟動運作。

(2)在請求分段系統中是在分段系統的基礎上,增加了請求調段及分段置換功能後形成的段式虛拟存儲系統。允許隻裝入少數段(而非所有段)的使用者程式和資料,即可啟動運作。

6.在請求分頁系統中,頁表應包括哪些資料項?每項的作用是什麼?

答:

頁表應包括:頁号、實體塊号、狀态位P、通路字段A、修改位M和外存位址。

其中狀态位P 訓示該頁是否調入記憶體,供程式通路時參考;通路字段A 用于記錄本頁在一段時間内被通路的次數,或最近已有多長時間未被通路,提供給置換算法選擇換出頁面時參考;修改位M 表示該頁在調入記憶體後是否被修改過;外存位址用于指出該頁在外存上的位址,通常是實體塊号,供調入該頁時使用。

10.在請求分頁系統中,應從何處将所需頁面調入記憶體?

答:

請求分頁系統中的缺頁從何處調入記憶體分三種情況:

(1)系統擁有足夠對換區空間時,可以全部從對換區調入所需頁面,提高調頁速度。在程序運作前将與該程序有關的檔案從檔案區拷貝到對換區。

(2)系統缺少足夠對換區空間時,不被修改的檔案直接從檔案區調入;當換出這些頁面時,未被修改的不必換出,再調入時,仍從檔案區直接調入。對于可能修改的,在換出時便調到對換區,以後需要時再從對換區調入。

(3)UNIX 方式。未運作頁面從檔案區調入。曾經運作過但被換出頁面,下次從對換區調入。UNIX系統允許頁面共享,某程序請求的頁面有可能已調入記憶體,直接使用不再調入。

12.在請求分頁系統中,常采用哪幾種頁面置換算法?

答:

采用的頁面置換算法有:最佳置換算法和先進先出置換算法,最近最久未使用(LRU)置換算法,Clock置換算法,最少使用置換算法,頁面緩沖算法等。

13.在一個請求分頁系統中,采用LRU 頁面置換算法時,假如一個作業的頁面走向為4 , 3 , 2 ,1 , 4 , 3 , 5 , 4 ,3 , 2 , 1 ,5,當配置設定給該作業的實體塊數M分别為3和4時,試計算通路過程中所發生的缺頁次數和缺頁率 ? 比較所得結果?(參考答案有錯)

答:

當配置設定給該作業的實體塊數M為3時,缺頁7次,缺頁率: 7/12=0.583;

當配置設定給該作業的實體塊數M為4時,缺頁4次,缺頁率: 4/12=0.333.

-------以上解答出錯。正确解法見下面:

答:

當配置設定給該作業的實體塊數M為3時,缺頁9次,缺頁率: 9/12=3/4;

當配置設定給該作業的實體塊數M為4時,缺頁10次,缺頁率: 10/12=5/6.

14.實作LRU算法所需的硬體支援是什麼?

答:

需要寄存器和棧等硬體支援。寄存器用于記錄某程序在記憶體中各頁的使用情況,棧用于儲存目前使用的各個頁面的頁面号。

15.試說明改進型 Clock 置換算法的基本原理.

答:

因為修改過的頁面在換出時付出的開銷比未被修改過的頁面大,在改進型Clock 算法

中,既考慮頁面的使用情況,還要增加置換代價的因素;在選擇頁面作為淘汰頁面時,把同時滿足未使用過和未被修改作為首選淘汰頁面。

24.說明請求分段系統中的缺頁中斷處理過程。

答:

請求分段系統中的缺頁中斷處理過程描述如下:

(1)根據目前執行指令中的邏輯位址查頁表,判斷該頁是否在主存儲器中

(2)該頁标志為“0”形成缺頁中斷,中斷裝置通過交換PSW讓作業系統的中斷處理程式占用處理器。

(3)作業系統處理缺頁中斷處理的辦法是查主存配置設定表找一個空閑的主存塊,查頁表找出該頁在磁盤上位置,啟動磁盤讀出該頁資訊。

(4)把從磁盤上讀出的資訊裝入找到的主存塊中。

(5)當頁面住處被裝入主存後,應修改頁表中對應的表目,填上該頁所占用的主存塊把标志置為“1”,表示該頁已在主存儲器中

(6)由于産生缺頁中斷時的那條指令并沒執行完,是以在把頁面裝入之後應重新執行被中斷指令。

請求分段系統中的缺頁中斷處理過程如下圖所示:

補充 1 2 7 8 9 [16,23],25,26

另外

12.在請求分頁系統中,通常采用哪種頁面配置設定方式?為什麼?

答:

固定配置設定方式是基于程序的類型(互動型)或根據程式員、系統管理者的建議,為每個程序配置設定固定頁數的記憶體空間,整個運作期間不再改變;采用可變配置設定方式有全局置換和局部置換兩種,前者易于實作,後者效率高。

30.如何實作分段共享 ?

答:

在每個程序的段表中,用相應的表項指向共享段在記憶體中起始位址;配置相應的資料結構作為共享段表,在段表項中設定共享程序計數Count,每調用一次該共享段,Count值增 1,每當程序釋放一個共享段時,Count減1,若減為0,則系統回收該共享段的實體記憶體,取消在共享段表中該段對應的表項;共享段應給不同的程序以不同的存取權限;不同的程序可以使用不同的段号去共享該段。

第六章 輸入輸出系統

5.試說明裝置控制器的組成。

答:

由裝置控制器與處理機的接口,裝置控制器與裝置的接口與I/O邏輯組成。

6.為了實作CPU與裝置控制器間的通信,裝置控制器應具備哪些功能?

答:

接收和識别指令;資料交換;辨別和報告裝置狀态;位址識别;資料緩沖;差錯控制。

10.裝置中斷處理程式通常需完成哪些工作?

答:

裝置中斷處理程式通常需完成如下工作:

(1) 喚醒被阻塞的驅動程式程序;

(2) 保護被中斷程序的CPU環境;

(3) 分析中斷原因、轉入相應的裝置中斷處理程式;

(4) 進行中斷處理;

(5) 恢複被中斷程序。

12.試說明裝置驅動程式具有哪些特點。

答:

裝置驅動程式具有如下特點:

(1)是請求 I/O 程序與裝置控制器間的一個通信程式;

(2)驅動程式與 I/O 裝置的特性緊密相關;

(3)驅動程式與 I/O 控制方式緊密相關;

(4)驅動程式與硬體緊密相關,部分程式用彙編語言書寫,基本部分往往固化在ROM中。

13.試說明裝置驅動程式應具有哪些功能?

答:

裝置驅動程式的主要功能包括:

(1)将接收到的抽象要求轉為具體要求;

(2)檢查使用者I/O請求合法性,了解I/O 裝置狀态,傳遞有關參數,設定裝置工作方式;

(3)發出I/O 指令,啟動配置設定到的I/O裝置,完成指定I/O 操作;

(4)及時響應由控制器或通道發來的中斷請求,根據中斷類型調用相應中斷處理程式處理;

(5)對于有通道的計算機,驅動程式還應該根據使用者 I/O 請求自動構成通道程式。

15.試說明推動I/O控制發展的主要因素是什麼?

答:

推動I/O 控制發展的主要動力在于盡量減少主機對I/O控制的幹預,把主機從繁雜的I/O控制事務中解脫出來,用更多的時間和精力去完成其資料處理任務。同時,中斷機制在計算機系統中的引入、DMA控制器的出現和通道研制的成功使I/O 控制的發展具備了技術支援和成為可能。

16.有哪幾種I/O控制方式?各适用于何種場合?

答:

共有四種I/O 控制方式。

(1)程式I/O方式:早期計算機無中斷機構,處理機對I/O裝置的控制采用程式I/O方式或稱忙等的方式。

(2)中斷驅動I/O 控制方式:适用于有中斷機構的計算機系統中。

(3)直接存儲器通路(DMA)I/O 控制方式:适用于具有DMA控制器的計算機系統中。

(4)I/O 通道控制方式:具有通道程式的計算機系統中。

17.試說明DMA 的工作流程。

答:

以從磁盤讀入資料為例,說明DMA的工作流程。當CPU要從磁盤讀入資料塊時,先向磁盤控制器發送一條讀指令。該指令被送到指令寄存器CR中。同時還發送本次要讀入資料的記憶體起始目标位址,送入記憶體位址寄存器MAR;本次要讀資料的位元組數送入資料計數器DC,将磁盤中的源位址直接送DMA控制器的I/O控制邏輯上。然後啟動DMA 控制器傳送資料,以後CPU便處理其它任務。整個資料傳送過程由DMA控制器控制。下圖為DMA方式的工作流程圖。

18.為何要引入裝置獨立性?如何實作裝置獨立性?

答:

現代作業系統為了提高系統的可适應性和可擴充性,都實作了裝置獨立性或裝置無關性。基本含義是應用程式獨立于具體使用的實體裝置,應用程式以邏輯裝置名請求使用某類裝置。實作了裝置獨立性功能可帶來兩方面的好處:(1)裝置配置設定時的靈活性;(2)易于實作I/O重定向。

為了實作裝置的獨立性,應引入邏輯裝置和實體裝置概念。在應用程式中,使用邏輯裝置名請求使用某類裝置;系統執行時是使用實體裝置名。鑒于驅動程式是與硬體或裝置緊密相關的軟體,必須在驅動程式之上設定一層裝置獨立性軟體,執行所有裝置的公有操作、完成邏輯裝置名到實體裝置名的轉換(為此應設定一張邏輯裝置表)并向使用者層(或檔案層)軟體提供統一接口,進而實作裝置的獨立性。

20.在考慮到裝置的獨立性時,應如何配置設定獨占裝置?

答:

在考慮到裝置的獨立性時,應按如下步驟來配置設定獨占裝置:

(1) 程序以邏輯裝置名提出I/O請求。

(2) 根據邏輯裝置表獲得I/O請求的邏輯裝置對應實體裝置在系統裝置表中的指針。

(3) 檢索系統裝置表,找到屬于請求類型、空閑可用且配置設定安全裝置的裝置控制表,将對應裝置配置設定給請求程序;未找到則等待等待喚醒和配置設定。

(4) 到裝置控制表中找出與其相連接配接的控制器的控制器控制表,根據狀态字段判斷是否忙碌,忙則等待;否則将該控制器配置設定給程序。

(5) 到該控制器的控制器控制表中找出與其相連接配接的通道的通道控制表,判斷通道是否忙碌,忙則等待;否則将該通道配置設定給程序。

(6) 隻有在裝置、控制器和通道三者都配置設定成功時,這次的裝置配置設定才算成功,然後便可啟動裝置進行資料傳送。

21.何謂裝置虛拟?實作裝置虛拟時所依賴的關鍵技術是什麼?

答:

裝置虛拟是指把獨占裝置經過某種技術處理改造成虛拟裝置。

可虛拟裝置是指一台實體裝置在采用虛拟技術後,可變成多台邏輯上的虛拟裝置,則可虛拟裝置是可共享的裝置,将它同時配置設定給多個程序使用,并對這些通路該實體裝置的先後次序進行控制。

22.在實作背景列印時,SPOOLing 系統應為請求I/O的程序提供哪些服務?

答:

在實作背景列印時,SPOOLing 系統應為請求 I/O的程序提供以下服務:

(1)由輸出程序在輸出井中申請一空閑盤塊區,并将要列印的資料送入其中;

(2)輸出程序為使用者程序申請空白使用者列印表,填入列印要求,将該表挂到請求列印隊列。

(3)一旦列印機空閑,輸出程序便從請求列印隊列的隊首取出一張請求列印表,根據表中要求将要列印的資料從輸出井傳送到記憶體緩沖區,再由列印機進行列印。

24.引入緩沖的主要原因是什麼?

答:

引入緩沖的主要原因是:

(1)緩和CPU與I/O 裝置間速度不比對的沖突

(2)減少對CPU的中斷頻率,放寬對中斷響應時間的限制

(3)提高CPU與I/O 裝置之間的并行性

25.在單緩沖情況下,為什麼系統對一塊資料的處理時間為max(C,T)+M?

答:

在塊裝置輸入時,先從磁盤把一塊資料輸入到緩沖區,耗時為T;然後由作業系統将緩沖區資料送給使用者區,耗時M;接下來由CPU對塊資料進行計算,耗時C。在單緩沖情況下,磁盤把資料輸入到緩沖區的操作和CPU對資料的計算過程可以并行展開,是以系統對每一整塊資料的處理時間為max(C, T) + M。

26.為什麼在雙緩沖情況下,系統對一塊資料的處理時間為max(T,C)?

答:

寫入者花費時間T 将資料寫滿一個緩沖區後再寫另一個緩沖區;讀出者花費時間M将一個緩沖區資料送到使用者區後再傳送另一個緩沖區資料,計算者讀出使用者區資料進行處理。由于将資料從緩沖區傳到使用者區操作必須與讀使用者區資料處理串行進行,而且可以與從外存傳送資料填滿緩沖區的操作并行。是以耗時大約為max(C+M,T)。考慮M是記憶體資料塊的移動耗時非常短暫可以省略,是以近似地認為系統對一塊資料處理時間為max(C,T)。

27.試繪圖說明把多緩沖用于輸出時的情況。

答:

多緩沖用于輸出的示意圖如下:

28.試說明收容輸入工作緩沖區和提取輸出工作緩沖區的工作情況。

答:

①收容輸入工作緩沖區的工作情況為:在輸入程序需要輸入資料時,調用GetBuf(EmptyQueue)過程,從EmptyQueue隊列的隊首摘下一個空緩沖區,作為收容輸入工作緩沖區Hin。然後把資料輸入其中,裝滿後再調用PutBuf(InputQueue,Hin)過程,将該緩沖區挂在輸入隊列InputQueue的隊尾。

②提取輸出工作緩沖區的工作情況為:當要輸出資料時,調用GetBuf(OutputQueue)過程,從輸出隊列的隊首取得一裝滿輸出資料的緩沖區作為提取輸出工作緩沖區Sout。在資料提取完後,再調用PutBuf(EmptyQueue,Sout)過程,将該緩沖區挂到空緩沖隊列EmptyQueue的隊尾。

29.何謂安全配置設定方式和不安全配置設定方式?

答:

① 安全配置設定方式是指每當程序發出I/O 請求後,便進入阻塞狀态,直到其I/O操作完成時才被喚醒。在采用這種配置設定政策時,一旦程序已獲得某種裝置資源後便阻塞,使它不可能再請求任何資源,而在它運作時又不保持任何資源。這種配置設定方式已經摒棄了造成死鎖的“請求和保持”條件,配置設定是安全的。缺點是程序進展緩慢,CPU與I/O裝置串行工作。

②不安全配置設定方式是指程序發出I/O 請求後仍繼續執行,需要時又可發出第二個I/O 請求、第三個I/O請求。僅當程序請求的裝置已被另一個程序占有時,程序才進入阻塞狀态。優點是一個程序可同時操作多個裝置,程序推進迅速。缺點是配置設定不安全,可能具有“請求和保持”條件,可能造成死鎖。是以,在裝置配置設定程式中需增加一個功能,用于對本次的裝置配置設定是否會發生死鎖進行安全性計算,僅當計算結果表明配置設定安全的情況下才進行配置設定。

30.磁盤通路時間由哪幾部分組成?每部分時間應如何計算?

答:

磁盤通路時間由尋道時間Ts、旋轉延遲時間Tr、傳輸時間Tt 三部分組成。

(1)Ts 是啟動磁臂時間s 與磁頭移動n條磁道的時間和,即Ts = m × n + s。

(2)Tr是指定扇區移動到磁頭下面所經曆的時間。硬碟15000r/min時Tr為2ms;軟碟300或600r/min時Tr為50~100ms。

(3)Tt 是指資料從磁盤讀出或向磁盤寫入經曆的時間。Tt的大小與每次讀/寫的位元組數b和旋轉速度有關:Tt = b/rN。

31.目前常用的磁盤排程算法有哪幾種?每種算法優先考慮的問題是什麼?

答:

目前常用的磁盤排程算法有先來先服務、最短尋道時間優先及掃描等算法。

(1) 先來先服務算法優先考慮程序請求通路磁盤的先後次序;

(2) 最短尋道時間優先算法優先考慮要求通路的磁道與目前磁頭所在磁道距離是否最近;

(3) 掃描算法考慮欲通路的磁道與目前磁道間的距離,更優先考慮磁頭目前的移動方向。

補充 [1,4] ,[6,9],11,14,19,23

另外

3.什麼是位元組多路通道?什麼是數組選擇通道和數組多路通道?

答:

(1)位元組多路通道。按位元組交叉方式工作的通道。通常含有許多非配置設定型子通道,數量從幾十到數百個,每個子通道連接配接一台I/O 裝置,控制其I/O 操作。子通道按時間片輪轉方式共享主通道。

(2)數組選擇通道。按數組方式傳送資料,傳輸速率很高,每次隻允許一個裝置資料。

(3)數組多路通道。将數組選擇通道傳輸速率高和位元組多路通道的各子通道分時并行操作的優點結合而成。含有多個非配置設定型子通道,具有很高的資料傳輸率和通道使用率。

4.如何解決因通道不足而産生的瓶頸問題?

答:

解決問題的有效方法是增加裝置到主機間的通路而不增加通道,把一個裝置連到多個控制器上,控制器又連到多個通道上,這種多通路方式解決了“瓶頸”問題,提高了系統可靠性,個别通道或控制器的故障不會使裝置和存儲器之間沒有通路。

5.試對VESA 及PCI兩種總線進行比較。

答:

VESA總線的設計思想是以低價占領市場。總線帶寬32位,最高傳輸速率132Mb/s。

廣泛用于486微機。缺點是能連接配接的裝置數僅為2~4 台,控制器中無緩沖,難于适應處理器速度的提高,不支援Pentium機。

PCI總線在CPU和外設間插入了複雜的管理層,協調資料傳輸和提供一緻接口。管理

層中配有資料緩沖,放大了線路的驅動能力,最多支援10種外設,支援高時鐘頻率的CPU運作,最大傳輸速率132Mb/s。可連接配接ISA、EISA等傳統總線,又支援Pentium的64位系統,是基于奔騰等新一代微處理器而發展的總線。

18.試說明SPOOLing 系統的組成。

答:

SPOOLing 系統由輸入井和輸出井、輸入緩沖區和輸出緩沖區、輸入程序 SPi 和輸出程序SPo 三部分組成。

第七章 檔案管理

1.何謂資料項、記錄和檔案?

答:

①資料項分為基本資料項群組合資料項。基本資料項描述一個對象某種屬性的字元集,具有資料名、資料類型及資料值三個特性。組合資料項由若幹資料項構成。

②記錄是一組相關資料項的集合,用于描述一個對象某方面的屬性。

③檔案是具有檔案名的一組相關資訊的集合。

2.檔案系統的模型可分為三層,試說明其每一層所包含的基本内容。

答:

第一層:對象及其屬性說明(檔案、目錄、硬碟或錄音帶存儲空間);

第二層:對對象操縱和管理的軟體集合(I/O控制層即裝置驅動程式、基本檔案系統即實體I/O層、基本I/O管理程式或檔案組織子產品層、邏輯檔案系統層)

第三層:檔案系統接口(指令接口/圖形化使用者接口與程式接口)。

4.試說明使用者可以對檔案施加的主要操作有哪些?

答:

使用者通過檔案系統提供的系統調用對檔案實施操作。

(1)基本檔案操作:建立、删除、讀、寫、截斷、設定讀/寫位置等;

(2)檔案打開和關閉操作:第一步通過檢索檔案目錄找到指定檔案屬性及其在外存上位置;第二步對檔案實施讀寫等相應操作。

(3)其他檔案操作:一是檔案屬性操作;二是目錄操作;三是檔案共享與檔案系統操作的系統調用實作等。

6.何謂邏輯檔案?何謂實體檔案?

答:

邏輯檔案是實體檔案中存儲的資料的一種視圖方式,不包含具體資料,僅包含實體檔案中資料的索引。實體檔案又稱檔案存儲結構,是指檔案在外存上的存儲組織形式。

8.如何提高對變長記錄順序檔案的檢索速度?

答:

基本方法是為變長記錄順序檔案建立一張索引表,以主檔案中每條記錄的長度及指向對應記錄的指針(即該記錄在邏輯位址空間的首址)作為相應表項的内容。由于索引表本身是一個定長記錄的順序檔案,若将其按記錄鍵排序,則實作了對主檔案友善快捷的直接存取。如果檔案較大,應通過建立分組多級索引以進一步提高檢索效率。

12.試說明對索引檔案和索引順序檔案的檢索方法。

答:

①索引檔案的檢索,首先根據使用者(程式)提供的關鍵字,利用折半查找法檢索索引表,找到相應表項;再利用給出的指向記錄指針值,通路對應記錄。

②索引順序檔案的檢索,首先利用使用者(程式)提供的關鍵字及查找方法,檢索索引表,找到該記錄在記錄組中的第一條記錄表項,得到第一個記錄在主檔案中的位置;再利用順序查找法查找主檔案,找到所要求的記錄。

13.試從檢索速度和存儲費用兩方面對索引檔案和索引順序檔案進行比較。

答:

索引檔案的主檔案每條記錄配置一個索引項,存儲開銷N,檢索到具有指定關鍵字的記錄,平均查找N/2條記錄。對于索引順序檔案,每個記錄分組配置一個索引項,存儲開銷為N,檢索到具有指定關鍵字的記錄,平均需要查找N /2次。

14.對目錄管理的主要要求是什麼?

答:

實作按名存取、提高檢索目錄的速度、檔案共享、允許檔案重名。

15.采用單級目錄能否滿足對目錄管理的主要要求?為什麼?

答:

不能。單級目錄在整個檔案系統中隻建立一張目錄表,每個檔案占一個目錄項,其中含檔案名、檔案擴充名、檔案長度、檔案類型、檔案實體位址、狀态位等其它檔案屬性。

單級隻能實作目錄管理的基本功能,不能滿足查找速度、允許重名和檔案共享的要求。

16.目前廣泛應用的目錄結構有哪些?它有什麼優點?

答:

現代作業系統都采用多級目錄結構。基本特點是查詢速度快、層次結構清晰、檔案管理和保護易于實作。

18.Hash 檢索法有何優點?又有何局限性?

答:

Hash檢索法是系統把使用者提供的檔案名變換為檔案目錄的索引值,再利用該值查找目錄,有效提高目錄的檢索速度,但Hash檢索法局限于非通配符檔案名。

19.在Hash檢索法中,如何解決“沖突”問題?

答:

在Hash法查找目錄時,如果目錄表中相應目錄項為空,表示系統中無指定檔案。如果檔案名與指定檔案名比對,表示找到了目标檔案,也就找到了檔案的實體位址。如果目錄表中找到的相應檔案名不比對,則發生了沖突,需要Hash轉換形成新的索引值,傳回第一步重新查找。

20.試說明在樹型目錄結構中線性檢索法的檢索過程,并給出相應的流程圖。

答:

在樹型結構的目錄中,當有兩個或多個使用者共享一個子目錄或檔案時,将共享檔案或字母路連接配接到兩個或多個使用者目錄中,友善找到該檔案。此時目錄結構不再是樹形結構,而是個有向非循環圖DGA。

21.基于索引節點的檔案共享方式有何優點?

答:

優點是建立新的共享連結時,不改變檔案擁有者關系,僅把索引結點共享計數器加1,系統可獲悉了由多少個目錄項指向該檔案。缺點是擁有者不能删除自己的檔案,否則會出錯。

23.基于符号鍊的檔案共享方式有何優點?

答:

能夠通過網絡連結世界上 任何地方的計算機中的檔案。

補充 3,5,7,[9,11],17,22,[24,30]

第八章 磁盤存儲器的管理

1. 目前常用的外存有哪幾種組織方式?

答:

檔案的三種外存組織方式

1連續組織方式

2連結組織方式

3索引組織方式

2.由連續組織方式所形成的順序檔案的主要優缺點是什麼

答:

連續組織方式的主要優點有:

(1) 順序通路容易。

(2) 順序通路速度快。

連續組織方式的主要缺點如下:

(1) 要求為一個檔案配置設定連續的存儲空間。

(2) 必須事先知道檔案的長度。

(3) 不能靈活地删除和插入記錄。

(4) 對于那些動态增長的檔案。

2.試說明順序檔案的結構及其優點。

答:

第一種是串結構:各記錄之間的順序與關鍵字無關。第二種是順序結構:指檔案中的所有記錄按關鍵字(詞)排列。可以按關鍵詞長短排序或英文字母順序排序。

順序檔案的最佳應用場合是對諸記錄進行批量存取時,存取效率最高;隻有順序檔案才能存儲在錄音帶上并有效工作。

3.在連結式檔案中常用哪種連結方式?為什麼?

答:

連結方式分為隐式連結和顯式連結兩種形式。隐式連結是在檔案目錄的每個目錄項中,都含有指向連結檔案第一個盤塊和最後一個盤塊的指針。顯式連結則把用于連結檔案各實體塊的指針,顯式地存放在記憶體的一張連結表中。

7.在MS-DOS中有兩個檔案A 和B,A占用11、12、16和14四個盤塊;B 占用13、18和20三個盤塊。試畫出在檔案A和B中各盤塊間的連結情況及FAT的情況。

答:如下圖所示。

8.NTFS檔案系統對檔案采用什麼樣的實體結構?

答:

在NTFS檔案系統中,以簇作為磁盤空間配置設定和回收的基本機關。一個檔案占若幹個簇,一個簇隻屬于一個檔案。

9.假定一個檔案系統的組織方式與MS-DOS相似,在FAT中可有64K個指針,磁盤的盤塊大小為512B,試問該檔案系統能否指引一個512MB的磁盤?

解:

512MB/512B=1M 個盤塊,而每個盤塊都應有一個指針來訓示,是以應該有1M個指針,是以若有64K 指針不能指引一個512MB的磁盤。

10.為了快速通路,又易于更新,當資料為以下形式時,應選用何種檔案組織方式。

⑴不經常更新,經常随機通路;⑵經常更新,經常按一定順序通路;⑶經常更新,經常随機通路;

答:

以上三種宜分别采用(1)順序結構(2)索引順序結構(3)索引結構的組織方式。

11.在UNIX中,如果一個盤塊的大小為1KB,每個盤塊号占4個位元組,即每塊可放256個位址。請轉換下列檔案的位元組偏移量為實體位址。

⑴9999; ⑵18000;⑶420000

答:

首先将邏輯檔案的位元組偏移量轉換為邏輯塊号和塊内偏移量,就是将[位元組偏移量]/[盤塊大小],商為邏輯塊号,餘數是塊内偏移量。在FCB中,第0-9個位址為直接位址,第10個為一次間接位址,第11個位址為二次間接位址,第12個位址為三次間接位址。

再将檔案的邏輯塊号轉換為實體塊号。使用多重索引結構,在索引節點中根據邏輯塊号通過直接索引或間接索引找到對應的實體塊号。

(1)9999/1024=9餘783,則邏輯塊号為9,直接索引第9個位址得到實體塊号,塊内偏移位址為783。

(2)18000/1024=17餘592,則邏輯塊号為10<17<10+256,通過一次間接索引在第10個位址可得到實體塊号,塊内偏移位址為592。

(3)420000/1024=410餘160,則邏輯塊号為10+256<410,通過二次間接索引在第11個位址可得到一次間址,再由此得到二次間址,再找到實體塊号,其塊内偏移位址160。

12.什麼是索引檔案?為什麼要引入多級索引?

答:

索引檔案是指當記錄為可變長度時,通常為之建立一張索引表,并為每個記錄設定一個表項構成的檔案。通常将索引非順序檔案簡稱為索引檔案。索引是為了是使用者的通路速度更快,多級索引結構可以有效的管理索引檔案,可根據使用者的通路情況多級處理。

13.試說明UNIX 系統中所采用的混合索引配置設定方式。

答:

混合索引配置設定方式是指将多種索引配置設定方式結合而成的配置設定方式。常見的是采用直接位址和一級索引聯合的配置設定方式,或兩級索引配置設定方式,甚至三級索引配置設定方式。在UNIXSystemⅤ和BSD UNIX 的索引結點中,都設定了13個位址項,即iaddr(0)~iaddr(12),把所有位址項分成直接位址和間接位址。

14.有一計算機系統利用圖6-33所示的位示圖來管理空閑盤塊。盤塊的大小為1KB,現要為某檔案配置設定量個盤塊,試說明盤塊的具體配置設定過程。

答:

配置設定量個盤塊的過程如下:

⑴ 順序掃描位示圖,從中找到第一個值為0的二進制位,得到行号i=3,列号j=3。

⑵ 将找到的二進制位轉換成對應盤塊号。盤塊号為:b=(3-1)*16+3=35;

⑶ 修改位示圖,令map[3,3]=1,并将該盤塊配置設定出去。

類似地,可使用相同的方法找到第二個值為0的二進制位,得到行号i=4,列号j=7,其對應的盤塊号為55,令map[i,j]=1,并将該盤塊配置設定出去。

15.某作業系統磁盤檔案空間共500塊,若用字長為32位的位示圖管理磁盤空間,試問:

(1)位示圖需要多少字?

(2)第i字第j位對應的塊号是多少?

(3)給出申請/歸還一塊的工作流程。

答:

(1)位示圖需要的字數計算:INT(500/32)=16 個字。

(2)塊号b=(i-1)*32+j

(3)申請的過程:順序掃描位示圖、找到空閑塊并配置設定、修改位示圖map[i,j]=1。

歸還的過程:找到回收盤塊在位示圖中的行和列,修改位示圖map[i,j]=0。

16.對空閑磁盤空間的管理常采用哪幾種配置設定方式?在UNIX系統中采用何種配置設定方式?

答:

空閑表法、空閑連結清單法、位示圖法、成組連結法。UNIX系統采用的是成組連結法

18.為什麼要引入磁盤高速緩沖?何謂磁盤高速緩沖?

答:

目前磁盤的I/O速度遠低于記憶體的通路速度,通常低上4-6個數量級。是以,磁盤I/O已成為計算機系統的瓶頸。為提高磁盤I/O的速度,便引入了磁盤高速緩沖。

磁盤高速緩沖是指利用記憶體中的存儲空間,暫存從磁盤中讀出的一系列盤塊中的資訊。

19.在設計磁盤高速緩沖時,如何實作資料傳遞?

答:

資料傳遞是指将磁盤高速緩存中的資料傳給請求程序。當程序請求通路某個盤塊中的資料時,由核心先檢視磁盤高速緩沖,看其中是否存在所需盤塊資料的拷貝。若有便直接從中提取資料傳遞給請求程序,避免了訪盤操作,本次通路速度提高4-6個數量級;否則先從磁盤中将要通路的資料讀入并傳遞給請求者程序,同時送高速緩存以便下次直接讀取。

20.何謂提前讀、延遲寫和虛拟盤?

答:

提前讀是指在讀目前盤塊的同時,将下一個可能要通路的盤塊資料讀入緩沖區,以便需要時直接從緩沖區中讀取,無需啟動磁盤。

延遲寫是指在寫盤塊時,将對應緩沖區中的立即寫資料暫時不立即寫以備不久之後再被通路,隻将它置上“延遲寫”标志并挂到空閑緩沖隊列的末尾。當移到空閑緩沖隊首并被配置設定出去時,才寫緩沖區中的資料。隻要延遲寫塊仍在空閑緩沖隊列中,任何要求通路都可直接從其中讀出資料或将資料寫入其中,而不必去通路磁盤。

虛拟盤又稱RAM盤,是利用記憶體空間仿真磁盤。其裝置驅動程式可以接受所有标準的磁盤操作,但這些操作不是在磁盤上而是在記憶體中,是以速度更快。

21.廉價磁盤備援陣列是如何提高對磁盤的通路速度和可靠性的?

答:

廉價磁盤備援陣列RAID是利用一台磁盤陣列控制器,統一管理和控制一組(幾台到幾十台)磁盤驅動器,組成高度可靠快速大容量的磁盤系統。

作業系統将RAID中的一組實體磁盤驅動器看作一個單個的邏輯磁盤驅動器。使用者資料和系統資料可分布在陣列的所有磁盤中,并采取并行傳輸方式,大大減少資料傳輸時間和提高了可靠性。

22.在一級系統容錯技術中,包括哪些容錯措施?什麼是寫後讀校驗?

答:

一級系統容錯技術包括雙份目錄、雙份檔案配置設定表及寫後讀校驗等容錯措施。

寫後讀校驗是每次從記憶體緩沖區向磁盤寫入一個資料塊後,又立即從磁盤上讀出該資料塊,并送至另一緩沖區中,再将該緩沖區内容與記憶體緩沖區中在寫後仍保留的資料進行比較。若兩者一緻,才認為寫入成功,繼續寫下一個盤塊。否則重寫。若重寫後仍不一緻,則認為盤塊缺陷,便将應寫入該盤塊的資料,寫入到熱修複重定向區中。

23.在第二級系統容錯技術中,包括哪些容錯措施?畫圖說明之。

答:

第二級容錯技術包括磁盤鏡像和磁盤雙工兩種容錯措施。圖示如下:

26.何謂事務?如何保證事務的原子性?

答:

事務是用于通路和修改各種資料項的一個程式機關。

要保證事務的原子性必須要求一個事務在對一批資料執行修改操作時,要麼全部完成,用修改後的資料代替原來資料,要麼一個也不改,保持原來資料的一緻性。

27.引入檢查點的目的是什麼?引入檢查點後又如何進行恢複處理?

答:

引入檢查點的目的是使對事務記錄表中事務記錄的清理工作經常化。

恢複處理由恢複例程來實作。首先查找事務記錄表,确定在最近檢查點以前開始執行的最後的事務Ti。找到Ti後再傳回搜尋事務記錄表,找到第一個檢查點記錄,從該檢查點開始,傳回搜尋各個事務記錄,利用redo和undo 過程對他們進行相應的處理。

28.為何引入共享鎖?如何用互斥鎖或共享鎖來實作事務的順序性?

答:

引入共享鎖是為了提高運作效率。在給對象設定了互斥鎖和共享鎖的情況下,如果事務Ti要對Q執行讀操作,隻需獲得Q的共享鎖。如果對象Q已被互斥鎖鎖住,則Ti必須等待;否則便獲得共享鎖對Q執行讀操作。如果Ti要對Q 執行寫操作,則Ti還要獲得Q的互斥鎖。若失敗則等待;成功則獲得互斥鎖并對Q執行寫操作。

29.當系統中有重複檔案時,如何保證他們的一緻性?

答:

可以采用兩種方法:一是對所有的重複檔案進行同樣的修改,二是用新修改的檔案替換所有的重複檔案。

30.如何檢索盤塊号的一緻性?檢查時可能出現哪幾種情況?

答:

為了保證盤塊号的一緻性,先将計數器表中的所有表項初始化為0,用N 個空閑盤塊

号計數器組成的第一組計數器對從空閑盤塊表中讀出的盤塊号計數,用N 個資料盤塊号計數器組成的第二組計數器對從檔案配置設定表中讀出的已配置設定給檔案使用的盤快号計數。如果兩組計數中的對應資料互補則資料一緻,反之則發生錯誤。

檢查時可能出現的情況:

(1)兩組計數器中盤塊K 的計數值均為0,應在空閑盤塊表中增加盤塊号K;

(2)空閑盤塊号計數器中盤塊K 的計數值為2,應删除一個空閑盤塊号K;

(3)空閑盤塊号計數器中盤塊号K 的計數值為0,而資料盤塊号計數器中盤塊号K 的

計數值大于1,則錯誤嚴重,存在資料丢失等事件,必須立即報告系統加以處理。

補充 [4,6],17,24,25

第九章 作業系統接口

1.作業系統包括哪幾種類型的使用者接口?它們分别适用于哪種情況?

答:

作業系統包括四種類型的使用者接口:指令接口(分為聯機與脫機指令接口)、程式接口、圖形化使用者接口和網絡使用者接口。

指令接口和圖形化使用者接口支援使用者直接通過終端來使用計算機系統,程式接口提供給使用者在編制程式時使用,網絡使用者接口是面向網絡應用的接口。

2. 什麼是WIMP 技術? 它被應用到何種場合?

答:

WIMP 将視窗(Window )、圖示象技術等內建在一起,引入形象的各種圖示,将系統的各項功能、各種應用程式和檔案直覺、逼真地表示出來,形成一個圖文并茂的視窗操作環境。

GUI 采用了圖形化的操作界面,使用WIMP 技術。在有了GUI 後,在桌面上顯示了許多常用的圖示,每一個圖示對應于一個應用程式,使用者為了啟動相應的應用程式,已完全不用像以前那樣鍵入複雜的指令和檔案名,隻需輕按兩下指令的圖示即可。使用者還可以輕松地通過選擇視窗、菜單、對話框和滾動條,完成對他們的作業和檔案的各種控制與操作。由于GUI 的可視性,使許多日常任務更加直覺,再加上簡單的約定,使對計算機的操作變得非常容易。

3.聯機指令通常包含哪些類型?每種類型又包含哪些主要指令?

答:

聯機指令通常包含如下類型:

(1)系統通路類,主要是注冊指令login、password;

(2)磁盤操作類,包括磁盤格式化format、軟碟複制diskcopy、軟碟比較diskcomp及備份backup等指令;

(3)檔案操作類,包括檔案顯示type、檔案拷貝copy、檔案比較comp、檔案重命名rename、檔案删除erase等指令;

(4)目錄操作類,包括子目錄建立mkdir、目錄顯示dir、子目錄删除rmdir、目錄結構顯示tree、目前目錄改變chdir等指令;

(5)其它指令,包括輸入輸出重定向>、<,管道聯接|、過濾指令/,批指令.bat等。

4.什麼是輸入輸出重定向?試舉例說明。

答:

指令的輸入通常取自标準輸入裝置鍵盤,指令輸出則送往标準輸出裝置顯示終端。如果在指令中設定輸出定向“>”,其後接檔案或裝置名,則指令的結果輸出将送到指定檔案或裝置上;如果使用輸入重定向“<”,則不從鍵盤而是從重定向符右邊的指定檔案或裝置上取得輸入資訊。這就是輸入輸出的重定向。

5.何謂管道聯接?試舉例說明。

答:

管道聯接是指把第一個指令的輸出作為第二個指令的輸入,或把第二個指令的輸出作為第三條指令的輸入,以此類推,由兩條以上的指令可形成一條管道。在MS-DOS和UNIX中,都用"|"作為管道符号。其一般格式為:command1 |command2 | …|commandn。

6.為了将已存檔案改名,應用什麼UNIX 指令?

答:

對已存檔案改名的指令為mv,其格式為:mv oldname newname。

7.要想将工作目錄移到目錄樹的某指定點上,應利用什麼指令?

答:

用指令“cd …”或“cd .”将目前目錄上移或轉移,直到工作目錄移到目錄樹的指定點。

8.如果希望把file1的内容附加到原有的檔案file2的末尾,應用什麼指令?

答:

$catfile1>>file4

9.試比較mail和write指令的作用有何不同?

答:

mail指令作為UNIX 的多使用者之間非互動式通信的工具。write指令是使用者與目前系統

中的其他使用者直接進行聯機通訊的工具。

10.聯機指令接口由哪些部分構成?

答:

聯機指令接口由一組聯機指令、終端處理程式和指令解釋程式構成。

11.終端裝置處理程式的主要作用是什麼?它具有哪些功能?

答:

主要用于實作人機互動,它具有以下功能:

(1)接收使用者從終端上鍵入的字元;(2)字元緩沖,用于暫存接收的字元;(3)回送顯示;(4)螢幕編輯; (5)特殊字元處理。

12.指令解釋程式的主要作用是什麼?

答:

主要作用是:在螢幕上給出提示符,請使用者輸入指令,讀入并識别指令,轉至相應指令處理程式入口位址,把控制權交給該處理程式執行,最後将處理結果或出錯資訊送螢幕顯示。

13.試說明MS-DOS的指令處理程式COMMAND.COM的工作流程。

答:

COMMAND.COM的工作流程如下:

(1)系統通電或複位後,初始化程式對整個系統完成初始化工作,自動執行Autoexec.bat檔案,然後把控制權交給暫存部分,給出提示符等待接收使用者鍵入指令;

(2)暫存部分讀入鍵盤緩沖區中的指令,判别檔案名、擴充名及驅動器名是否正确,若有錯則出錯傳回,正确則查找和識别指令;

(3)若為内部指令,暫存部分找到後便從對應表項中獲得指令處理程式的入口位址并執行;若為外部指令,則建立指令行,執行系統調用exec裝入其指令處理程式,得到對應基位址并執行;若鍵入指令非法,則出錯傳回;

(4)指令完成後,控制權重新交給暫存部分給出提示符等待接收使用者指令,轉(2)。

15. 試舉例說明如何建立二又樹結構的指令行樹。

答:

(1)指令表型結點

Shell 指令解釋程式按指令行語句的結構順序進行檢查,每當遇到面的指令行所構成的指令樹如圖所示:

及分隔符時便為之建立一個指令表型結點,将分隔符左面部分構成該結點的左子樹,右面部分構成右子樹。例如下圖 指令表型結點及其左、右子樹

(2)管道檔案型結點

當Shell 指令解釋程式遇到管道算符“I ”時,先為之建立一個管道檔案型結點。再将分隔符左面部分構成該結點的左子樹,右面部分構成右子樹。例如對下面的指令行所構成的指令樹如圖所示:

圖 管道檔案型結點及其左、右子樹

(3)簡單指令型結點

對于簡單指令,在指令行中僅有一條指令,它是屬于可以立即執行的指令,系統無需為它建立二叉樹結構的指令行樹。當指令解釋程式讀入鍵盤緩沖區中的指令後,若判定它是簡單指令,再進一步确定是否是内部指令。Shell 解釋程式本身提供了内部指令的可執行程式,是以若是内部指令,Shell 便立即執行,此時Shell 也不需要為該指令建立新程序。如果不是内部指令也非特殊指令,Shell 将認為該指令是一個可執行檔案,于是将為它建立一個新程序,并作為Shell 的子程序執行,直到子程序運作完畢,又恢複Shell 運作。

16. 試比較一般的過程調用和系統調用?

答:

系統調用本質上是過程調用的一種特殊形式,與一般過程調用有差别:

(1)運作狀态不同。一般過程調用的調用過程和被調用過程均為使用者程式,或者均為系統程式,運作在同一系統狀态(使用者态或系統态);系統調用的調用過程是使用者态下的使用者程式,被調用過程是系統态下的系統程式。

(2)軟中斷進入機制。一般的過程調用可直接由調用過程轉向被調用過程;而系統調用不允許由調用過程直接轉向被調用過程,一般通過軟中斷機制,先進入作業系統核心,經核心分析後,才能轉向相應指令處理程式。

(3)傳回及重新排程。一般過程調用在被調用結束後,傳回調用點繼續執行;系統調用被調用完後,要對系統中所有運作程序重新排程。隻有當調用程序仍具有最高優先權才傳回調用過程繼續執行。

(4)嵌套調用。一般過程和系統調用都允許嵌套調用,注意系統過程嵌套而非使用者過程。

17.什麼是系統調用?它都有哪些類型?

答:

系統調用是指在作業系統核心設定的一組用于實作各種系統功能的子程式或過程,并提供給使用者程式調用。主要類型包括:

(1)程序控制類。用于程序建立、終止、等待、替換、程序資料段大小改變及程序辨別符或指定程序屬性獲得等;

(2)檔案操縱類。用于檔案建立、打開、關閉、讀/寫及檔案讀寫指針移動和屬性修改,目錄建立及索引結點建立等;

(3)程序通信類,用于實作通信機制如消息傳遞、共享存儲區及資訊量集機制等;

(4)資訊維護類,用于實作日期、時間及系統相關資訊設定和獲得。

18.如何設定系統調用所需的參數?

答:

設定系統調用參數包括兩種方式:

(1)直接将參數送入相應的寄存器中。問題是寄存器有限,限制了設定參數的數目。

(2)參數表方式。将系統調用所需參數,放入參數表中,再将該表指針放在寄存器中。

19.試說明系統調用的處理步驟。

答:

(1)設定系統調用号和參數。

(2)對系統調用指令的一般性處理。如保護CPU現場,PSW、PC、系統調用号、使用者棧指針及通用寄存器入棧,儲存使用者定義參數等。UNIX中執行CHMK 指令将參數表中的參數傳到User結構的U.U-arg()中;MS-DOS執行INT21軟中斷。

(3)根據系統調用入口表及具體系統調用指令轉至對應指令處理程式具體處理。

20.為什麼在通路檔案前,要用open系統調用先打開該檔案?

答:

系統将在使用者與該檔案之間建立一條快捷通路。在檔案被打開後,系統将給使用者傳回一

個該檔案的句柄或描述符。

21.在UNIX系統中是否設定了專門用來删除檔案的系統調用?為什麼?

答:

沒有。當使用者不再使用此檔案時,利用系統調用unlink斷開連接配接,做i.link減1操作。

當i.link減1結果為0,表示此檔案不再被使用者需要,該檔案将從檔案系統中删除。

22.在IPC軟體包中包含哪幾種通信機制?在每種通信機制中設定了那些系統調用?

答:

IPC 中提供了三種通信機制:

(1)消息機制。存在msgget,msgsend,msgrcv 系統調用。

(2)共享存儲器機制。存在shmget,shmid,shmdt 系統調用。

(3)信号量機制。無系統調用。

23. trap.S是什麼程式?它完成哪些主要功能?

答:

UNIX系統V 核心中的trap.S檔案,是中斷和陷入總控程式。用于中斷和陷入的一般

性處理,由彙編語言編寫。trap.S 中包含了絕大部分的中斷和陷入向量的入口位址,每當系統發生中斷和陷入時,通常都是直接進入trap.S程式。

24.在UNIX 系統内,被保護的CPU環境中包含哪些資料項?

答:

當使用者程式處在使用者态且執行CHMK (CHange Mode toKernel)之前,應在使用者空間提供系統調用所需參數表,并将參數表位址送入R0寄存器。執行CHMK指令後,處理機轉為核心态,由硬體自動将處理機狀态長字(PSL)、PC和代碼操作數(code)壓入使用者核心棧,從中斷和陷入向量表中取出trap.S入口位址,轉入trap.S中執行。

trap.S 程式執行後,将陷入類型type 和使用者棧指針usp壓入使用者核心棧,将被中斷程序的CPU環境中的一系列寄存器如R0~R11的部分或全部壓棧。哪些寄存器内容壓棧,取決于特定寄存器的屏蔽碼,屏蔽碼每一位都與R0~R11中的寄存器相對應。當某一位置1時,表示對應寄存器内容壓棧。

25. trap.C 是什麼程式?它将完成哪些處理?

答:

trap.C 程式是處理各種陷入情況的C 語言檔案,共處理12種陷入後的公共問題。包括:确定系統調用号、實作參數傳遞、轉入相應系統調用處理子程式。在由系統調用子程式傳回到trap.C後,重新計算程序的優先級,對收到的信号進行處理等。

26.為友善轉入系統調用處理程式,在UNIX系統中配置了什麼樣的資料結構?

答:

在UNIX系統中配置了系統調用定義表sysent[],在表的每個結構中包含三個元素,一是相應系統調用所需參數的個數;二是系統調用經寄存器傳送的參數個數;三是相應系統調用處理子程式的入口位址。系統中設定了該表之後,可根據系統調用号i從系統調用定義表中找出相應表目,按表目中的入口位址轉入相應處理子程式,完成系統調用的特定功能。執行完後,傳回中斷和陷入總控程式中的trap.C程式中,傳回斷點前的公共處理部分。

補充 14

14.shell指令有何特點?它對指令解釋程式有何影響

第十章 多處理機作業系統

第十一章 多媒體作業系統

第十二章 保護與安全

2.系統安全的複雜性表現在哪幾個方面?

答:(1)多面性:大規模系統存在多個風險點,每點都包括實體、邏輯及管理三方面安全。

(2)動态性:資訊技術不斷發展和攻擊手段層出不窮,系統安全問題呈現出動态性。

(3)層次性:系統安全涉及多方面且相當複雜的問題,需要采用系統工程方法解決。

(4)适度性:根據實際需要提供适度安全目标加以實作。

3.對系統安全性的威脅有哪幾種類型?

答:假冒身份、資料截獲、拒絕服務、修改僞造資訊、否認操作、中斷傳輸、通信量分析。

4.可信任計算機系統評價标準将計算機系統的安全度分為哪幾個等級?

答:該标準将計算機系統安全程度分為8級,有D1(安全度最低級)、C1(自由安全保護級)、

C2(受控存取控制級)、B1、B2、B3、A1、A2。

5.何謂對稱加密算法和非對稱加密算法?

答:對稱加密也叫私鑰加密,是指加密和解密使用相同密鑰的加密算法。加密密鑰能夠從解

密密鑰中推算出來,解密密鑰也能夠從加密密鑰中推算出來。在大多數對稱算法中,加密和

解密的密鑰相同,也稱為保密密鑰算法或單密鑰算法。

非對稱加密算法需要兩個密鑰:公鑰(publickey)和私鑰(privatekey)。公鑰與私

鑰配對,如果用公鑰加密資料,隻有用對應的私鑰才能解密。

6.什麼是易位法和置換算法?試舉例說明置換算法。

答:易位法是指按一定規則,重新安排明文中的比特或字元順序形成密文,而字元本身保持

不變。置換法是按照一定規則,用一個字元去置換另一個字元形成密文。

如:How are you?的每個字元用後面的字母代替就是Ipx bsf zpv?

7.試說明非對稱加密的主要特點。

答:非對稱加密算法複雜、安全性依賴于算法與密鑰,加密解密速度慢。對稱密碼體制隻有

密鑰,安全性就是密鑰的安全性,而非對稱加密有公鑰和私鑰,安全性更強。

8.試說明保密資料簽名的加密和解密方式。

答:(1)發送者A 可用自己的私用密鑰Kda對明文P進行加密,得到密文DKda(P)。

(2)A 再用B的公鑰Keb對DKda(P)加密,得到EKeb(DKda(P))後送B。

(3)B收到後,先用私鑰Kdb解密,得到DKda(EKeb(DKda(P)))=DKda(P)。

(4)B再用A的公鑰Kea 對DKda(P)解密,得到EKeb(DKda(P))=P。

9.數字證明書的作用是什麼?用一例來說明數字證明書的申請、發放和使用過程。

答:數字證明書又稱公鑰證明書,用于證明通信請求者的身份。

數字證明書的申請、發放和使用過程如下:

(1) 使用者 A 先向CA申請數字證明書,A 應提供身份證明和希望使用的公鑰A。

(2) CA 收到A 發來的申請報告後,若接受申請,便發給A 一份數字證明書,其中包括公鑰

A 和CA 發證者的簽名等資訊,并對所有資訊利用CA 私鑰加密(即對CA 進行數字簽名)。

(3) 使用者 A 在向B 發送資訊時,由A用私鑰對封包加密(數字簽名),連同證明書發給B。

(4) 為能對收到的數字證明書解密,使用者B須向CA申請獲得CA 的公鑰B。CA 收到使用者

B 的申請後,可決定将公鑰B發給使用者B。

(5) 使用者 B 利用CA 公鑰B 對數字證明書解密,确認該數字證明書系原件,并從數字證明

書中獲得公鑰A,并且确認該公鑰A系使用者A的密鑰。

(6) 使用者 B再利用公鑰A 對使用者A 發來的加密封包解密,得到用發來封包的真實明文。

10.可利用哪幾種方式來确定使用者身份的真實性?

答: (1)密碼密碼組合;(2)實體标志(3)生物标志 (4)公開密鑰

11.在基于密碼機制的身份認證技術中,通常應滿足哪些要求?

答:密碼長度适中 、自動斷開連接配接 、隐蔽回送顯示 、記錄和報告。

13.基于實體标志的認證技術又可細分為哪幾種?

答:主要有基于磁卡或IC卡的兩種認證技術 。

14.智能卡可分為哪幾種類型?這些是否都可用于基于使用者持有物的認證技術中?

答:智能卡分為存儲器卡、微處理器卡和密碼卡等類型。

存儲器卡沒有安全功能,不能用于基于使用者持有物的認證;微處理器卡和密碼卡采用了

加密措施,可以用于基于使用者持有物的認證。

15.被選用的生理标志應具有哪幾個條件?請列舉幾種常用的生理标志。

答:被選用的生理标志應具有三個基本條件,即足夠的可變性、穩定性好、不易僞裝。

常用的生理标志是指紋、視網膜組織、聲音、手指長度等。

16.對生物識别系統的要求有哪些?一個生物識别系統通常是有哪幾部分組成的?

答:對生物識别系統的要求有:性能滿足要求(抗欺騙和防僞防攻擊)、能被使用者接受、系

統成本适當。

一個生物識别系統通常由注冊和識别兩部分組成。注冊部配置設定有一張使用者系統資料庫,識别

部分要對使用者進行身份認證和生物特征識别。

23. 計算機病毒的特征是什麼?它與一般的程式有何差別?

答:計算機病毒的特征是寄生性、傳染性、隐蔽性和破壞性。

它與一般程式的差別是:病毒程式通常不是獨立的程式,具有自我複制和迅速傳播的傳

染性,想方設法隐藏自身,存在的基本目标就是破壞性。

25.什麼是檔案型病毒?試說明檔案型病毒對檔案的感染方式。

答:檔案型病毒是指采用寄生方式附着在正常程式裡,病毒發作時原來程式仍能正常運作,

以緻使用者不能及時發現而長期潛伏下來的病毒。

檔案型病毒對檔案的感染方式是主動攻擊和執行時感染的方式。

26.病毒設計者采取了哪幾種隐藏方式來讓病毒逃避檢測?

答:(1)隐藏于目錄和系統資料庫空間。 (2)隐藏于程式的頁内零頭裡。

(3)更改用于磁盤配置設定的資料結構。 (4)更改壞扇區清單。

27.使用者可采用哪些方法來預防病毒?

答:(1)定期在外存備份重要軟體和資料 (2)使用安全性高的作業系統

(3)使用正版軟體 (4)使用高性能反病毒軟體

(5) 不輕易打開來曆不明的電子郵件 (6)定期檢查外存并清除病毒

28.試說明基于病毒資料庫的病毒檢測方法。

答:(1)建立病毒資料庫 (2)掃描硬碟上的可執行檔案

另外

3.攻擊者可通過哪些途徑對軟體和資料進行威脅?

答:資料截獲,修改資訊,僞造資訊,中斷傳輸

7.試說明DES加密的處理過程。

答:分為四個階段:

第一階段,将明文分出64 位明文段,并做初始易位得到X0,左移32 位,記為L0,

右移32位,記為R0。

第二階段,對X0進行16次疊代,每一次用56位加密密鑰Ki。

第三階段,把經過16次疊代處理的結果的左32位與右32位互換位置。

第四階段,進行初始易位的逆變換。

11.何謂鍊路加密?其主要特點是什麼?

答:鍊路加密是對網絡相鄰節點間的通信線路上傳輸的資料的加密過程。特點是:

(1)相鄰節點間的實體信道上傳輸的封包是密文,在所有中間節點上的封包則是明文。

(2)對不同的鍊路分别采用不同的加密密鑰。

12.何謂端-端加密?其主要特點是什麼?

答:端-端加密是在源主機或前端機FEP高層(從傳輸層到應用層)對傳輸資料進行的加密。

特點:(1)整個網絡傳輸過程中的封包正文都是密文,資訊到達目标主機後才譯成明文。

(2)不能對報頭中的控制資訊加密,否則中間結點無法得知目标位址和控制資訊。

19.試詳細說明SSL所提供的安全服務。

答:SSL稱為安全套接層協定,用于提供Internet 上的資訊保密,身份認證服務,目前SSL

已成為利用公開密鑰進行身份認證的工業标準。

SSL 提供的安全服務有:申請數字證書(伺服器申請數字證書、客戶申請數字證書)

和SSL握手協定(身份認證、協商加密算法和協商加密密鑰)。

20.什麼是保護域?程序與保護域之間存在着什麼動态聯系?

答:保護域是程序對一組對象通路權的集合,規定了程序能通路對象和執行的操作。

程序與保護域之間的動态聯系是指程序的可用資源集在個生命周期中是變化的;程序運作在

不同的階段可以根據需要從一個保護域切換到另一個保護域。

21.試舉例說明具有域切換權的通路控制矩陣。

答:在通路矩陣中增加幾個對象,分别作為通路矩陣中的幾個域,當且僅當switch 包含在

access(i,j)時,才允許程序從域i切換到域j。例如在下圖中,域D1和D2對應的項目中有S,

故允許域D1中的程序切換到域D2 中,在域D2和D3 中也有S,表示D2 域中進行的程序

可切換到域D3中,但不允許該程序再從域D3傳回到域D1。

22.如何利用拷貝權來擴散某種通路權?

答:如果域i 具有對象j 的某通路權acess(i,j)的拷貝權,則運作在域i的程序可将其通路權

acess(i,j)擴充到通路矩陣同一列中的其它域,即為運作在其它域的程序也賦予關于同一對象

的同樣通路(acess(i,j))。

23.如何利用擁有權來增删某種通路權?

答:如果域i 具有關于對象j 的所有權,則運作在域i 的程序可以增删在j 列的任何項中的

任何通路權。或該程序可以增删在任何其它域中運作的程序關于對象j的任何通路權。

24.增加控制權的主要目的是什麼?試舉例說明控制權的應用。

答:控制權用于改變某個域中運作程序關于不同對象的通路權。若某域通路權access(i,j)

中含有控制權C,則運作在Di 域中的程序能改變運作在Qj 域中的任何程序關于任何對象

的任何通路權。

25.什麼是通路控制表?什麼是通路權限表?

答:通路控制表是指對通路矩陣按列劃分,為每列建立一張通路控制表ACL,由有序對(域,

權集)組成,用來保證系統安全性的一種手段。

通路權限表是指對通路矩陣按行劃分,由每行構成一張通路權限表。

26.系統如何利用通路控制表和通路權限表來實作對檔案的保護?

答:當程序第一次試圖通路一個對象時,必須先檢查通路控制表,檢視是否有權通路該對象。

如果無則拒絕通路,并構成一個例外異常事件;否則便允許通路,并為之建立通路權限,以

便快速驗證其通路的合法性。當程序不再通路該對象時便撤銷該通路權限。

27.什麼是病毒?它有什麼樣的危害?

答:病毒是編制或者在計算機程式中插入的破壞計算機功能或資料,影響計算機系統使用并

且能夠自我複制的一組計算機計算機指令或程式代碼。

計算機病毒的危害:占用系統空間、占用處理機時間、破壞檔案、使機器運作異常。

另外

第八章網絡作業系統

1.按網絡拓撲結構可以把計算機網絡分為哪幾類?試畫出它們的網絡拓撲圖。

答:計算機網絡可分為星形、環形、總線形、樹形和網狀形網絡。它們的網絡拓撲圖如下:

2.試說明分組交換網的組成。

答:由分組交換機、網路管理中心、遠端集中器、分組裝拆裝置以及傳輸裝置等組成。

3.何謂幀交換方式及信元交換方式?

答:幀交換方式是在傳統分組交換的基礎上發展起來的,傳輸基本機關是幀,長度可變,采

用“存儲轉發”方式,即幀交換器每接到一個新幀時,都将該幀送幀緩沖區排隊,按照該幀

中的目标位址,将該幀轉發給相應路徑的下一個幀交換器。

信元交換方式是改進了的幀中繼交換方式。當源幀交換器收到使用者裝置發來的幀,便分

割為多個定長信元,在整個幀中繼器網絡中傳輸和交換時,都以信元為基本機關,到達目标

幀交換器後,被重組為幀。

4.區域網路可分為基本型和快速型兩大類,每一類中包括哪幾種區域網路?

答:基本型區域網路有:(1)以太網(2)令牌環網

快速區域網路有: (1)FDDI光纖環網(2)快速以太網100 BASE-T。

5.為實作同構LAN網絡互連,應采用什麼樣的網絡互連裝置?應具有哪些功能?

答:同構LAN 網絡互連裝置與功能:

(1) 網橋。功能:幀的發送和接受、緩沖處理、協定轉換。

(2) 路由器。功能:拆包和打包、路由選擇、協定轉換、分段和重組

6.為實作異構型網絡互連,應采用什麼樣的網絡互聯裝置?它又應具有哪些功能?

答:采用網關。實作異構LAN 互連、LAN 與WAN互連、WAN 互連、LAN 與主機互連。

7.網絡層向傳輸層提供了哪兩類資料傳輸服務?試對它們做簡要的說明。

答:(1)資料包服務。發方網絡層從傳輸層接收封包,為它配上完整的目标位址,作為獨

立資訊機關傳送出去。資料包每經過一個中繼節點都根據當時當地情況,按一定算法選擇一

條最佳傳輸路徑轉發出去。采用資料包服務的收、發雙發無需建立連接配接。

(2)虛電路服務。通信前由源主機發送呼叫封包分組,包含源和目标主機的全網位址。

目标主機同意通信,便由網絡層在雙方間建立一條虛電路。在以後通信中隻需填上虛電路的

邏輯信道号;通信結束拆除該虛電路。

8.傳輸層所起的橋梁作用具體表現在哪幾方面?

答:(1)傳輸出錯率和建立連接配接的失敗率。(2)資料傳輸速率、吞吐量和傳輸時延。

(3)分段群組段功能。

9.TCP/IP模型中包含了哪幾個層次?簡要說明每個層次的主要功能。

答:TCP/IP模型中包含4個層次。

(1)應用層。對應于OSI高層,為使用者提供需要的服務。如FTP、Telnet、DNS等。

(2)傳輸層。對應于OSI傳輸層,為應用層實體提供端到端的通信功能。定義了面向

連接配接的TCP和無連接配接的使用者資料報協定UDP這兩個主要協定。

(3)網絡互聯層。對應于OSI網絡層,解決主機到主機的通信問題。有網際協定IP、

位址解析協定ARP、網際網路組管理協定IGMP和網際網路控制封包協定ICMP四個主要協定。

(4)網絡通路層。對應OSI的實體層和資料鍊路層。

10.網絡互聯層IP協定的主要作用是什麼?為什麼在有了IP協定之後還要配置TCP協定?

答:(1)IP 協定主要用于異構網絡間的互相連接配接和路由選擇。IP 提供的是不可靠、面向無

連接配接的資料報傳遞服務。

(2)TCP協定提供面向連接配接、可靠的端端通信機制。TCP比IP可以確定資料傳輸的

可靠性,即使網絡層出錯,TCP仍能正确控制建立連接配接、資料傳輸和連接配接釋放。

11.試說明在媒體通路控制MAC子層中,IEEE 802.2、IEEE802.3、IEEE 802.3u、IEEE

802.2z、IEEE 802.5、IEEE802.6都是些什麼标準?

答:IEEE 802.2是邏輯鍊路控制的标準。 IEEE 802.3是以太網的标準。

IEEE 802.3u 是以太網的标準。 IEEE 802.2z是以太網的标準。

IEEE 802.5是令牌環的标準。 IEEE 802.6是城域網的标準。

12.何謂網絡體系結構?OSI/RM由哪幾部分組成?

答:網絡體系結構是指通信系統的整體設計,為網絡硬體、軟體、協定、存取控制和拓撲提

供标準。OSI/RM 從低到高分七層:實體層、資料鍊路層、網絡層、傳輸層、會話層、表

示層、應用層。

13.什麼是網絡協定?扼要說明其所含的三要素。

答:網絡協定是為計算機網絡中進行資料交換而建立的規則、标準或約定的集合。

計算機網絡協定主要由語義、文法和交換規則三部分即協定三要素組成。

語義:規定通信雙方彼此講什麼,确定協定元素類型,如規定通信雙方發什麼控制資訊,

執行的動作和傳回的應答。

文法:規定通信雙方彼此如何講,确定協定元素格式,如資料和控制資訊的格式。

交換規則:規定資訊交流的次序。

14.ISO将OSI/RM分成幾層?各層的主要用途是什麼?

答:OSI/RM分7層。各層的主要用途是:

實體層:規定了網絡裝置間實體連接配接标準,在網絡裝置間透明地傳輸比特流。

資料鍊路層:提供相鄰節點間可靠的資料傳輸功能。

網絡層:在通信子網中進行路由選擇和通信控制。

傳輸層:提供兩個端系統間的可靠通信。

會話層:建立和控制兩個應用實體間的會話過程。

表示層:提供統一的網絡資料表示。

應用層:提供網絡使用者間的分布式應用環境(普通使用者)和應用開發環境(網絡程式員)。

15.客戶/伺服器模式得以廣泛流行的主要因素是什麼?

答:(1)子產品化與應用的分布特性 (2)充分利用資源,提高網絡效率

(3)便與系統維護,擴充性強 (4)并發特性

16…試說明客戶與伺服器之間的互動情況。

答:C/S 模式的兩層結構系統是:第一層在客戶機系統上結合表示與業務邏輯;第二層通

過網絡結合了資料庫伺服器。C/S 模式主要由客戶應用程式、伺服器管理程式和中間件三

部分組成。

17.兩層C/S模式有哪些局限性?如何解決?

答:(1)不能适應應用不斷增多的情況。

(2)需要在客戶機與伺服器上安裝特定的網絡軟體,實作C/S間的互用性。

(3)客戶機直接與伺服器互動。

解決辦法:設法使C 與提供資料等服務的S無關,在C/S間增設中間實體。

18.為什麼在大型資訊系統和Internet環境下,應采用三層客戶/伺服器模式?

答:因為Internet 發展極為迅速,三層客戶/伺服器模式更适合發展。把客戶機作為Web

浏覽器,進而形成了Web浏覽器、Web伺服器和資料庫伺服器三層的C/S 模式。

19.試比較兩層和三層的C/S模式。

答:三層與兩層模式相比的優點:(1)增加了系統的靈活性和可擴充性。

(2)簡化了客戶機,降低了系統費用。(3)使客戶機安裝、配置和維護更為友善。

三層的缺點:(1)軟體開發難度大,開發周期長。(2)通路效率低。

20.現代計算機網絡有哪些主要功能。

答:計算機網絡的主要功能是資料通信和資源共享、系統容錯、網絡管理、應用互操作功能。

21.試說明在層次式結構的網絡中進行資料通信時,資訊的流動過程。

答:請求資訊從客戶機到應用伺服器,再到資料伺服器,然後資料伺服器根據要求向應用服

務器傳送資訊,再由應用伺服器找到客戶機。

22.為實作資料通信,計算機網絡應有哪些具體功能?

答:連接配接的建立和拆除、封包的分解群組裝、傳輸控制、流量控制、差錯檢測與糾正。

23.試說明目前實作檔案和資料共享的兩種主要方式。

答:以虛拟軟碟方式和以檔案服務方式實作的資料共享方式。

24.網絡管理的主要目标是什麼?

答:A.增強網絡的可用性。 B.提高網絡運作品質。 C.提高網絡資源使用率。

D.保障網絡的安全性 E.提高網絡和社會經濟效益。

25.網絡管理包括哪幾方面的具體功能?

答:配置管理、故障管理、性能管理、安全管理、計費管理。

26.何謂資訊“互通性”和資訊“互用性”?

答:資訊的互通性是指在不同網絡結點間實作通信。目前主要利用TCP/IP實作資訊互通。

資訊的互用性是指在不同網絡中的站點間實作資訊的互用,即一個網絡中的使用者能通路另一

個網絡檔案系統或資料庫系統中的檔案或資料。

27.何謂電子郵件?它可分為哪幾種類型?

答:電子郵件E-mail,标志@,又稱電子信箱、電子郵政,是用電子手段提供資訊交換的通

信方式。電子郵件伺服器分為兩種類型,MIME 協定和SMTP 協定。現代E-mail 中可包

含多種不同類型的檔案,如文本、圖像、音頻和視訊資訊等。

28.檔案傳輸的複雜性表現在哪幾方面?如何解決?

答:異構網絡下的檔案傳輸,需要在Internet 中建立了統一的檔案傳輸協定FTP。

(1)内部使用者FTP。隻允許在檔案伺服器上擁有賬戶的使用者使用FTP服務。

(2)匿名FTP。在Internet 上實作資源共享的重要手段,允許非注冊使用者拷貝檔案。

29.試比較電子郵件服務和檔案傳輸服務。

答:電子郵件服務借助于E-mail設施與世界上所有國家和地區的網絡使用者通信。

檔案傳輸服務是在Internet 中建立統一的檔案傳輸協定FTP,實作使用者在不同主機間

的檔案拷貝功能。

30.網絡環境下的目錄服務有何特點?

答:規模小的區域網路不需要提供目錄服務,對于大型企業網必須對網絡管理者和使用者提供目

錄服務,發揮網絡的應有作用。目錄服務還應能對每台實體裝置提供的網絡服務進行管理。

對伺服器提供的網絡服務可以是檔案/列印服務、資料庫服務等。

  1. 目錄服務包括哪些主要功能?

答:(1)使用者管理。保證核準使用者能友善地通路各種網絡服務,禁止非法使用者通路。

(2)分區和複制。将龐大目錄庫分成若幹個分區,并分别複制到多台伺服器,使每個

分區被複制的位置盡量靠近最常使用這些對象的使用者,有的目錄服務還允許一台伺服器上存

放多個不同分區的拷貝。

(3)建立擴充和繼承功能。建立是在目錄中建立新的對象,并設定屬性。擴充指對原

有目錄服務功能的擴充。繼承是指目錄對象繼承其他對象的屬性和權力的能力。

(4)多平台支援功能。由于目錄服務存在着管理對象的差異,要求具有跨越平台能力。

  1. Internet 具有哪些特征?

答:(1)廣域性 (2)廣泛性 (3)高速性(4)綜合性

33.何謂WWW?它與一般的資訊檢索工具有何不同?

答:WWW(Word Wide Web)稱為網際網路或Web,是目前最為流行的資訊服務類型。

它與一般資訊檢索工具不同表現在:一般檢索工具每次隻能從一台主機上查找需要的檔案,

且檔案資料類型單一;而Web檢索可以一次從多台主機中查找需要的資料,允許類型各異,

并将這些資料形成一份檔案。

34.何謂BBS?它何以會受到廣大網絡使用者的歡迎?

答:BBS(Bulletin BoardSystem)即電子公告闆。BBS使用者已經擴充到各行各業,BBS

可以交換各種檔案。通過BBS系統可随時取得國際最新軟體及資訊,可以和别人讨論計算

機軟體、硬體、Internet、多媒體、程式設計以及醫學等各種有趣話題,可以利用BBS刊登

征友、廉價轉讓及公司産品等啟事。隻要擁有1 台計算機和上網裝置就能立刻進入“逾時

代”BBS領域,享用它無比的威力!是以BBS 受到了廣大網絡使用者的歡迎。

35.什麼是域名服務?Internet的域名是由幾段構成的?

答:域名是Internet 網絡上的一個伺服器或一個網絡系統的名字。域名的形式是以若幹個

英文字母和數字組成,由"."分隔成幾部分,如cctv.com就是一個域名。

一個完整的域名由兩個或兩個以上詞段組成,部分之間用英文句号".“分隔,最後一個”."的

右邊部分稱為頂級域名(TLD)或一級域名,最後一個"."的左邊部分稱為二級域名(SLD),

二級域名的左邊部分稱為三級域名,以此類推,每一級的域名控制它下一級域名的配置設定。

36.什麼是域名解析?最基本的一種域名解析方式是如何實作的?

答:域名解析是将域名重新轉換為對應IP位址的過程。一個域名隻對應一個IP位址,多個

域名可以同時解析到一個IP位址。域名解析需要由專門的域名解析伺服器DNS完成。

域名解析的過程:當應用過程需要将一個主機域名映射為IP 位址時,就調用域名解析函數

将待轉換的域名放在DNS 請求中,以UDP 封包方式發給本地域名伺服器。查到域名後将

對應IP 位址放在應答封包中傳回。若域名伺服器不能回答該請求,則此域名伺服器向根域

名伺服器送出請求解析,找到下面的所有二級域名伺服器,以此類推,直到查詢到所請求的

域名并賦IP值傳回。

37.為能支援Internet所提供的服務,在作業系統中應配置哪些軟體?

答:應配置WEB 浏覽器,如IE、firefox、Chrome等,特殊的服務可以根據需要安裝對

應的軟體。

38.何謂浏覽器/伺服器模式?浏覽器和伺服器的基本功能是什麼?

答:浏覽器/伺服器模式即B/S 結構或Browser/Server 結構。隻安裝維護一個伺服器

Server,用戶端采用浏覽器Browse 軟體。利用成熟的WWW技術,結合多種Script語言

(VBScript、JavaScript…)和ActiveX技術,是全新的軟體系統構造技術。

在B/S體系結構系統中,浏覽器向分布在網絡上的許多伺服器送出請求,伺服器對浏覽器

的請求進行處理,将使用者所需資訊傳回到浏覽器。而資料請求、加工、結果傳回及動态網頁

生成、資料庫通路和應用程式執行等工作全部由Web Server完成。随着Windows将浏覽

器技術植入作業系統内部,這種結構已成為當今應用軟體的首選體系結構。

B/S 結構的主要特點是分布性廣、維護友善、開發簡單、共享性強、總體成本低。但資料

安全性、伺服器要求高、資料傳輸慢、軟體個性化特點明顯降低,難以實作傳統模式下的特

殊功能要求。

浏覽器是指可以顯示網頁伺服器或者檔案系統的HTML 檔案内容,并讓使用者與這些檔案

互動的一種軟體。伺服器是網絡上為用戶端計算機提供各種服務的高可用性計算機。

另外

1.UNIX系統具有哪些特征?

答:開放性、多使用者多任務環境、功能強大高效、豐富網絡功能、支援多處理器。

2.試說明UNIX系統的核心結構。

答:UNIX 核心結構分四層:最底層是硬體,次底層是OS 核心,第二層是OS 與使用者接口

shell及編譯程式等,最高層是應用程式。

3.UNIX系統中的PCB含哪幾部分?用圖說明各部分之間的關系。

答:UNIX 系統中的PCB含程序表項、U區、系統區表、程序區表。

4.程序映像含哪幾部分?其中系統級上、下文動态部分的作用是什麼?

答:程序映像含使用者上下文、寄存器上下文、系統級上下文。

系統級上下文動态部分的作用是當因中斷或系統調用進入核心狀态時,核心把一個寄存

器上下文壓入核心棧,退出系統調用時,核心又彈出寄存器上下文,在上下文切換時,核心

将壓入老程序的上下文,彈出新程序的上下文。

5.在UNIX系統中用于程序控制的主要系統調用有哪些?它們各自的主要功能是什麼?

答:用于程序控制的主要系統調用有:

(1)fork系統調用:用于建立新程序

(2)exit系統調用:實作程序自我終止

(3)exec 系統調用:改變程序原有代碼

(4)wait 系統調用:将調用程序挂起并等待子程序終止

6.為建立一個新程序,須做哪些工作?

答:為新程序配置設定一個程序表項和程序标志符;檢查同時運作的程序數目;拷貝程序表項中

的資料;子程序繼承父程序的所有檔案;為子程序建立程序上下文;子程序執行。

7.為何要采取程序自我終止方式?如何實作exit?

答:為了及時回收程序占用的資源,在程序任務完成後應盡快撤銷。Unix 核心用exit 實作

程序的自我終止。父程序在建立子程序時,應在子程序末尾安排exit使子程序能自我終止。

實作 exit的具體操作是:關閉軟中斷、回收資源、寫記賬資訊和置程序為僵死狀态。

8.在UNIX系統中采用了何種排程算法?如何确定程序的優先數?

答:UNIX 系統采用動态優先數輪轉的程序排程算法。優先數确定公式:

優先數 =(最近使用CPU的時間/2)+基本使用者優先數

9.在進入sleep過程後,核心應做哪些處理?

答:進入sleep過程後,核心首先儲存進入睡眠時的處理機運作級,提高處理機的運作優先

級屏蔽所有中斷,将該程序置為睡眠狀态,将睡眠位址儲存在程序表項中,将該程序放入睡

眠隊列。如果程序的睡眠不可中斷,在程序上下文切換後,程序便安穩睡眠。當程序被喚醒

并被排程執行,将恢複處理機的運作級為進入睡眠時的值,此時允許中斷處理機。

10.試說明信号與中斷兩種機制間的異同處。

答:不同點:中斷有優先級,而信号沒有,所有信号皆平等;信号處理程式在使用者态運作,

而中斷處理程式是在核心态運作;還有中斷響應及時,而信号響應通常都是延時的。

相同點:都采用異步通信方式;當檢測出信号或中斷請求時都暫停正在執行的程式而轉

去執行相應的處理程式;都在處理完畢傳回到原來斷點;對信号或中斷都可進行屏蔽。

11.扼要說明信号機制中信号的發送和對信号的處理功能。

答:信号發送是指由發送程序把信号送到目标程序的proc 結構中信号域的某一位上。

對信号的處理功能:首先利用系統調用signal(sig,func)預置對信号的處理方式,

func=1時屏蔽該類信号;func=0時,程序收到信号後終止自己;func為非0非1時,func

值作為信号處理程式的指針,系統從核心态轉為使用者态并執行相應的處理程式,處理完畢再

傳回使用者程式的斷點處。

12.什麼是管道?無名管道和有名管道的主要差别是什麼?

答:管道是指能連接配接寫程序和讀程序,并允許它們以生産者消費者方式進行通信的一個共享

檔案或pipe 檔案。無名管道是個臨時檔案,是利用系統調用pipe()建立起來的無路徑名

檔案,隻有調用pipe 的程序及其子孫程序才能識别此檔案描述符而利用該檔案(管道)進

行通信;有名管道是利用mknod 系統調用建立的、可以在檔案系統中長期存在的有路徑名

檔案,其它程序可以知道其存在,并利用該路徑名通路的檔案。

13.在讀、寫管道時,應遵循哪些規則?

答:(1)對pipe 檔案大小的限制

(2)程序互斥

(3)程序寫管道時在管道空間上滿足生産者操作規則

(4)程序讀管道時在管道空間上滿足消費者操作規則

14.在消息機制中有哪些系統調用?說明它們的用途。

答:在消息機制中的系統調用是msgctl( )、msgsnd( )、msgrcv( )。

msgctl( )系統調用于指定的消息隊列進行操縱。

msgsnd( )系統調用來發送消息。

msgrcv( )系統調用從指定消息隊列中讀取一個消息。

15.在共享存儲機制中有哪些系統調用?扼要說明它們的用途

答:在共享存儲機制中的系統調用有shmget() 、shmctl()、shmat()。

shmget( )用于建立一塊共享存儲區,提供該區名字key和共享存儲區長度size等參數。

shmctl( )系統調用于查詢共享存儲區的狀态資訊。

shmat( )系統調用于将該共享存儲區附接到使用者給定的某個程序虛位址shmaddr上,

并指定該存儲區的通路屬性是隻讀還是可讀可寫。

16.核心在執行shmget系統調用時需完成哪些工作?

答:(1)檢查共享存儲區表,若找到key 表項,表明該區已建立,傳回共享區描述符shmid;

(2)若未找到指定key 表項,而flag 标志為IPC_CREAT 且參數size值在系統限制值

内,則配置設定一系統空閑區作為共享區的頁表區,配置設定相應的記憶體塊,将這些塊号填入頁表中;

(3)核心在共享存______xîÿl/___儲區和系統區表中,為建立立的共享區配置設定一空表項,并填上存儲區

的關鍵字及大小、共享區頁表始址,指向系統區表項指針等,最後傳回共享區描述符shmid。

17.在信号量機制中有哪些系統調用?說明它們的用途。

答:在信号量機制中的系統調用是senget( )和semop( )。semget()用于使用者建立信号量集。

semop( )用來對信号量集進行操作。

18.核心是如何對信号量進行操作縱的?

答:核心根據sem_op改變信号量的值,分3 種情況:

若sem_op值為正,則将其值加到信号量值上,相當于V 操作;若sem_op值為負,

相當于P 操作,若信号量值大于操作值的絕對值,則核心将一個負整數加到信号量值上,

否則核心将已操作的信号量恢複到系統調用開始時的值;若(sem_flg&IPC_NOWAIT)為真,

便立即傳回,否則讓程序睡眠等待.。

19.為實作請求調頁管理,在UNIX系統中配置了那些資料結構?

答:UNIX 系統V 将程序的每個區分為若幹個虛頁,這些虛頁可以配置設定到不鄰接的頁框中,

為此設定了一張頁表。其中每個表項中,記錄了每個虛頁和頁框的對照關系。

20.當通路的缺頁是在可執行檔案上或在對換裝置上時,應如何将它們調入記憶體?

答:(1)缺頁在可執行檔案上。如果欲通路虛頁對應磁盤塊描述表項類型是file,表示該缺

頁尚未運作,其拷貝在可執行檔案中,核心應将該頁調入記憶體。調入過程是:根據對應系統

區表項中的索引結點指針,找到該檔案的索引節點,把該頁的邏輯塊号作為偏移量,查找索

引結點中的磁盤塊号表,找到磁盤塊号,将該頁調入記憶體。

(2)缺頁在對換裝置上。核心先為缺頁配置設定一記憶體頁,修改該頁表項,指向記憶體頁,并将

頁面資料表項放入相應散列隊列中,把該頁從對換裝置上調入記憶體,當I/O操作完成時,核心把請求調入該頁的程序喚醒。

21.在将一頁換出時,可分成哪幾種情況?應如何處理這些情況?

答:分三種情況:(1)若在對換裝置上有被換出頁的拷貝,内容未改,則核心隻将該頁頁

表項中的有效位清零,将引用計數減1,将該頁框資料表項放入空閑連結清單中。

(2)若在對換裝置上沒有換出頁的拷貝,則将該頁寫到對換裝置上。先将所有要換出頁鍊

入到待換出頁面鍊上。當鍊上頁面數達到規定值時才将這些頁面寫到對換區中。

(3)在對換裝置上有換出頁副本,但頁内容已修改,核心應釋放該頁在對換裝置上原占有

的空間,再重新将該頁拷貝到對換裝置上,使拷貝内容最新。

22.如何對字元緩沖區進行配置設定與回收?

答:在字元裝置進行I/O 時,核心利用getcf過程從空閑字元緩沖區隊列中取得空閑緩沖區,

若隊列空,則無緩沖區可配置設定,傳回;否則從隊首取得一個空閑緩沖區,把該緩沖區指針

bp返給調用者。采取互斥通路措施,在過程開始處将處理機優先級提升為6,在取得空緩沖

區之後再恢複處理機的優先級。

當不再需要緩沖區時,調用putcf 過程釋放緩沖區。輸入參數是指向已不再需要的緩沖

區指針bp,把該緩沖區送回到空閑緩沖區隊列的隊首指針cfreelist指向的頭部。此時若有申

請空緩沖區而阻塞的程序,則喚醒它。對空閑緩沖區隊列的通路應互斥進行。

23.試說明盤塊緩沖區的組成和盤塊緩沖池的構成。

答:UNIX系統的每一個盤塊緩沖區均有兩部分:一是用于存放資料的資料緩沖區;另一部

分是緩沖控制塊,用于存放對應緩沖區的管理資訊。

盤塊緩沖池結構:(1)空閑連結清單(2)散列隊列。

24.getblk()和getblk(dev,blkno)程序的主要差別是什麼?

答:getblk()用于從空閑緩沖區隊列中獲得任意空閑緩沖區。getblk(dev,blkno)用于為指

定裝置dev 和盤塊号為blkno 的盤塊申請一個緩沖區。僅當要把資料寫入特定盤塊的内容

不在緩沖區時,才調用getblk過程配置設定一個空緩沖區。

25.試說明gdopen、gdstart、gdstartegy和gdintr過程的主要功能。

答:gdopen用于打開磁盤驅動器,輸入參數是裝置号,無輸出參數。

gdstart 用于裝配磁盤控制器中的各個寄存器,然後啟動磁盤控制器。

gdstartegy 把指定緩沖首部排在磁盤控制器I/O 隊列末尾,并啟動磁盤控制器。

gdintr用于磁盤I/O傳送完成并發出中斷請求時的磁盤中斷處理過程。

26.在UNIX系統中設定了哪些讀和寫過程?兩者的主要差別是什麼?

答:讀過程有一般讀過程bread和提前讀過程breada。

寫過程有一般寫過程bwrite、異步寫過程bawrite和延遲寫過程bdwrite。

27.試說明UNIX檔案系統的特點?

答:A.檔案系統的組織是分級樹形結構形式B.檔案的實體結構為混合索引式檔案結

C.采用成組連結法管理空閑盤塊。D.引入了索引結點的檔案檢索技術。

28.在UNIX系統中的檔案實體結構采用了何種形式?試舉例說明。

答:UNIX 檔案實體結構采用混合索引式檔案結構。

在查找檔案時,隻要找到了檔案的索引結點,用直接或間接尋址方式獲得該檔案的盤塊。

29.在UNIX系統中如何将檔案的邏輯塊号轉換為實體盤塊号?

答:尋址方式不同,轉換方法也不同。

(1)直接尋址,僅當檔案的邏輯塊号不大于10時采用。如通路對象是位元組偏移量9999處的資料。則9999/1024=9餘783,則檔案邏輯塊号9,直接索引位址項i-addr(9)中的

塊号,其塊内偏移位址為783位元組處就是檔案的9999位元組處。

(2)一次間址,僅當檔案的邏輯塊号大于10而不大于10+256時采用。如通路對象是位元組偏移量18000處的資料。則18000/1024=17餘592,則邏輯塊号為10<17<10+256,需要通過一次間接索引方式。先從i-addr(10)中得到一次間址盤塊号,再将邏輯盤塊号減10,根據一次間址中的邏輯塊号得到間址塊号位址項的下标,再從中得到最終的實體盤塊号。這裡的邏輯盤塊号17,從i-addr(10)中得到的塊号設為428,則17-10=7就是一次間址号,其對應的盤塊号就是要找的實體盤塊号,塊内偏移位址為592處就是檔案的18000位元組處。

(3)多次間址,僅當檔案的邏輯塊号大于266而不大于64266時采用。如通路對象是字

節偏移量420000處的資料。則邏輯塊号為266<410<64266,通過二次間址索引。在

i-addr(11)中得到一次間址盤塊号,再将邏輯盤塊号減266,根據一次間址中的邏輯塊号得

到間址塊号位址項的下标,再從中得到二次間址,再找到對應的實體塊号,塊内偏移位址

160處就是檔案的420000位元組處。

30.如何對磁盤索引節點進行配置設定與回收?

答:配置設定過程ialloc是:先檢查超級塊是否上鎖,檢索i 結點棧空否,從空閑i 結點編号棧

中配置設定一個i結點并初始化,填寫有關檔案屬性,配置設定記憶體i結點,将磁盤i結點總數減1,

并置超級塊修改标志後傳回。

回收過程ifree是:先檢查超級塊上鎖否;檢查i結點編号棧滿否;若i 結點編号棧未滿,

便使回收的i結點的編号進棧,并使目前空閑i 結點數加1;置超級塊修改标志後傳回。

31.何時需要構造目錄項?核心需完成哪些工作?

答:當使用者(程序)要建立新檔案時,核心便應在其父目錄檔案中構造一個目錄項;當某進

程需要共享另一使用者的某檔案時核心也将為共享該檔案的使用者建立一個目錄項。由系統調用

creat過程完成目錄項的構造。

32.何時需删除一個目錄項?核心須完成哪些工作?

繼續閱讀