5.(2003年)
有一個文件系統(tǒng),根目錄常駐內(nèi)存,如圖所示。目錄文件采用鏈接結(jié)構(gòu),假設(shè)每個目錄下最多允許建立60個文件或目錄(統(tǒng)稱為下級文件)。又假設(shè)每個磁盤塊最多可存放10個文件目錄項:如果下級文件是目錄文件,則上級目錄項指向該目錄文件的第一塊地址;
如果下級文件是普通文件,則上級目錄項指向該文件的FCB(文件控制塊)地址。假設(shè)圖中所示的文件目錄結(jié)構(gòu)中,文件或子目錄按自左向右的次序建立,而符號"…"表示尚有其他文件或子目錄未列出。
(1) 假設(shè)普通文件采用UNIX的三級索引結(jié)構(gòu),主索引表放在文件控制塊中。
①假設(shè)每個物理塊能存放128個地址(物理塊塊號),那么,普通文件的大小為多少塊?(3分)
②若要讀/A/D/G/I/K的第7461塊,系統(tǒng)最少啟動硬盤幾次,最多幾次?(6分)
(2) 若普通文件采用順序結(jié)構(gòu),若要讀/A/D/G/I/K的第285塊,最少啟動硬盤幾次,最多幾次?(6分)
(3) 為了打開文件,用戶給出文件名后,操作系統(tǒng)應(yīng)做哪些工作?(6分)
(4) 一般在文件系統(tǒng)中,為了加快文件目錄檢索速度(減少啟動硬盤的次數(shù)),可以采用什么方法?(9分)
答案:
(1) ①10+128+1282+1283塊
②最少啟動硬盤8次,最多啟動硬盤23次
(2) 最少啟動硬盤6次,最多啟動硬盤21次
(3) 打開文件時,用戶首先給出文件名,操作系統(tǒng)完成以下工作:
?、俨檎夷夸洠瑱z查文件是否存在,如不存在,則報告錯誤;
?、谌缭撐募嬖冢瑱z查操作的合法性,例如,若該文件為只讀文件,但用戶卻將"讀寫方?quot;置為寫,則系統(tǒng)不予打開;
③根據(jù)文件名在目錄文件中找到該文件的文件控制塊,把該文件的文件控制塊調(diào)入內(nèi)存。
(4).一般在文件系統(tǒng)中,為了加快文件目錄檢索速度,減少啟動硬盤的次數(shù),可以采用兩種方法。
?、僖?當(dāng)前目錄"。在一個多層次的樹形文件目錄結(jié)構(gòu)中,如果每次都從根結(jié)點開始檢索,很不方便,通常各目錄文件放在外存,故影響訪問速度,尤其是當(dāng)層次較多時檢索要耗費很多時間。為克服這一缺點,引入"當(dāng)前目錄"或稱"工作目錄"的概念。查找文件時可以從當(dāng)前目錄開始向下檢索。這樣檢索路徑縮短,檢索速度提高。
②采用"目錄項分解?quot;。一個文件控制塊一般要占很多空間,這樣一個目錄文件往往很大。在檢索目錄時,為了找到所需要的目錄項,常常要將存放目錄文件的多個物理塊逐塊讀入內(nèi)存進行查找,這就降低了檢索速度。可以利用目錄項分解法解決這一問題,即把目錄項(文件控制塊)分為兩部分:名號目錄項,包含文件名以及相應(yīng)的文件內(nèi)部號;基本目錄項,包含了除文件名外文件控制塊的其他全部信息。
6.(2004年)
在多道程序系統(tǒng)中,一組進程中的每一個進程均無限期的等待被該組進程中的另一進程所占有、且永遠不會釋放的資源,這種現(xiàn)象將導(dǎo)致系統(tǒng)處于死鎖狀態(tài)。試述:
(1)產(chǎn)生死鎖的原因是什么?(10分)
(2)產(chǎn)生死鎖的必要條件是什么?(10分)
(3)如何處理死鎖?(10分)
答案:
(1).產(chǎn)生死鎖的原因:一是系統(tǒng)提供的資源數(shù)量有限,不能滿足每個進程的使用(5分);二是多道程序運行時,進程推進順序不合理(5分).
(2)產(chǎn)生死鎖的必要條件是:
1)互斥條件(2.5分)
2)不剝奪條件(不可搶占)(2.5分)
3)部分分配(2.5分)
4)循環(huán)等待(2.5分)
(3)死鎖的處理:
1)死鎖的預(yù)防
2)死鎖的避免
3)死鎖的檢測
4)死鎖的解除
5)不做任何處理
(以上要點每答對1個給2.5分,答對4個及以上要點最多給10分
有一個文件系統(tǒng),根目錄常駐內(nèi)存,如圖所示。目錄文件采用鏈接結(jié)構(gòu),假設(shè)每個目錄下最多允許建立60個文件或目錄(統(tǒng)稱為下級文件)。又假設(shè)每個磁盤塊最多可存放10個文件目錄項:如果下級文件是目錄文件,則上級目錄項指向該目錄文件的第一塊地址;
如果下級文件是普通文件,則上級目錄項指向該文件的FCB(文件控制塊)地址。假設(shè)圖中所示的文件目錄結(jié)構(gòu)中,文件或子目錄按自左向右的次序建立,而符號"…"表示尚有其他文件或子目錄未列出。
(1) 假設(shè)普通文件采用UNIX的三級索引結(jié)構(gòu),主索引表放在文件控制塊中。
①假設(shè)每個物理塊能存放128個地址(物理塊塊號),那么,普通文件的大小為多少塊?(3分)
②若要讀/A/D/G/I/K的第7461塊,系統(tǒng)最少啟動硬盤幾次,最多幾次?(6分)
(2) 若普通文件采用順序結(jié)構(gòu),若要讀/A/D/G/I/K的第285塊,最少啟動硬盤幾次,最多幾次?(6分)
(3) 為了打開文件,用戶給出文件名后,操作系統(tǒng)應(yīng)做哪些工作?(6分)
(4) 一般在文件系統(tǒng)中,為了加快文件目錄檢索速度(減少啟動硬盤的次數(shù)),可以采用什么方法?(9分)
答案:
(1) ①10+128+1282+1283塊
②最少啟動硬盤8次,最多啟動硬盤23次
(2) 最少啟動硬盤6次,最多啟動硬盤21次
(3) 打開文件時,用戶首先給出文件名,操作系統(tǒng)完成以下工作:
?、俨檎夷夸洠瑱z查文件是否存在,如不存在,則報告錯誤;
?、谌缭撐募嬖冢瑱z查操作的合法性,例如,若該文件為只讀文件,但用戶卻將"讀寫方?quot;置為寫,則系統(tǒng)不予打開;
③根據(jù)文件名在目錄文件中找到該文件的文件控制塊,把該文件的文件控制塊調(diào)入內(nèi)存。
(4).一般在文件系統(tǒng)中,為了加快文件目錄檢索速度,減少啟動硬盤的次數(shù),可以采用兩種方法。
?、僖?當(dāng)前目錄"。在一個多層次的樹形文件目錄結(jié)構(gòu)中,如果每次都從根結(jié)點開始檢索,很不方便,通常各目錄文件放在外存,故影響訪問速度,尤其是當(dāng)層次較多時檢索要耗費很多時間。為克服這一缺點,引入"當(dāng)前目錄"或稱"工作目錄"的概念。查找文件時可以從當(dāng)前目錄開始向下檢索。這樣檢索路徑縮短,檢索速度提高。
②采用"目錄項分解?quot;。一個文件控制塊一般要占很多空間,這樣一個目錄文件往往很大。在檢索目錄時,為了找到所需要的目錄項,常常要將存放目錄文件的多個物理塊逐塊讀入內(nèi)存進行查找,這就降低了檢索速度。可以利用目錄項分解法解決這一問題,即把目錄項(文件控制塊)分為兩部分:名號目錄項,包含文件名以及相應(yīng)的文件內(nèi)部號;基本目錄項,包含了除文件名外文件控制塊的其他全部信息。
6.(2004年)
在多道程序系統(tǒng)中,一組進程中的每一個進程均無限期的等待被該組進程中的另一進程所占有、且永遠不會釋放的資源,這種現(xiàn)象將導(dǎo)致系統(tǒng)處于死鎖狀態(tài)。試述:
(1)產(chǎn)生死鎖的原因是什么?(10分)
(2)產(chǎn)生死鎖的必要條件是什么?(10分)
(3)如何處理死鎖?(10分)
答案:
(1).產(chǎn)生死鎖的原因:一是系統(tǒng)提供的資源數(shù)量有限,不能滿足每個進程的使用(5分);二是多道程序運行時,進程推進順序不合理(5分).
(2)產(chǎn)生死鎖的必要條件是:
1)互斥條件(2.5分)
2)不剝奪條件(不可搶占)(2.5分)
3)部分分配(2.5分)
4)循環(huán)等待(2.5分)
(3)死鎖的處理:
1)死鎖的預(yù)防
2)死鎖的避免
3)死鎖的檢測
4)死鎖的解除
5)不做任何處理
(以上要點每答對1個給2.5分,答對4個及以上要點最多給10分