第一篇:操作系統(tǒng)課后題答案
課本課后題部分答案 第一章
1.設(shè)計(jì)現(xiàn)代OS的主要目標(biāo)是什么?
答:(1)有效性(2)方便性(3)可擴(kuò)充性(4)開放性 2.OS的作用可表現(xiàn)在哪幾個(gè)方面?
答:(1)OS作為用戶與計(jì)算機(jī)硬件系統(tǒng)之間的接口(2)OS作為計(jì)算機(jī)系統(tǒng)資源的管理者(3)OS實(shí)現(xiàn)了對(duì)計(jì)算機(jī)資源的抽象
13.OS有哪幾大特征?其最基本的特征是什么?
答:并發(fā)性、共享性、虛擬性和異步性四個(gè)基本特征;最基本的特征是并發(fā)性。14.處理機(jī)管理有哪些主要功能?它們的主要任務(wù)是什么?
答:處理機(jī)管理的主要功能是:進(jìn)程管理、進(jìn)程同步、進(jìn)程通信和處理機(jī)調(diào)度; 進(jìn)程管理:為作業(yè)創(chuàng)建進(jìn)程,撤銷已結(jié)束進(jìn)程,控制進(jìn)程在運(yùn)行過程中的狀態(tài)轉(zhuǎn)換。進(jìn)程同步:為多個(gè)進(jìn)程(含線程)的運(yùn)行______________進(jìn)行協(xié)調(diào)。通信:用來實(shí)現(xiàn)在相互合作的進(jìn)程之間的信息交換。處理機(jī)調(diào)度:
(1)作業(yè)調(diào)度。從后備隊(duì)里按照一定的算法,選出若干個(gè)作業(yè),為他們分配運(yùn)行所需 的資源(首選是分配內(nèi)存)。
(2)進(jìn)程調(diào)度:從進(jìn)程的就緒隊(duì)列中,按照一定算法選出一個(gè)進(jìn)程,把處理機(jī)分配給 它,并設(shè)置運(yùn)行現(xiàn)場(chǎng),使進(jìn)程投入執(zhí)行。
15.內(nèi)存管理有哪些主要功能?他們的主要任務(wù)是什么?
北京石油化工學(xué)院信息工程學(xué)院計(jì)算機(jī)系3/48 《計(jì)算機(jī)操作系統(tǒng)》習(xí)題參考答案余有明與計(jì)07和計(jì)G09的同學(xué)們編著 3/48 答:內(nèi)存管理的主要功能有:內(nèi)存分配、內(nèi)存保護(hù)、地址映射和內(nèi)存擴(kuò)充。內(nèi)存分配:為每道程序分配內(nèi)存。
內(nèi)存保護(hù):確保每道用戶程序都只在自己的內(nèi)存空間運(yùn)行,彼此互不干擾。地址映射:將地址空間的邏輯地址轉(zhuǎn)換為內(nèi)存空間與對(duì)應(yīng)的物理地址。內(nèi)存擴(kuò)充:用于實(shí)現(xiàn)請(qǐng)求調(diào)用功能,置換功能等。16.設(shè)備管理有哪些主要功能?其主要任務(wù)是什么?
答:主要功能有: 緩沖管理、設(shè)備分配和設(shè)備處理以及虛擬設(shè)備等。
主要任務(wù): 完成用戶提出的I/O 請(qǐng)求,為用戶分配I/O 設(shè)備;提高CPU 和I/O 設(shè) 備的利用率;提高I/O速度;以及方便用戶使用I/O設(shè)備.17.文件管理有哪些主要功能?其主要任務(wù)是什么?
答:文件管理主要功能:文件存儲(chǔ)空間的管理、目錄管理、文件的讀/寫管理和保護(hù)。文件管理的主要任務(wù):管理用戶文件和系統(tǒng)文件,方便用戶使用,保證文件安全性。
第二章
1.什么是前趨圖?為什么要引入前趨圖?
答:前趨圖(Precedence Graph)是一個(gè)有向無循環(huán)圖,記為DAG(Directed Acyclic Graph),用于描述進(jìn)程之間執(zhí)行的前后關(guān)系。
2.畫出下面四條語句的前趨圖: S1=a:=x+y;S2=b:=z+1;S3=c:=a – b; S4=w:=c+1;答:其前趨圖為:
5.在操作系統(tǒng)中為什么要引入進(jìn)程概念?它會(huì)產(chǎn)生什么樣的影響? 答:為了使程序在多道程序環(huán)境下能并發(fā)執(zhí)行,并對(duì)并發(fā)執(zhí)行的程序加以控制和描述,在操 作系統(tǒng)中引入了進(jìn)程概念。
影響: 使程序的并發(fā)執(zhí)行得以實(shí)行。
7.試說明PCB 的作用,為什么說PCB 是進(jìn)程存在的惟一標(biāo)志?
答:PCB 是進(jìn)程實(shí)體的一部分,是操作系統(tǒng)中最重要的記錄型數(shù)據(jù)結(jié)構(gòu)。作用是使一個(gè)在 多道程序環(huán)境下不能獨(dú)立運(yùn)行的程序,成為一個(gè)能獨(dú)立運(yùn)行的基本單位,成為能與其它進(jìn)程 并發(fā)執(zhí)行的進(jìn)程。OS是根據(jù)PCB對(duì)并發(fā)執(zhí)行的進(jìn)程進(jìn)行控制和管理的。8.試說明進(jìn)程在三個(gè)基本狀態(tài)之間轉(zhuǎn)換的典型原因。答:(1)就緒狀態(tài)→執(zhí)行狀態(tài):進(jìn)程分配到CPU資源(2)執(zhí)行狀態(tài)→就緒狀態(tài):時(shí)間片用完(3)執(zhí)行狀態(tài)→阻塞狀態(tài):I/O請(qǐng)求(4)阻塞狀態(tài)→就緒狀態(tài):I/O完成
22.試寫出相應(yīng)的程序來描述圖2-17所示的前驅(qū)圖。
答:(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;2 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 第三章
第三章 處理機(jī)調(diào)度與死鎖
2.何謂作業(yè)、作業(yè)步和作業(yè)流?
答:作業(yè)包含通常的程序和數(shù)據(jù),還配有作業(yè)說明書。系統(tǒng)根據(jù)該說明書對(duì)程序的運(yùn)行進(jìn)行控制。批處理系統(tǒng)中是以作業(yè)為基本單位從外存調(diào)入內(nèi)存。
作業(yè)步是指每個(gè)作業(yè)運(yùn)行期間都必須經(jīng)過若干個(gè)相對(duì)獨(dú)立相互關(guān)聯(lián)的順序加工的步驟。作業(yè)流是指若干個(gè)作業(yè)進(jìn)入系統(tǒng)后依次存放在外存上形成的輸入作業(yè)流;在操作系統(tǒng)的控制下,逐個(gè)作業(yè)進(jìn)程處理,于是形成了處理作業(yè)流。5.試說明低級(jí)調(diào)度的主要功能。
答:(1)保存處理機(jī)的現(xiàn)場(chǎng)信息(2)按某種算法選取進(jìn)程(3)把處理機(jī)分配給進(jìn)程。8.在批處理系統(tǒng)、分時(shí)系統(tǒng)和實(shí)時(shí)系統(tǒng)中,各采用哪幾種進(jìn)程(作業(yè))調(diào)度算法? 答:批處理系統(tǒng)的調(diào)度算法:短作業(yè)優(yōu)先、優(yōu)先權(quán)、高響應(yīng)比優(yōu)先、多級(jí)反饋隊(duì)列調(diào)度算法。分時(shí)系統(tǒng)的調(diào)度算法:時(shí)間片輪轉(zhuǎn)法。
實(shí)時(shí)系統(tǒng)的調(diào)度算法:最早截止時(shí)間優(yōu)先即EDF、最低松弛度優(yōu)先即LLF算法。9.何謂靜態(tài)和動(dòng)態(tài)優(yōu)先級(jí)?確定靜態(tài)優(yōu)先級(jí)的依據(jù)是什么?
答:靜態(tài)優(yōu)先級(jí)是指在創(chuàng)建進(jìn)程時(shí)確定且在進(jìn)程的整個(gè)運(yùn)行期間保持不變的優(yōu)先級(jí)。
動(dòng)態(tài)優(yōu)先級(jí)是指在創(chuàng)建進(jìn)程時(shí)賦予的優(yōu)先權(quán),可以隨進(jìn)程推進(jìn)或隨其等待時(shí)間增加而改變的優(yōu)先級(jí),可以獲得更好的調(diào)度性能。
確定進(jìn)程優(yōu)先級(jí)的依據(jù):進(jìn)程類型、進(jìn)程對(duì)資源的需求和用戶要求。11.在時(shí)間片輪轉(zhuǎn)法中,應(yīng)如何確定時(shí)間片的大小?
答:時(shí)間片應(yīng)略大于一次典型的交互需要的時(shí)間。一般應(yīng)考慮三個(gè)因素:系統(tǒng)對(duì)相應(yīng)時(shí)間的 要求、就緒隊(duì)列中進(jìn)程的數(shù)目和系統(tǒng)的處理能力。
12.通過一個(gè)例子來說明通常的優(yōu)先級(jí)調(diào)度算法不能適用于實(shí)時(shí)系統(tǒng)?
答:實(shí)時(shí)系統(tǒng)的調(diào)度算法很多,主要是基于任務(wù)的開始截止時(shí)間和任務(wù)緊急/松弛程度的任務(wù)優(yōu)先級(jí)調(diào)度算法,通常的優(yōu)先級(jí)調(diào)度算法不能滿足實(shí)時(shí)系統(tǒng)的調(diào)度實(shí)時(shí)性要求而不適用。
13.為什么說多級(jí)反饋隊(duì)列調(diào)度算法能較好地滿足各方面用戶的需求?
答:(1)終端型作業(yè)用戶提交的作業(yè)大多屬于較小的交互型作業(yè),系統(tǒng)只要使這些作業(yè)在 3 第一隊(duì)列規(guī)定的時(shí)間片內(nèi)完成,終端作業(yè)用戶就會(huì)感到滿足。
(2)短批處理作業(yè)用戶,開始時(shí)像終端型作業(yè)一樣,如果在第一隊(duì)列中執(zhí)行一個(gè)時(shí)間片段即可完成,便可獲得與終端作業(yè)一樣的響應(yīng)時(shí)間。對(duì)于稍長作業(yè),通常只需在第二和第三隊(duì)列各執(zhí)行一時(shí)間片即可完成,其周轉(zhuǎn)時(shí)間仍然較短。
(3)長批處理作業(yè),它將依次在第1,2,?,n個(gè)隊(duì)列中運(yùn)行,然后再按輪轉(zhuǎn)方式運(yùn)行,用戶不必?fù)?dān)心其作業(yè)長期得不到處理。所以,多級(jí)反饋隊(duì)列調(diào)度算法能滿足多用戶需求。
18.何謂死鎖?產(chǎn)生死鎖的原因和必要條件是什么? 答:死鎖是指多個(gè)進(jìn)程在運(yùn)行過程中因爭(zhēng)奪資源而造成的一種僵局,當(dāng)進(jìn)程處于這種僵持狀 態(tài)時(shí),若無外力作用,它們都將無法再向前推進(jìn)。
產(chǎn)生死鎖的原因?yàn)楦?jìng)爭(zhēng)資源和進(jìn)程間推進(jìn)順序非法。其必要條件是:互斥條件、請(qǐng)求和 保持條件、不剝奪條件、環(huán)路等待條件。
19.在解決死鎖問題的幾個(gè)方法中,哪種方法最易于實(shí)現(xiàn)?哪種方法使資源利用率最高? 答:解決死鎖的四種方法即預(yù)防、避免、檢測(cè)和解除死鎖中,預(yù)防死鎖最容易實(shí)現(xiàn); 避免死鎖使資源的利用率最高。
20.請(qǐng)?jiān)敿?xì)說明可通過哪些途徑預(yù)防死鎖。
答:(1)擯棄“請(qǐng)求和保持”條件,就是如果系統(tǒng)有足夠資源,便一次性把進(jìn)程需要的所 有資源分配給它;
(2)擯棄“不剝奪”條件,就是已經(jīng)擁有資源的進(jìn)程,當(dāng)它提出新資源請(qǐng)求而不能立即 滿足時(shí),必須釋放它已保持的所有資源,待以后需要時(shí)再重新申請(qǐng);
(3)擯棄“環(huán)路等待”條件,就是將所有資源按類型排序標(biāo)號(hào),所有進(jìn)程對(duì)資源的請(qǐng)求 必須嚴(yán)格按序號(hào)遞增的次序提出。
21.在銀行家算法的例子中,如果P0發(fā)出請(qǐng)求向量由Request(0,2,0)改為Request(0,1,0),問系統(tǒng)可否將資源分配給它?
答:(1)可以。銀行家算法各種資源數(shù)量分別為10、5、7,在T0時(shí)刻的資源分配如圖所示:
(2)具體分析如下:
①Requst0(0,1,0)<=Need0(7,4,3);② Requst0(0,1,0)<=Available(2,3,0);系統(tǒng)先假定可為P0分配資源,并修改Available0,Allocation0和Need0向量,由此形成 的資源變化情況如下圖所示:
(3)P0請(qǐng)求資源:P0發(fā)出請(qǐng)求向量Requst0(0,1,0),系統(tǒng)按銀行家算法進(jìn)行檢查: ① Requst0(0,1,0)<=Need0(7,4,3);② Requst0(0,1,0)<=Available(2,3,0);③ 系統(tǒng)暫時(shí)先假定可為P0分配資源,并修改______________有關(guān)數(shù)據(jù),如下圖所示
綜上所述系統(tǒng)可以將資源分配給它。
22.銀行家算法中出現(xiàn)以下資源分配,試問(1)該狀態(tài)是否安全?(2)若進(jìn)程P2 提出 Request(1,2,2,2)后,系統(tǒng)能否將資源分配給它?
試問:(1)該狀態(tài)是否安全?
(2)若進(jìn)程P2提出請(qǐng)求Request(1,2,2,2)后,系統(tǒng)能否將資源分配給它? 答:(1)安全,因?yàn)榇嬖诎踩蛄衶P0,P3,P4,P1,P2}(2)系統(tǒng)能分配資源,分析如下。
① Request(1,2,2,2)<= Need2(2,3,5,6);② Request(1,2,2,2)<= Available2(1,3,5,4);
③ 系統(tǒng)先假定可為P2分配資源,并修改Available2,Allocation2和Need2向量,由此形成的資源變化情況如下圖所示:
④ 再利用安全性算法檢查此時(shí)系統(tǒng)是否安全。如下圖
由此進(jìn)行的安全性檢查得知,可以找到一個(gè)安全序列{P2,P0,P1,P3,P4}。
第四章
2.可采用哪幾種方式將程序裝入內(nèi)存?它們分別適用于何種場(chǎng)合? 答:(1)絕對(duì)裝入方式,只適用于單道程序環(huán)境。(2)可重定位裝入方式,適用于多道程序環(huán)境。
(3)動(dòng)態(tài)運(yùn)行時(shí)裝入方式,用于多道程序環(huán)境;不允許程序運(yùn)行時(shí)在內(nèi)存中移位置。17.分段和分頁存儲(chǔ)管理有何區(qū)別? 答:
(1)是信息的物理單位,分頁是為了實(shí)現(xiàn)離散分配方式,以消減內(nèi)存的外部零頭,提高內(nèi) 存利用率。段則是信息的邏輯單位,它含有一組相對(duì)完整的信息。
(2)頁的大小固定且由系統(tǒng)決定,由系統(tǒng)把邏輯地址劃分為頁號(hào)和頁內(nèi)地址兩部分,是由 機(jī)械硬件實(shí)現(xiàn)的,因而在系統(tǒng)中只能有一種大小的的頁面;而段的長度卻不固定,決定于用戶 所編寫的程序,通常由編譯程序在對(duì)原程序進(jìn)行編譯時(shí),根據(jù)信息的性質(zhì)來劃分。(3)分頁的作業(yè)地址空間是一維的,而分段作業(yè)地址空間則是二維的。19.虛擬存儲(chǔ)器有哪些特征?其中最本質(zhì)的特征是什么?
答:虛擬存儲(chǔ)器有多次性、對(duì)換性、虛擬性三大特征。最本質(zhì)的特征是虛擬性。20.實(shí)現(xiàn)虛擬存儲(chǔ)器需要哪些硬件支持?
答:(1)請(qǐng)求分頁(段)的頁(段)表機(jī)制(2)缺頁(段)中斷機(jī)構(gòu)(3)地址變換機(jī)構(gòu) 21.實(shí)現(xiàn)虛擬存儲(chǔ)器需要哪幾個(gè)關(guān)鍵技術(shù)? 答:
(1)在分頁請(qǐng)求系統(tǒng)中是在分頁的基礎(chǔ)上,增加了請(qǐng)求調(diào)頁功能和頁面置換功能所形成的 頁式虛擬存儲(chǔ)系統(tǒng)。允許只裝入少數(shù)頁面的程序(及數(shù)據(jù)),便啟動(dòng)運(yùn)行。
(2)在請(qǐng)求分段系統(tǒng)中是在分段系統(tǒng)的基礎(chǔ)上,增加了請(qǐng)求調(diào)段及分段置換功能后形成的 段式虛擬存儲(chǔ)系統(tǒng)。允許只裝入少數(shù)段(而非所有段)的用戶程序和數(shù)據(jù),即可啟動(dòng)運(yùn)行。25.在請(qǐng)求分頁系統(tǒng)中,通常采用哪種頁面分配方式?為什么?
答:固定分配方式是基于進(jìn)程的類型(交互型)或根據(jù)程序員、系統(tǒng)管理員的建議,為每個(gè)進(jìn) 6 程分配固定頁數(shù)的內(nèi)存空間,整個(gè)運(yùn)行期間不再改變;采用可變分配方式有全局置換和局部置換兩種,前者易于實(shí)現(xiàn),后者效率高。26.在一個(gè)請(qǐng)求分頁系統(tǒng)中,采用LRU 頁面置換算法時(shí),假如一個(gè)作業(yè)的頁面走向?yàn)?4 , 3 , 2 ,1 , 4 , 3 , 5 , 4 ,3 , 2 , 1 ,5,當(dāng)分配給該作業(yè)的物理塊數(shù)M分別為3和4時(shí),試計(jì)算訪問過程中所發(fā)生的缺頁次數(shù)和缺頁率 ? 比較所得結(jié)果 ? 答:當(dāng)分配給該作業(yè)的物理塊數(shù)M為3時(shí),缺頁7次,缺頁率: 7/12=0.583; 當(dāng)分配給該作業(yè)的物理塊數(shù)M為4時(shí),缺頁4次,缺頁率: 4/12=0.333.28.試說明改進(jìn)型 Clock 置換算法的基本原理.答:因?yàn)樾薷倪^的頁面在換出時(shí)付出的開銷比未被修改過的頁面大,在改進(jìn)型Clock 算法 中,既考慮頁面的使用情況,還要增加置換代價(jià)的因素;在選擇頁面作為淘汰頁面時(shí),把同 時(shí)滿足未使用過和未被修改作為首選淘汰頁面。
第五章
7.有哪幾種I/O控制方式?各適用于何種場(chǎng)合? 答:共有四種I/O 控制方式。
(1)程序I/O 方式:早期計(jì)算機(jī)無中斷機(jī)構(gòu),處理機(jī)對(duì)I/O設(shè)備的控制采用程序I/O方式或稱忙等的方式。
(2)中斷驅(qū)動(dòng)I/O 控制方式:適用于有中斷機(jī)構(gòu)的計(jì)算機(jī)系統(tǒng)中。
(3)直接存儲(chǔ)器訪問(DMA)I/O 控制方式:適用于具有DMA控制器的計(jì)算機(jī)系統(tǒng)中。(4)I/O 通道控制方式:具有通道程序的計(jì)算機(jī)系統(tǒng)中。
9.引入緩沖的主要原因是什么? 答:引入緩沖的主要原因是:
(1)緩和CPU與I/O 設(shè)備間速度不匹配的矛盾
(2)減少對(duì)CPU的中斷頻率,放寬對(duì)中斷響應(yīng)時(shí)間的限制(3)提高CPU與I/O 設(shè)備之間的并行性
17.何謂設(shè)備虛擬?實(shí)現(xiàn)設(shè)備虛擬時(shí)所依賴的關(guān)鍵技術(shù)是什么? 答:設(shè)備虛擬是指把獨(dú)占設(shè)備經(jīng)過某種技術(shù)處理改造成虛擬設(shè)備。可虛擬設(shè)備是指一臺(tái)物理設(shè)備在采用虛擬技術(shù)后,可變成多臺(tái)邏輯上的虛擬設(shè)備,則可虛擬設(shè)備是可共享的設(shè)備,將它同時(shí)分配給多個(gè)進(jìn)程使用,并對(duì)這些訪問該物理設(shè)備的先后次序進(jìn)行控制。
18.試說明SPOOLing 系統(tǒng)的組成。
答:SPOOLing 系統(tǒng)由輸入井和輸出井、輸入緩沖區(qū)和輸出緩沖區(qū)、輸入進(jìn)程 SPi 和輸出進(jìn)程 SPo 三部分組成。
19.在實(shí)現(xiàn)后臺(tái)打印時(shí),SPOOLing 系統(tǒng)應(yīng)為請(qǐng)求I/O 的進(jìn)程提供哪些服務(wù)? 答:在實(shí)現(xiàn)后臺(tái)打印時(shí),SPOOLing 系統(tǒng)應(yīng)為請(qǐng)求 I/O的進(jìn)程提供以下服務(wù):(1)由輸出進(jìn)程在輸出井中申請(qǐng)一空閑盤塊區(qū),并將要打印的數(shù)據(jù)送入其中;
(2)輸出進(jìn)程為用戶進(jìn)程申請(qǐng)空白用戶打印表,填入打印要求,將該表掛到請(qǐng)求打印隊(duì)列。(3)一旦打印機(jī)空閑,輸出進(jìn)程便從請(qǐng)求打印隊(duì)列的隊(duì)首取出一張請(qǐng)求打印表,根據(jù)表中要求將要打印的數(shù)據(jù)從輸出井傳送到內(nèi)存緩沖區(qū),再由打印機(jī)進(jìn)行打印。
第六章
1.何謂數(shù)據(jù)項(xiàng)、記錄和文件?
答:①數(shù)據(jù)項(xiàng)分為基本數(shù)據(jù)項(xiàng)和組合數(shù)據(jù)項(xiàng)。基本數(shù)據(jù)項(xiàng)描述一個(gè)對(duì)象某種屬性的字符集,7 具有數(shù)據(jù)名、數(shù)據(jù)類型及數(shù)據(jù)值三個(gè)特性。組合數(shù)據(jù)項(xiàng)由若干數(shù)據(jù)項(xiàng)構(gòu)成。②記錄是一組相關(guān)數(shù)據(jù)項(xiàng)的集合,用于描述一個(gè)對(duì)象某方面的屬性。③文件是具有文件名的一組相關(guān)信息的集合。
4.何謂邏輯文件?何謂物理文件?
答:邏輯文件是物理文件中存儲(chǔ)的數(shù)據(jù)的一種視圖方式,不包含具體數(shù)據(jù),僅包含物理文件中數(shù)據(jù)的索引。物理文件又稱文件存儲(chǔ)結(jié)構(gòu),是指文件在外存上的存儲(chǔ)組織形式。8.試說明順序文件的結(jié)構(gòu)及其優(yōu)點(diǎn)。
答:第一種是串結(jié)構(gòu):各記錄之間的順序與關(guān)鍵字無關(guān)。第二種是順序結(jié)構(gòu):指文件中的所有記錄按關(guān)鍵字(詞)排列。可以按關(guān)鍵詞長短排序或英文字母順序排序。順序文件的最佳應(yīng)用場(chǎng)合是對(duì)諸記錄進(jìn)行批量存取時(shí),存取效率最高;只有順序文件才能存儲(chǔ)在磁帶上并有效工作。
15.什么是索引文件?為什么要引入多級(jí)索引?
答:索引文件是指當(dāng)記錄為可變長度時(shí),通常為之建立一張索引表,并為每個(gè)記錄設(shè)置一個(gè)表項(xiàng)構(gòu)成的文件。通常將索引非順序文件簡(jiǎn)稱為索引文件。索引是為了是用戶的訪問速度更快,多級(jí)索引結(jié)構(gòu)可以有效的管理索引文件,可根據(jù)用戶的訪問情況多級(jí)處理。17.對(duì)目錄管理的主要要求是什么?
答:實(shí)現(xiàn)按名存取、提高檢索目錄的速度、文件共享、允許文件重名。18.采用單級(jí)目錄能否滿足對(duì)目錄管理的主要要求?為什么?
答:不能。單級(jí)目錄在整個(gè)文件系統(tǒng)中只建立一張目錄表,每個(gè)文件占一個(gè)目錄項(xiàng),其中含文件名、文件擴(kuò)展名、文件長度、文件類型、文件物理地址、狀態(tài)位等其它文件屬性。單級(jí)只能實(shí)現(xiàn)目錄管理的基本功能,不能滿足查找速度、允許重名和文件共享的要求。19.目前廣泛應(yīng)用的目錄結(jié)構(gòu)有哪些?它有什么優(yōu)點(diǎn)?
答:現(xiàn)代操作系統(tǒng)都采用多級(jí)目錄結(jié)構(gòu)。基本特點(diǎn)是查詢速度快、層次結(jié)構(gòu)清晰、文件管理和保護(hù)易于實(shí)現(xiàn)。
第二篇:操作系統(tǒng)課后題答案
第一章
1.設(shè)計(jì)現(xiàn)代OS的主要目標(biāo)是什么?
答:(1)有效性(2)方便性(3)可擴(kuò)充性(4)開放性 2.OS的作用可表現(xiàn)在哪幾個(gè)方面?
答:(1)OS作為用戶與計(jì)算機(jī)硬件系統(tǒng)之間的接口(2)OS作為計(jì)算機(jī)系統(tǒng)資源的管理者(3)OS實(shí)現(xiàn)了對(duì)計(jì)算機(jī)資源的抽象
3.為什么說OS實(shí)現(xiàn)了對(duì)計(jì)算機(jī)資源的抽象?
答:OS首先在裸機(jī)上覆蓋一層I/O設(shè)備管理軟件,實(shí)現(xiàn)了對(duì)計(jì)算機(jī)硬件操作的第一層次抽 象;在第一層軟件上再覆蓋文件管理軟件,實(shí)現(xiàn)了對(duì)硬件資源操作的第二層次抽象。OS 通 過在計(jì)算機(jī)硬件上安裝多層系統(tǒng)軟件,增強(qiáng)了系統(tǒng)功能,隱藏了對(duì)硬件操作的細(xì)節(jié),由它們 共同實(shí)現(xiàn)了對(duì)計(jì)算機(jī)資源的抽象。
4.試說明推動(dòng)多道批處理系統(tǒng)形成和發(fā)展的主要?jiǎng)恿κ鞘裁矗?答:主要?jiǎng)恿碓从谒膫€(gè)方面的社會(huì)需求與技術(shù)發(fā)展:(1)不斷提高計(jì)算機(jī)資源的利用率;(2)方便用戶;
(3)器件的不斷更新?lián)Q代;
(4)計(jì)算機(jī)體系結(jié)構(gòu)的不斷發(fā)展。
5.何謂脫機(jī)I/O和聯(lián)機(jī)I/O?
答:脫機(jī)I/O 是指事先將裝有用戶程序和數(shù)據(jù)的紙帶或卡片裝入紙帶輸入機(jī)或卡片機(jī),在 外圍機(jī)的控制下,把紙帶或卡片上的數(shù)據(jù)或程序輸入到磁帶上。該方式下的輸入輸出由外圍 機(jī)控制完成,是在脫離主機(jī)的情況下進(jìn)行的。
而聯(lián)機(jī)I/O方式是指程序和數(shù)據(jù)的輸入輸出都是在主機(jī)的直接控制下進(jìn)行的。6.試說明推動(dòng)分時(shí)系統(tǒng)形成和發(fā)展的主要?jiǎng)恿κ鞘裁矗?/p>
答:推動(dòng)分時(shí)系統(tǒng)形成和發(fā)展的主要?jiǎng)恿κ歉玫貪M足用戶的需要。主要表現(xiàn)在:CPU 的 分時(shí)使用縮短了作業(yè)的平均周轉(zhuǎn)時(shí)間;人機(jī)交互能力使用戶能直接控制自己的作業(yè);主機(jī)的 共享使多用戶能同時(shí)使用同一臺(tái)計(jì)算機(jī),獨(dú)立地處理自己的作業(yè)。7.實(shí)現(xiàn)分時(shí)系統(tǒng)的關(guān)鍵問題是什么?應(yīng)如何解決?
答:關(guān)鍵問題是當(dāng)用戶在自己的終端上鍵入命令時(shí),系統(tǒng)應(yīng)能及時(shí)接收并及時(shí)處理該命令,在用戶能接受的時(shí)延內(nèi)將結(jié)果返回給用戶。
解決方法:針對(duì)及時(shí)接收問題,可以在系統(tǒng)中設(shè)置多路卡,使主機(jī)能同時(shí)接收用戶從各個(gè)終 端上輸入的數(shù)據(jù);為每個(gè)終端配置緩沖區(qū),暫存用戶鍵入的命令或數(shù)據(jù)。針對(duì)及時(shí)處理問題,應(yīng)使所有的用戶作業(yè)都直接進(jìn)入內(nèi)存,并且為每個(gè)作業(yè)分配一個(gè)時(shí)間片,允許作業(yè)只在自己 的時(shí)間片內(nèi)運(yùn)行,這樣在不長的時(shí)間內(nèi),能使每個(gè)作業(yè)都運(yùn)行一次。8.為什么要引入實(shí)時(shí)OS?
答:實(shí)時(shí)操作系統(tǒng)是指系統(tǒng)能及時(shí)響應(yīng)外部事件的請(qǐng)求,在規(guī)定的時(shí)間內(nèi)完成對(duì)該事件的處 理,并控制所有實(shí)時(shí)任務(wù)協(xié)調(diào)一致地運(yùn)行。引入實(shí)時(shí)OS 是為了滿足應(yīng)用的需求,更好地滿 足實(shí)時(shí)控制領(lǐng)域和實(shí)時(shí)信息處理領(lǐng)域的需要。
9.什么是硬實(shí)時(shí)任務(wù)和軟實(shí)時(shí)任務(wù)?試舉例說明。
答:硬實(shí)時(shí)任務(wù)是指系統(tǒng)必須滿足任務(wù)對(duì)截止時(shí)間的要求,否則可能出現(xiàn)難以預(yù)測(cè)的結(jié)果。舉例來說,運(yùn)載火箭的控制等。
軟實(shí)時(shí)任務(wù)是指它的截止時(shí)間并不嚴(yán)格,偶爾錯(cuò)過了任務(wù)的截止時(shí)間,對(duì)系統(tǒng)產(chǎn)生的影 響不大。舉例:網(wǎng)頁內(nèi)容的更新、火車售票系統(tǒng)。
10.在8位微機(jī)和16位微機(jī)中,占據(jù)了統(tǒng)治地位的是什么操作系統(tǒng)?
答:?jiǎn)斡脩魡稳蝿?wù)操作系統(tǒng),其中最具代表性的是CP/M和MS-DOS.11.試列出Windows OS 中五個(gè)主要版本,并說明它們分別較之前一個(gè)版本有何改進(jìn)。答:
(1)Microsoft Windows 1.0是微軟公司在個(gè)人電腦上開發(fā)圖形界面的首次嘗試。(2)Windows 95是混合的16位/32位系統(tǒng),第一個(gè)支持32位。帶來了更強(qiáng)大、更穩(wěn) 定、更實(shí)用的桌面圖形用戶界面,結(jié)束了桌面操作系統(tǒng)間的競(jìng)爭(zhēng)。
(3)Windows 98是微軟公司的混合16位/32位Windows 操作系統(tǒng),改良了硬件標(biāo)準(zhǔn) 的支持,革新了內(nèi)存管理,是多進(jìn)程操作系統(tǒng)。
(4)Windows XP是基于Windows 2000的產(chǎn)品,擁有新用戶圖形界面月神Luna。簡(jiǎn) 化了用戶安全特性,整合了防火墻。
(5)Windows Vista 包含了上百種新功能;特別是新版圖形用戶界面和Windows Aero 全新界面風(fēng)格、加強(qiáng)的搜尋功能(Windows Indexing Service)、新媒體創(chuàng)作工具以及重 新設(shè)計(jì)的網(wǎng)絡(luò)、音頻、輸出(打印)和顯示子系統(tǒng)。
12.試從交互性、及時(shí)性以及可靠性方面,將分時(shí)系統(tǒng)與實(shí)時(shí)系統(tǒng)進(jìn)行比較。
答:(1)及時(shí)性:實(shí)時(shí)信息處理系統(tǒng)對(duì)實(shí)時(shí)性的要求與分時(shí)系統(tǒng)類似,都是以人所能接受 的等待時(shí)間來確定;而實(shí)時(shí)控制系統(tǒng)的及時(shí)性,是以控制對(duì)象所要求的開始截止時(shí)間或完成 截止時(shí)間來確定的,一般為秒級(jí)到毫秒級(jí),甚至有的要低于100微妙。
(2)交互性:實(shí)時(shí)信息處理系統(tǒng)具有交互性,但人與系統(tǒng)的交互僅限于訪問系統(tǒng)中某 些特定的專用服務(wù)程序。不像分時(shí)系統(tǒng)那樣能向終端用戶提供數(shù)據(jù)和資源共享等服務(wù)。(3)可靠性:分時(shí)系統(tǒng)也要求系統(tǒng)可靠,但相比之下,實(shí)時(shí)系統(tǒng)則要求系統(tǒng)具有高度 的可靠性。因?yàn)槿魏尾铄e(cuò)都可能帶來巨大的經(jīng)濟(jì)損失,甚至是災(zāi)難性后果,所以在實(shí)時(shí)系統(tǒng) 中,往往都采取了多級(jí)容錯(cuò)措施保障系統(tǒng)的安全性及數(shù)據(jù)的安全性。13.OS有哪幾大特征?其最基本的特征是什么?
答:并發(fā)性、共享性、虛擬性和異步性四個(gè)基本特征;最基本的特征是并發(fā)性。14.處理機(jī)管理有哪些主要功能?它們的主要任務(wù)是什么?
答:處理機(jī)管理的主要功能是:進(jìn)程管理、進(jìn)程同步、進(jìn)程通信和處理機(jī)調(diào)度; 進(jìn)程管理:為作業(yè)創(chuàng)建進(jìn)程,撤銷已結(jié)束進(jìn)程,控制進(jìn)程在運(yùn)行過程中的狀態(tài)轉(zhuǎn)換。進(jìn)程同步:為多個(gè)進(jìn)程(含線程)的運(yùn)行______________進(jìn)行協(xié)調(diào)。通信:用來實(shí)現(xiàn)在相互合作的進(jìn)程之間的信息交換。
處理機(jī)調(diào)度:
(1)作業(yè)調(diào)度。從后備隊(duì)里按照一定的算法,選出若干個(gè)作業(yè),為他們分配運(yùn)行所需 的資源(首選是分配內(nèi)存)。
(2)進(jìn)程調(diào)度:從進(jìn)程的就緒隊(duì)列中,按照一定算法選出一個(gè)進(jìn)程,把處理機(jī)分配給 它,并設(shè)置運(yùn)行現(xiàn)場(chǎng),使進(jìn)程投入執(zhí)行。
15.內(nèi)存管理有哪些主要功能?他們的主要任務(wù)是什么?
北京石油化工學(xué)院信息工程學(xué)院計(jì)算機(jī)系3/48 《計(jì)算機(jī)操作系統(tǒng)》習(xí)題參考答案余有明與計(jì)07和計(jì)G09的同學(xué)們編著 3/48 答:內(nèi)存管理的主要功能有:內(nèi)存分配、內(nèi)存保護(hù)、地址映射和內(nèi)存擴(kuò)充。內(nèi)存分配:為每道程序分配內(nèi)存。
內(nèi)存保護(hù):確保每道用戶程序都只在自己的內(nèi)存空間運(yùn)行,彼此互不干擾。地址映射:將地址空間的邏輯地址轉(zhuǎn)換為內(nèi)存空間與對(duì)應(yīng)的物理地址。內(nèi)存擴(kuò)充:用于實(shí)現(xiàn)請(qǐng)求調(diào)用功能,置換功能等。16.設(shè)備管理有哪些主要功能?其主要任務(wù)是什么?
答:主要功能有: 緩沖管理、設(shè)備分配和設(shè)備處理以及虛擬設(shè)備等。
主要任務(wù): 完成用戶提出的I/O 請(qǐng)求,為用戶分配I/O 設(shè)備;提高CPU 和I/O 設(shè) 備的利用率;提高I/O速度;以及方便用戶使用I/O設(shè)備.17.文件管理有哪些主要功能?其主要任務(wù)是什么?
答:文件管理主要功能:文件存儲(chǔ)空間的管理、目錄管理、文件的讀/寫管理和保護(hù)。文件管理的主要任務(wù):管理用戶文件和系統(tǒng)文件,方便用戶使用,保證文件安全性。18.是什么原因使操作系統(tǒng)具有異步性特征?
答:操作系統(tǒng)的異步性體現(xiàn)在三個(gè)方面:一是進(jìn)程的異步性,進(jìn)程以人們不可預(yù)知的速度向 前推進(jìn),二是程序的不可再現(xiàn)性,即程序執(zhí)行的結(jié)果有時(shí)是不確定的,三是程序執(zhí)行時(shí)間的 不可預(yù)知性,即每個(gè)程序何時(shí)執(zhí)行,執(zhí)行順序以及完成時(shí)間是不確定的。19.模塊接口法存在哪些問題?可通過什么樣的途徑來解決?
答:(1)模塊接口法存在的問題:①在OS設(shè)計(jì)時(shí),各模塊間的接口規(guī)定很難滿足在模塊完 成后對(duì)接口的實(shí)際需求。②在OS 設(shè)計(jì)階段,設(shè)計(jì)者必須做出一系列的決定,每一個(gè)決定必 須建立在上一個(gè)決定的基礎(chǔ)上。但模塊化結(jié)構(gòu)設(shè)計(jì)的各模塊設(shè)計(jì)齊頭并進(jìn),無法尋找可靠的 順序,造成各種決定的無序性,使程序設(shè)計(jì)人員很難做到設(shè)計(jì)中的每一步?jīng)Q定都建立在可靠 的基礎(chǔ)上,因此模塊接口法被稱為“無序模塊法”。
(2)解決途徑:將模塊接口法的決定順序無序變有序,引入有序分層法。20.在微內(nèi)核OS中,為什么要采用客戶/服務(wù)器模式?
答:C/S 模式具有獨(dú)特的優(yōu)點(diǎn):⑴數(shù)據(jù)的分布處理和存儲(chǔ)。⑵便于集中管理。⑶靈活性和 可擴(kuò)充性。⑷易于改編應(yīng)用軟件。21.試描述什么是微內(nèi)核OS。
答:1)足夠小的內(nèi)核 2)基于客戶/服務(wù)器模式
3)應(yīng)用機(jī)制與策略分離原理 4)采用面向?qū)ο蠹夹g(shù)。22.在基于微內(nèi)核結(jié)構(gòu)的OS中,應(yīng)用了哪些新技術(shù)?
答:在基于微內(nèi)核結(jié)構(gòu)的OS 中,采用面向?qū)ο蟮某绦蛟O(shè)汁技術(shù)。
23.何謂微內(nèi)核技術(shù)?在微內(nèi)核中通常提供了哪些功能?
答:把操作系統(tǒng)中更多的成分和功能放到更高的層次(即用戶模式)中去運(yùn)行,而留下一個(gè) 盡量小的內(nèi)核,用它來完成操作系統(tǒng)最基本的核心功能,稱這種技術(shù)為微內(nèi)核技術(shù)。在微內(nèi) 核中通常提供了進(jìn)程(線程)管理、低級(jí)存儲(chǔ)器管理、中斷和陷入處理等功能。24.微內(nèi)核操作系統(tǒng)具有哪些優(yōu)點(diǎn)?它為何能有這些優(yōu)點(diǎn)? 答:1)提高了系統(tǒng)的可擴(kuò)展性 2)增強(qiáng)了系統(tǒng)的可靠性 3)可移植性
4)提供了對(duì)分布式系統(tǒng)的支持 5)融入了面向?qū)ο蠹夹g(shù)
第二章
1.什么是前趨圖?為什么要引入前趨圖?
答:前趨圖(Precedence Graph)是一個(gè)有向無循環(huán)圖,記為DAG(Directed Acyclic Graph),用于描述進(jìn)程之間執(zhí)行的前后關(guān)系。
2.畫出下面四條語句的前趨圖: S1=a:=x+y;S2=b:=z+1;S3=c:=a – b; S4=w:=c+1;3 答:其前趨圖為:3.什么程序并發(fā)執(zhí)行會(huì)產(chǎn)生間斷性特征?
答:程序在并發(fā)執(zhí)行時(shí),由于它們共享系統(tǒng)資源,為完成同一項(xiàng)任務(wù)需要相互合作,致使這 些并發(fā)執(zhí)行的進(jìn)程之間,形成了相互制約關(guān)系,從而使得進(jìn)程在執(zhí)行期間出現(xiàn)間斷性。4.程序并發(fā)執(zhí)行時(shí)為什么會(huì)失去封閉性和可再現(xiàn)性?
答:程序并發(fā)執(zhí)行時(shí),多個(gè)程序共享系統(tǒng)中的各種資源,因而這些資源的狀態(tài)由多個(gè)程序改 變,致使程序運(yùn)行失去了封閉性,也會(huì)導(dǎo)致其失去可再現(xiàn)性。
5.在操作系統(tǒng)中為什么要引入進(jìn)程概念?它會(huì)產(chǎn)生什么樣的影響? 答:為了使程序在多道程序環(huán)境下能并發(fā)執(zhí)行,并對(duì)并發(fā)執(zhí)行的程序加以控制和描述,在操 作系統(tǒng)中引入了進(jìn)程概念。
影響: 使程序的并發(fā)執(zhí)行得以實(shí)行。
6.試從動(dòng)態(tài)性,并發(fā)性和獨(dú)立性上比較進(jìn)程和程序? 答:(1)動(dòng)態(tài)性是進(jìn)程最基本的特性,表現(xiàn)為由創(chuàng)建而產(chǎn)生,由調(diào)度而執(zhí)行,因得不到資源 而暫停執(zhí)行,由撤銷而消亡。進(jìn)程有一定的生命期,而程序只是一組有序的指令集合,是靜 態(tài)實(shí)體。
(2)并發(fā)性是進(jìn)程的重要特征,同時(shí)也是OS 的重要特征。引入進(jìn)程的目的正是為了使 其程序能和其它進(jìn)程的程序并發(fā)執(zhí)行,而程序是不能并發(fā)執(zhí)行的。
(3)獨(dú)立性是指進(jìn)程實(shí)體是一個(gè)能獨(dú)立運(yùn)行的基本單位,也是系統(tǒng)中獨(dú)立獲得資源和獨(dú) 立調(diào)度的基本單位。對(duì)于未建立任何進(jìn)程的程序,不能作為獨(dú)立單位參加運(yùn)行。7.試說明PCB 的作用,為什么說PCB 是進(jìn)程存在的惟一標(biāo)志?
答:PCB 是進(jìn)程實(shí)體的一部分,是操作系統(tǒng)中最重要的記錄型數(shù)據(jù)結(jié)構(gòu)。作用是使一個(gè)在 多道程序環(huán)境下不能獨(dú)立運(yùn)行的程序,成為一個(gè)能獨(dú)立運(yùn)行的基本單位,成為能與其它進(jìn)程 并發(fā)執(zhí)行的進(jìn)程。OS是根據(jù)PCB對(duì)并發(fā)執(zhí)行的進(jìn)程進(jìn)行控制和管理的。8.試說明進(jìn)程在三個(gè)基本狀態(tài)之間轉(zhuǎn)換的典型原因。答:(1)就緒狀態(tài)→執(zhí)行狀態(tài):進(jìn)程分配到CPU資源(2)執(zhí)行狀態(tài)→就緒狀態(tài):時(shí)間片用完(3)執(zhí)行狀態(tài)→阻塞狀態(tài):I/O請(qǐng)求
(4)阻塞狀態(tài)→就緒狀態(tài):I/O完成
9.為什么要引入掛起狀態(tài)?該狀態(tài)有哪些性質(zhì)?
答:引入掛起狀態(tài)處于五種不同的需要: 終端用戶需要,父進(jìn)程需要,操作系統(tǒng)需要,對(duì)換
北京石油化工學(xué)院信息工程學(xué)院計(jì)算機(jī)系5/48 《計(jì)算機(jī)操作系統(tǒng)》習(xí)題參考答案余有明與計(jì)07和計(jì)G09的同學(xué)們編著 5/48 需要和負(fù)荷調(diào)節(jié)需要。處于掛起狀態(tài)的進(jìn)程不能接收處理機(jī)調(diào)度。10.在進(jìn)行進(jìn)程切換時(shí),所要保存的處理機(jī)狀態(tài)信息有哪些? 答:進(jìn)行進(jìn)程切換時(shí),所要保存的處理機(jī)狀態(tài)信息有:(1)進(jìn)程當(dāng)前暫存信息
(2)下一指令地址信息(3)進(jìn)程狀態(tài)信息
(4)過程和系統(tǒng)調(diào)用參數(shù)及調(diào)用地址信息。
11.試說明引起進(jìn)程創(chuàng)建的主要事件。
答:引起進(jìn)程創(chuàng)建的主要事件有:用戶登錄、作業(yè)調(diào)度、提供服務(wù)、應(yīng)用請(qǐng)求。12.試說明引起進(jìn)程被撤銷的主要事件。
答:引起進(jìn)程被撤銷的主要事件有:正常結(jié)束、異常結(jié)束(越界錯(cuò)誤、保護(hù)錯(cuò)、非法指令、特權(quán)指令錯(cuò)、運(yùn)行超時(shí)、等待超時(shí)、算術(shù)運(yùn)算錯(cuò)、I/O 故障)、外界干預(yù)(操作員或操作系 統(tǒng)干預(yù)、父進(jìn)程請(qǐng)求、父進(jìn)程終止)。
13.在創(chuàng)建一個(gè)進(jìn)程時(shí)所要完成的主要工作是什么?
答:
(1)OS 發(fā)現(xiàn)請(qǐng)求創(chuàng)建新進(jìn)程事件后,調(diào)用進(jìn)程創(chuàng)建原語Creat();(2)申請(qǐng)空白PCB;(3)為新進(jìn)程分配資源;(4)初始化進(jìn)程控制塊;
(5)將新進(jìn)程插入就緒隊(duì)列.14.在撤銷一個(gè)進(jìn)程時(shí)所要完成的主要工作是什么?
答:
(1)根據(jù)被終止進(jìn)程標(biāo)識(shí)符,從PCB 集中檢索出進(jìn)程PCB,讀出該進(jìn)程狀態(tài)。
(2)若被終止進(jìn)程處于執(zhí)行狀態(tài),立即終止該進(jìn)程的執(zhí)行,置調(diào)度標(biāo)志真,指示該進(jìn)程被 終止后重新調(diào)度。
(3)若該進(jìn)程還有子進(jìn)程,應(yīng)將所有子孫進(jìn)程終止,以防它們成為不可控進(jìn)程。(4)將被終止進(jìn)程擁有的全部資源,歸還給父進(jìn)程,或歸還給系統(tǒng)。
(5)將被終止進(jìn)程PCB 從所在隊(duì)列或列表中移出,等待其它程序搜集信息。15.試說明引起進(jìn)程阻塞或被喚醒的主要事件是什么?
答:a.請(qǐng)求系統(tǒng)服務(wù);b.啟動(dòng)某種操作;c.新數(shù)據(jù)尚未到達(dá);d.無新工作可做.16.進(jìn)程在運(yùn)行時(shí)存在哪兩種形式的制約?并舉例說明之。答:
(1)間接相互制約關(guān)系。舉例:有兩進(jìn)程A 和B,如果A 提出打印請(qǐng)求,系統(tǒng)已把唯一的 一臺(tái)打印機(jī)分配給了進(jìn)程B,則進(jìn)程A 只能阻塞;一旦B 釋放打印機(jī),A 才由阻塞改為就 緒。
(2)直接相互制約關(guān)系。舉例:有輸入進(jìn)程A 通過單緩沖向進(jìn)程B 提供數(shù)據(jù)。當(dāng)緩沖空時(shí),計(jì)算進(jìn)程因不能獲得所需數(shù)據(jù)而阻塞,當(dāng)進(jìn)程A 把數(shù)據(jù)輸入緩沖區(qū)后,便喚醒進(jìn)程B;反 之,當(dāng)緩沖區(qū)已滿時(shí),進(jìn)程A 因沒有緩沖區(qū)放數(shù)據(jù)而阻塞,進(jìn)程B 將緩沖區(qū)數(shù)據(jù)取走后便 喚醒A。
17.為什么進(jìn)程在進(jìn)入臨界區(qū)之前應(yīng)先執(zhí)行“進(jìn)入?yún)^(qū)”代碼?而在退出前又要執(zhí)行“退出 區(qū)”代碼?
答:為了實(shí)現(xiàn)多個(gè)進(jìn)程對(duì)臨界資源的互斥訪問,必須在臨界區(qū)前面增加一段用于檢查欲訪問 的臨界資源是否正被訪問的代碼,如果未被訪問,該進(jìn)程便可進(jìn)入臨界區(qū)對(duì)資源進(jìn)行訪問,并設(shè)置正被訪問標(biāo)志,如果正被訪問,則本進(jìn)程不能進(jìn)入臨界區(qū),實(shí)現(xiàn)這一功能的代碼為“ 北京石油化工學(xué)院信息工程學(xué)院計(jì)算機(jī)系6/48 《計(jì)算機(jī)操作系統(tǒng)》習(xí)題參考答案余有明與計(jì)07和計(jì)G09的同學(xué)們編著 6/48 進(jìn)入?yún)^(qū)”代碼;
在退出臨界區(qū)后,必須執(zhí)行“退出區(qū)”代碼,用于恢復(fù)未被訪問標(biāo)志,使其它進(jìn)程能再訪問此 臨界資源。
18.同步機(jī)構(gòu)應(yīng)遵循哪些基本準(zhǔn)則?為什么?
答:同步機(jī)構(gòu)應(yīng)遵循的基本準(zhǔn)則是:空閑讓進(jìn)、忙則等待、有限等待、讓權(quán)等待
原因:為實(shí)現(xiàn)進(jìn)程互斥進(jìn)入自己的臨界區(qū)。
19.試從物理概念上說明記錄型信號(hào)量wait 和signal。
答:wait(S):當(dāng)S.value>0 時(shí),表示目前系統(tǒng)中這類資源還有可用的。執(zhí)行一次wait 操 作,意味著進(jìn)程請(qǐng)求一個(gè)單位的該類資源,使系統(tǒng)中可供分配的該類資源減少一個(gè),因此描 述為S.value:=S.value-1;當(dāng)S.value<0時(shí),表示該類資源已分配完畢,進(jìn)程應(yīng)調(diào)用block 原語自我阻塞,放棄處理機(jī),并插入到信號(hào)量鏈表S.L中。
signal(S):執(zhí)行一次signal操作,意味著釋放一個(gè)單位的可用資源,使系統(tǒng)中可供分配 的該類資源數(shù)增加一個(gè),故執(zhí)行S.value:=S.value+1 操作。若加1 后S.value≤0,則表 示在該信號(hào)量鏈表中,仍有等待該資源的進(jìn)程被阻塞,因此應(yīng)調(diào)用wakeup 原語,將S.L 鏈表中的第一個(gè)等待進(jìn)程喚醒。
20.你認(rèn)為整型信號(hào)量機(jī)制是否完全遵循了同步機(jī)構(gòu)的四條準(zhǔn)則?
答:整型信號(hào)量機(jī)制不完全遵循同步機(jī)制的四條準(zhǔn)則,它不滿足“讓權(quán)等待”準(zhǔn)則。21.如何利用信號(hào)量機(jī)制來實(shí)現(xiàn)多個(gè)進(jìn)程對(duì)臨界資源的互斥訪問?并舉例說明之。
答:為使多個(gè)進(jìn)程互斥訪問某臨界資源,只需為該資源設(shè)置一互斥信號(hào)量mutex,并設(shè)其 初值為1,然后將各進(jìn)程訪問該資源的臨界區(qū)CS置于wait(mutex)和signal(mutex)操作 之間即可。這樣,每個(gè)欲訪問該臨界資源的進(jìn)程在進(jìn)入臨界區(qū)之前,都要先對(duì)mutex 執(zhí)行 wait 操作,若該資源此刻未被訪問,本次wait 操作必然成功,進(jìn)程便可進(jìn)入自己的臨界區(qū),這時(shí)若再有其他進(jìn)程也欲進(jìn)入自己的臨界區(qū),此時(shí)由于對(duì)mutex 執(zhí)行wait操作定會(huì)失敗,因而該進(jìn)程阻塞,從而保證了該臨界資源能被互斥訪問。當(dāng)訪問臨界資源的進(jìn)程退出臨界區(qū) 后,應(yīng)對(duì)mutex執(zhí)行signal 操作,釋放該臨界資源。利用信號(hào)量實(shí)現(xiàn)進(jìn)程互斥的進(jìn)程描述 如下:
Var mutex: semaphore:=1; begin parbegin process 1: begin repeat wait(mutex); critical section signal(mutex); remainder seetion until false; end process 2: begin repeat wait(mutex); critical section signal(mutex); remainder section until false; end parend
22.試寫出相應(yīng)的程序來描述圖2-17所示的前驅(qū)圖。
答:(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.在生產(chǎn)者消費(fèi)者問題中,如果缺少了signal(full)或signal(empty),對(duì)執(zhí)行結(jié)果有何影響? 答:
如果缺少signal(full),那么表明從第一個(gè)生產(chǎn)者進(jìn)程開始就沒有改變信號(hào)量full 值,即使緩沖池產(chǎn)品已滿,但full 值還是0,這樣消費(fèi)者進(jìn)程執(zhí)行wait(full)時(shí)認(rèn)為緩沖池是空 而取不到產(chǎn)品,消費(fèi)者進(jìn)程一直處于等待狀態(tài)。
如果缺少signal(empty),在生產(chǎn)者進(jìn)程向n個(gè)緩沖區(qū)投滿產(chǎn)品后消費(fèi)者進(jìn)程才開始從
中取產(chǎn)品,這時(shí)empty=0,full=n,那么每當(dāng)消費(fèi)者進(jìn)程取走一個(gè)產(chǎn)品empty 值并不改變,7 直到緩沖池取空了,empty 值也是0,即使目前緩沖池有n 個(gè)空緩沖區(qū),生產(chǎn)者進(jìn)程要想 再往緩沖池中投放產(chǎn)品也會(huì)因?yàn)樯暾?qǐng)不到空緩沖區(qū)被阻塞。
24.在生產(chǎn)消費(fèi)者問題中,如果將兩個(gè)wait 操作即wait(full)和wait(mutex)互換位置,或者將signal(mutex)與signal(full)互換位置,結(jié)果如何?
答:將wait(full)和wait(mutex)互換位置后,可能引起死鎖。考慮系統(tǒng)中緩沖區(qū)全滿時(shí),若一生產(chǎn)者進(jìn)程先執(zhí)行了wait(mutex)操作并獲得成功,則當(dāng)再執(zhí)行wait(empty)操作時(shí),它將因失敗而進(jìn)入阻塞狀態(tài),它期待消費(fèi)者進(jìn)程執(zhí)行signal(empty)來喚醒自己,在此之前,它不可能執(zhí)行signal(mutex)操作,從而使試圖通過執(zhí)行wait(mutex)操作而進(jìn)入自己的臨 界區(qū)的其他生產(chǎn)者和所有消費(fèi)者進(jìn)程全部進(jìn)入阻塞狀態(tài),這樣容易引起系統(tǒng)死鎖。若signal(mutex)和signal(full)互換位置后只是影響進(jìn)程對(duì)臨界資源的釋放次序,而 不會(huì)引起系統(tǒng)死鎖,因此可以互換位置。
25.我們?cè)跒槟骋慌R界資源設(shè)置一把鎖W,當(dāng)W=1時(shí)表示關(guān)鎖,當(dāng)W=0時(shí)表示鎖已打開。試寫出開鎖和關(guān)鎖的原語,并利用他們實(shí)現(xiàn)互斥。答:整型信號(hào)量:lock(W): while W=1 do no-op
W:=1;
unlock(W): W:=0;記錄型信號(hào)量: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.試修改下面生產(chǎn)者-消費(fèi)者問題解法中的錯(cuò)誤: 答: producer: begin repeat ?
producer an item in nextp;wait(mutex);wait(full);/* 應(yīng)為wait(empty),而且還應(yīng)該在wait(mutex)的前面 */ buffer(in):=nextp;/* 緩沖池?cái)?shù)組游標(biāo)應(yīng)前移: in:=(in+1)mod n;*/ signal(mutex);8 /* signal(full);*/ until false;end consumer: begin repeat wait(mutex);wait(empty);/* 應(yīng)為wait(full),而且還應(yīng)該在wait(mutex)的前面 */ nextc:=buffer(out);out:=out+1;/* 考慮循環(huán),應(yīng)改為: out:=(out+1)mod n;*/ signal(mutex);/* signal(empty);*/ consumer item in nextc;until false;end 27.試?yán)糜涗浶托盘?hào)量寫出一個(gè)不會(huì)出現(xiàn)死鎖的哲學(xué)家進(jìn)餐問題的算法.答:Var chopstick:array[0,?,4] of semaphore;所有信號(hào)量均被初始化為1,第i 位哲學(xué)家的活動(dòng)可描述為: 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.在測(cè)量控制系統(tǒng)中的數(shù)據(jù)采集任務(wù),把所采集的數(shù)據(jù)送一單緩沖區(qū);計(jì)算任務(wù)從該單 緩沖中取出數(shù)據(jù)進(jìn)行計(jì)算.試寫出利用信號(hào)量機(jī)制實(shí)現(xiàn)兩者共享單緩沖的同步算法。答:
a.Var mutex, empty, full: semaphore:=1, 1, 0;gather: begin repeat ??
gather data in nextp;wait(empty);wait(mutex);buffer:=nextp;signal(mutex);9 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.畫圖說明管程由哪幾部分組成,為什么要引入條件變量?
答:管程由四部分組成:①管程的名稱;②局部于管程內(nèi)部的共享數(shù)據(jù)結(jié)構(gòu)說明;③對(duì)該數(shù) 據(jù)結(jié)構(gòu)進(jìn)行操作的一組過程;④對(duì)局部于管程內(nèi)部的共享數(shù)據(jù)設(shè)置初始值的語句;
當(dāng)一個(gè)進(jìn)程調(diào)用了管程,在管程中時(shí)被阻塞或掛起,直到阻塞或掛起的原因解除,而在此期 間,如果該進(jìn)程不釋放管程,則其它進(jìn)程無法進(jìn)入管程,被迫長時(shí)間地等待。為了解決這個(gè) 問題,引入了條件變量condition。
30.如何利用管程來解決生產(chǎn)者與消費(fèi)者問題?
答:首先建立一個(gè)管程,命名為ProclucerConsumer,包括兩個(gè)過程:
(1)Put(item)過程。生產(chǎn)者利用該過程將自己生產(chǎn)的產(chǎn)品放到緩沖池,用整型變 量count 表示在緩沖池中已有的產(chǎn)品數(shù)目,當(dāng)count≥n 時(shí),表示緩沖池已滿,生產(chǎn)者須 等待。
(2)get(item)過程。消費(fèi)者利用該過程從緩沖池中取出一個(gè)產(chǎn)品,當(dāng)count≤0 時(shí),表示緩沖池中已無可取的產(chǎn)品,消費(fèi)者應(yīng)等待。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;11 end begin in:=out:=0;count:=0 end 在利用管程解決生產(chǎn)者一消費(fèi)者問題時(shí),其中的生產(chǎn)者和消費(fèi)者可描述為: 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信號(hào)量?試?yán)肁ND信號(hào)量寫出生產(chǎn)者一消費(fèi)者問題的解法。
答:為解決并行帶來的死鎖問題,在wait 操作中引入AND 條件,其基本思想是將進(jìn) 程在整個(gè)運(yùn)行過程中所需要的所有臨界資源,一次性地全部分配給進(jìn)程,用完后一次性釋放。解決生產(chǎn)者-消費(fèi)者問題可描述如下: 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為執(zhí)行生產(chǎn)者進(jìn)程除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);12 wait(k1,k2,k3,...,kn);//k1,k2,...,kn 為執(zhí)行消費(fèi)者進(jìn)程除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.什么是信號(hào)量集?試?yán)眯盘?hào)量集寫出讀者一寫者問題的解法。答:對(duì)AND信號(hào)量加以擴(kuò)充,形成的信號(hào)量集合的讀寫機(jī)制。解法: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.試比較進(jìn)程間的低級(jí)與高級(jí)通信工具。
答:用戶用低級(jí)通信工具實(shí)現(xiàn)進(jìn)程通信很不方便,效率低,通信對(duì)用戶不透明,所有操作都 必須由程序員來實(shí)現(xiàn),而高級(jí)通信工具彌補(bǔ)了這些缺陷,用戶直接利用操作系統(tǒng)提供的一組 通信命令,高效地傳送大量的數(shù)據(jù)。34.當(dāng)前有哪幾種高級(jí)通信機(jī)制?
答:共享存儲(chǔ)器系統(tǒng)、消息傳遞系統(tǒng)以及管道通信系統(tǒng)。
35.消息隊(duì)列通信機(jī)制有哪幾方面的功能?
答:(1)構(gòu)成消息(2)發(fā)送消息(3)接收梢息(4)互斥與同步。36.為什么要在OS 中引入線程?
答:在操作系統(tǒng)中引入線程,則是為了減少程序在并發(fā)執(zhí)行時(shí)所付出的時(shí)空開銷,使OS具 有更好的并發(fā)性,提高CPU的利用率。進(jìn)程是分配資源的基本單位,而線程則是系統(tǒng)調(diào)度的 基本單位。
37.試說明線程具有哪些屬性?
答:(1)輕型實(shí)體(2)獨(dú)立調(diào)度和分派的基本單位(3)可并發(fā)執(zhí)行(4)共享進(jìn)程資源。38.試從調(diào)度性,并發(fā)性,擁有資源及系統(tǒng)開銷方面對(duì)進(jìn)程和線程進(jìn)行比較。答:
(1)調(diào)度性。線程在OS 中作為調(diào)度和分派的基本單位,進(jìn)程只作為資源擁有的基本單位。(2)并發(fā)性。進(jìn)程可以并發(fā)執(zhí)行,一個(gè)進(jìn)程的多個(gè)線程也可并發(fā)執(zhí)行。
(3)擁有資源。進(jìn)程始終是擁有資源的基本單位,線程只擁有運(yùn)行時(shí)必不可少的資源,本 身基本不擁有系統(tǒng)資源,但可以訪問隸屬進(jìn)程的資源。
(4)系統(tǒng)開銷。操作系統(tǒng)在創(chuàng)建、撤消和切換進(jìn)程時(shí)付出的開銷顯著大于線程。39.為了在多線程OS 中實(shí)現(xiàn)進(jìn)程之間的同步與通信,通常提供了哪幾種同步機(jī)制? 答:同步功能可以控制程序流并訪問共享數(shù)據(jù),從而并發(fā)執(zhí)行多個(gè)線程。共有四種同步模型: 互斥鎖、讀寫鎖、條件變量和信號(hào)。
40.用于實(shí)現(xiàn)線程同步的私用信號(hào)量和公用信號(hào)量之間有何差別?
答:
(1)私用信號(hào)量。當(dāng)某線程需利用信號(hào)量實(shí)現(xiàn)同一進(jìn)程中各線程之間的同步時(shí),可調(diào)用創(chuàng) 建信號(hào)量的命令來創(chuàng)建一個(gè)私用信號(hào)量,其數(shù)據(jù)結(jié)構(gòu)存放在應(yīng)用程序的地址空間中。
(2)公用信號(hào)量。公用信號(hào)量是為實(shí)現(xiàn)不同進(jìn)程間或不同進(jìn)程中各線程之間的同步而設(shè)置 的。其數(shù)據(jù)結(jié)構(gòu)是存放在受保護(hù)的系統(tǒng)存儲(chǔ)區(qū)中,由OS為它分配空間并進(jìn)行管理。41.何謂用戶級(jí)線程和內(nèi)核支持線程?
答:
(1)用戶級(jí)線程:僅存在于用戶空間中的線程,無須內(nèi)核支持。這種線程的創(chuàng)建、撤銷、線程間的同步與通信等功能,都無需利用系統(tǒng)調(diào)用實(shí)現(xiàn)。用戶級(jí)線程的切換通常發(fā)生在一個(gè) 應(yīng)用進(jìn)程的諸多線程之間,同樣無需內(nèi)核支持。
(2)內(nèi)核支持線程:在內(nèi)核支持下運(yùn)行的線程。無論是用戶進(jìn)程中的線程,還是系統(tǒng)線程 中的線 程,其創(chuàng)建、撤銷和切換等都是依靠內(nèi)核,在內(nèi)核空間中實(shí)現(xiàn)的。在內(nèi)核空間里還 為每個(gè)內(nèi)核支持線程設(shè)置了線程控制塊,內(nèi)核根據(jù)該控制塊感知某線程的存在并實(shí)施控制。42.試說明用戶級(jí)線程的實(shí)現(xiàn)方法。
答:用戶級(jí)線程是在用戶空間中的實(shí)現(xiàn)的,運(yùn)行在“運(yùn)行時(shí)系統(tǒng)”與“內(nèi)核控制線程”的中 間系統(tǒng)上。運(yùn)行時(shí)系統(tǒng)用于管理和控制線程的函數(shù)的集合。內(nèi)核控制線程或輕型進(jìn)程LWP 可通過系統(tǒng)調(diào)用獲得內(nèi)核提供服務(wù),利用LWP進(jìn)程作為中間系統(tǒng)。43.試說明內(nèi)核支持線程的實(shí)現(xiàn)方法。
答:系統(tǒng)在創(chuàng)建新進(jìn)程時(shí),分配一個(gè)任務(wù)數(shù)據(jù)區(qū)PTDA,其中包括若干個(gè)線程控制塊TCB 空間。創(chuàng)建一個(gè)線程分配一個(gè)TCB,有關(guān)信息寫入TCB,為之分配必要的資源。當(dāng)PTDA 中的TCB 用完,而進(jìn)程又有新線程時(shí),只要所創(chuàng)建的線程數(shù)目未超過系統(tǒng)允許值,系統(tǒng)可 在為之分配新的TCB;在撤銷一個(gè)線程時(shí),也應(yīng)回收線程的所有資源和TCB。
第三章 第三章 處理機(jī)調(diào)度與死鎖
1.高級(jí)調(diào)度與低級(jí)調(diào)度的主要任務(wù)是什么?為什么要引入中級(jí)調(diào)度?
答:高級(jí)調(diào)度的主要任務(wù)是根據(jù)某種算法,把外存上處于后備隊(duì)列中的那些作業(yè)調(diào)入內(nèi)存。低級(jí)調(diào)度是保存處理機(jī)的現(xiàn)場(chǎng)信息,按某種算法先取進(jìn)程,再把處理器分配給進(jìn)程。引入中級(jí)調(diào)度的主要目的是為了提高內(nèi)存利用率和系統(tǒng)吞吐量。使那些暫時(shí)不能運(yùn)行的進(jìn)程不再占用內(nèi)存資源,將它們調(diào)至外存等待,把進(jìn)程狀態(tài)改為就緒駐外存狀態(tài)或掛起狀態(tài)。2.何謂作業(yè)、作業(yè)步和作業(yè)流?
答:作業(yè)包含通常的程序和數(shù)據(jù),還配有作業(yè)說明書。系統(tǒng)根據(jù)該說明書對(duì)程序的運(yùn)行進(jìn)行控制。批處理系統(tǒng)中是以作業(yè)為基本單位從外存調(diào)入內(nèi)存。
作業(yè)步是指每個(gè)作業(yè)運(yùn)行期間都必須經(jīng)過若干個(gè)相對(duì)獨(dú)立相互關(guān)聯(lián)的順序加工的步驟。作業(yè)流是指若干個(gè)作業(yè)進(jìn)入系統(tǒng)后依次存放在外存上形成的輸入作業(yè)流;在操作系統(tǒng)的控制下,逐個(gè)作業(yè)進(jìn)程處理,于是形成了處理作業(yè)流。
3.在什么情況下需要使用作業(yè)控制塊JCB?其中包含了哪些內(nèi)容?
答:每當(dāng)作業(yè)進(jìn)入系統(tǒng)時(shí),系統(tǒng)便為每個(gè)作業(yè)建立一個(gè)作業(yè)控制塊JCB,根據(jù)作業(yè)類型將它插入到相應(yīng)的后備隊(duì)列中。JCB 包含的內(nèi)容通常有:1)作業(yè)標(biāo)識(shí)2)用戶名稱3)用戶賬戶4)作業(yè)類型(CPU繁忙型、I/O 芳名型、批量型、終端型)5)作業(yè)狀態(tài)6)調(diào)度信息(優(yōu)先級(jí)、作業(yè)已運(yùn)行)7)資源要求8)進(jìn)入系統(tǒng)時(shí)間9)開始處理時(shí)間10)作業(yè)完成時(shí)間11)作業(yè)退出時(shí)間12)資源使用情況等 4.在作業(yè)調(diào)度中應(yīng)如何確定接納多少個(gè)作業(yè)和接納哪些作業(yè)?
答:作業(yè)調(diào)度每次接納進(jìn)入內(nèi)存的作業(yè)數(shù),取決于多道程序度。應(yīng)將哪些作業(yè)從外存調(diào)入內(nèi)存,取決于采用的調(diào)度算法。最簡(jiǎn)單的是先來服務(wù)調(diào)度算法,較常用的是短作業(yè)優(yōu)先調(diào)度算法和基于作業(yè)優(yōu)先級(jí)的調(diào)度算法。5.試說明低級(jí)調(diào)度的主要功能。
答:(1)保存處理機(jī)的現(xiàn)場(chǎng)信息(2)按某種算法選取進(jìn)程(3)把處理機(jī)分配給進(jìn)程。6.在搶占調(diào)度方式中,搶占的原則是什么?
答:搶占的原則有:時(shí)間片原則、優(yōu)先權(quán)原則、短作業(yè)優(yōu)先權(quán)原則等。7.在選擇調(diào)度方式和調(diào)度算法時(shí),應(yīng)遵循的準(zhǔn)則是什么?
答:
(1)面向用戶的準(zhǔn)則:周轉(zhuǎn)時(shí)間短、響應(yīng)時(shí)間快、截止時(shí)間的保證、優(yōu)先權(quán)準(zhǔn)則。(2)面向系統(tǒng)的準(zhǔn)則:系統(tǒng)吞吐量高、處理機(jī)利用率好、各類資源的平衡利用。
8.在批處理系統(tǒng)、分時(shí)系統(tǒng)和實(shí)時(shí)系統(tǒng)中,各采用哪幾種進(jìn)程(作業(yè))調(diào)度算法? 答:批處理系統(tǒng)的調(diào)度算法:短作業(yè)優(yōu)先、優(yōu)先權(quán)、高響應(yīng)比優(yōu)先、多級(jí)反饋隊(duì)列調(diào)度算法。分時(shí)系統(tǒng)的調(diào)度算法:時(shí)間片輪轉(zhuǎn)法。
實(shí)時(shí)系統(tǒng)的調(diào)度算法:最早截止時(shí)間優(yōu)先即EDF、最低松弛度優(yōu)先即LLF算法。9.何謂靜態(tài)和動(dòng)態(tài)優(yōu)先級(jí)?確定靜態(tài)優(yōu)先級(jí)的依據(jù)是什么?
答:靜態(tài)優(yōu)先級(jí)是指在創(chuàng)建進(jìn)程時(shí)確定且在進(jìn)程的整個(gè)運(yùn)行期間保持不變的優(yōu)先級(jí)。
動(dòng)態(tài)優(yōu)先級(jí)是指在創(chuàng)建進(jìn)程時(shí)賦予的優(yōu)先權(quán),可以隨進(jìn)程推進(jìn)或隨其等待時(shí)間增加而改變的優(yōu)先級(jí),可以獲得更好的調(diào)度性能。
確定進(jìn)程優(yōu)先級(jí)的依據(jù):進(jìn)程類型、進(jìn)程對(duì)資源的需求和用戶要求。10.試比較FCFS和SPF兩種進(jìn)程調(diào)度算法。
答:相同點(diǎn):兩種調(diào)度算法都可以用于作業(yè)調(diào)度和進(jìn)程調(diào)度。
不同點(diǎn):FCFS調(diào)度算法每次都從后備隊(duì)列中選擇一個(gè)或多個(gè)最先進(jìn)入該隊(duì)列的作業(yè),將它們調(diào)入內(nèi)存、分配資源、創(chuàng)建進(jìn)程、插入到就緒隊(duì)列。該算法有利于長作業(yè)/進(jìn)程,不利于短作業(yè)/進(jìn)程。SPF算法每次調(diào)度都從后備隊(duì)列中選擇一個(gè)或若 15 干個(gè)估計(jì)運(yùn)行時(shí)間最短的作業(yè),調(diào)入內(nèi)存中運(yùn)行。該算法有利于短作業(yè)/進(jìn)程,不利于長作業(yè)/進(jìn)程。
11.在時(shí)間片輪轉(zhuǎn)法中,應(yīng)如何確定時(shí)間片的大小?
答:時(shí)間片應(yīng)略大于一次典型的交互需要的時(shí)間。一般應(yīng)考慮三個(gè)因素:系統(tǒng)對(duì)相應(yīng)時(shí)間的 要求、就緒隊(duì)列中進(jìn)程的數(shù)目和系統(tǒng)的處理能力。
12.通過一個(gè)例子來說明通常的優(yōu)先級(jí)調(diào)度算法不能適用于實(shí)時(shí)系統(tǒng)?
答:實(shí)時(shí)系統(tǒng)的調(diào)度算法很多,主要是基于任務(wù)的開始截止時(shí)間和任務(wù)緊急/松弛程度的任務(wù)優(yōu)先級(jí)調(diào)度算法,通常的優(yōu)先級(jí)調(diào)度算法不能滿足實(shí)時(shí)系統(tǒng)的調(diào)度實(shí)時(shí)性要求而不適用。
13.為什么說多級(jí)反饋隊(duì)列調(diào)度算法能較好地滿足各方面用戶的需求?
答:(1)終端型作業(yè)用戶提交的作業(yè)大多屬于較小的交互型作業(yè),系統(tǒng)只要使這些作業(yè)在第一隊(duì)列規(guī)定的時(shí)間片內(nèi)完成,終端作業(yè)用戶就會(huì)感到滿足。
(2)短批處理作業(yè)用戶,開始時(shí)像終端型作業(yè)一樣,如果在第一隊(duì)列中執(zhí)行一個(gè)時(shí)間片段即可完成,便可獲得與終端作業(yè)一樣的響應(yīng)時(shí)間。對(duì)于稍長作業(yè),通常只需在第二和第三隊(duì)列各執(zhí)行一時(shí)間片即可完成,其周轉(zhuǎn)時(shí)間仍然較短。
(3)長批處理作業(yè),它將依次在第1,2,?,n個(gè)隊(duì)列中運(yùn)行,然后再按輪轉(zhuǎn)方式運(yùn)行,用戶不必?fù)?dān)心其作業(yè)長期得不到處理。所以,多級(jí)反饋隊(duì)列調(diào)度算法能滿足多用戶需求。14.為什么在實(shí)時(shí)系統(tǒng)中,要求系統(tǒng)(尤其是CPU)具有較強(qiáng)的處理能力?
答:實(shí)時(shí)系統(tǒng)中通常有著多個(gè)實(shí)時(shí)任務(wù)。若處理機(jī)的處理能力不夠強(qiáng),有可能因?yàn)樘幚頇C(jī)忙不過來而使某些實(shí)時(shí)任務(wù)得不到及時(shí)處理,導(dǎo)致發(fā)生難以預(yù)料的后果。15.按照調(diào)度方式可將實(shí)時(shí)調(diào)度算法分為哪幾種? 答:可分為非搶占式和搶占式兩種算法。而非搶占式算法又分為非搶占式輪轉(zhuǎn)和優(yōu)先調(diào)度算法;搶占式調(diào)度算法又分為基于時(shí)鐘中斷的搶占式優(yōu)先權(quán)和立即搶占式優(yōu)先權(quán)調(diào)度算法。
16.什么是最早截止時(shí)間優(yōu)先調(diào)度算法?舉例說明。
答:根據(jù)任務(wù)的開始截止時(shí)間確定的任務(wù)優(yōu)先級(jí)調(diào)度算法。截止時(shí)間越早則優(yōu)先級(jí)越高。該算法要求在系統(tǒng)中保持一個(gè)實(shí)時(shí)任務(wù)就緒隊(duì)列,該隊(duì)列按各任務(wù)截止時(shí)間的先后排序。舉例:非搶占式調(diào)度方式用于非周期實(shí)時(shí)任務(wù)。圖3-9 是將該算法用于非搶占調(diào)度方式之例。該例中具有四個(gè)非周期任務(wù),它們先后到達(dá)。系統(tǒng)首先調(diào)度任務(wù)1執(zhí)行,在任務(wù)1執(zhí)行期間,任務(wù)2、3又先后到達(dá)。由于任務(wù)3的開始截止時(shí)間早于任務(wù)2,故系統(tǒng)在任務(wù)1后將調(diào)度任務(wù)3執(zhí)行。在此期間又到達(dá)作業(yè)4,其開始截止時(shí)間仍是早于任務(wù)2的,故在任務(wù)3執(zhí)行完后,系統(tǒng)又調(diào)度任務(wù)4執(zhí)行,最后才調(diào)度任務(wù)2執(zhí)行。
圖3-9 EDF算法用于非搶占調(diào)度的調(diào)度方式
17.什么是最低松弛度優(yōu)先調(diào)度算法?舉例說明之。
答:該算法是根據(jù)任務(wù)緊急(或松弛)的程度,來確定任務(wù)的優(yōu)先級(jí)。任務(wù)的緊急程度愈高,為該任務(wù)所賦予的優(yōu)先級(jí)就愈高,以使之優(yōu)先執(zhí)行。例如,一個(gè)任務(wù)在200 ms 時(shí)必須完
成,而它本身所需的運(yùn)行時(shí)間就有100 ms,因此,調(diào)度程序必須在100 ms 之前調(diào)度執(zhí)行,該任務(wù)的緊急程度(松弛程度)為100 ms。又如,另一任務(wù)在400 ms 時(shí)必須完成,它本身 需要運(yùn)行 150 ms,則其松弛程度為 250 ms。
18.何謂死鎖?產(chǎn)生死鎖的原因和必要條件是什么? 答:死鎖是指多個(gè)進(jìn)程在運(yùn)行過程中因爭(zhēng)奪資源而造成的一種僵局,當(dāng)進(jìn)程處于這種僵持狀 態(tài)時(shí),若無外力作用,它們都將無法再向前推進(jìn)。
產(chǎn)生死鎖的原因?yàn)楦?jìng)爭(zhēng)資源和進(jìn)程間推進(jìn)順序非法。其必要條件是:互斥條件、請(qǐng)求和 保持條件、不剝奪條件、環(huán)路等待條件。
19.在解決死鎖問題的幾個(gè)方法中,哪種方法最易于實(shí)現(xiàn)?哪種方法使資源利用率最高? 答:解決死鎖的四種方法即預(yù)防、避免、檢測(cè)和解除死鎖中,預(yù)防死鎖最容易實(shí)現(xiàn); 避免死鎖使資源的利用率最高。
20.請(qǐng)?jiān)敿?xì)說明可通過哪些途徑預(yù)防死鎖。
答:(1)擯棄“請(qǐng)求和保持”條件,就是如果系統(tǒng)有足夠資源,便一次性把進(jìn)程需要的所 有資源分配給它;
(2)擯棄“不剝奪”條件,就是已經(jīng)擁有資源的進(jìn)程,當(dāng)它提出新資源請(qǐng)求而不能立即 滿足時(shí),必須釋放它已保持的所有資源,待以后需要時(shí)再重新申請(qǐng);
(3)擯棄“環(huán)路等待”條件,就是將所有資源按類型排序標(biāo)號(hào),所有進(jìn)程對(duì)資源的請(qǐng)求 必須嚴(yán)格按序號(hào)遞增的次序提出。
21.在銀行家算法的例子中,如果P0發(fā)出請(qǐng)求向量由Request(0,2,0)改為Request(0,1,0),問系統(tǒng)可否將資源分配給它?
答:(1)可以。銀行家算法各種資源數(shù)量分別為10、5、7,在T0時(shí)刻的資源分配如圖所示:
(2)具體分析如下:
①Requst0(0,1,0)<=Need0(7,4,3);② Requst0(0,1,0)<=Available(2,3,0);系統(tǒng)先假定可為P0分配資源,并修改Available0,Allocation0和Need0向量,由此形成 的資源變化情況如下圖所示:
(3)P0請(qǐng)求資源:P0發(fā)出請(qǐng)求向量Requst0(0,1,0),系統(tǒng)按銀行家算法進(jìn)行檢查:
① Requst0(0,1,0)<=Need0(7,4,3);② Requst0(0,1,0)<=Available(2,3,0);③ 系統(tǒng)暫時(shí)先假定可為P0分配資源,并修改______________有關(guān)數(shù)據(jù),如下圖所示
綜上所述系統(tǒng)可以將資源分配給它。
22.銀行家算法中出現(xiàn)以下資源分配,試問(1)該狀態(tài)是否安全?(2)若進(jìn)程P2 提出 Request(1,2,2,2)后,系統(tǒng)能否將資源分配給它?
試問:(1)該狀態(tài)是否安全?
(2)若進(jìn)程P2提出請(qǐng)求Request(1,2,2,2)后,系統(tǒng)能否將資源分配給它? 答:(1)安全,因?yàn)榇嬖诎踩蛄衶P0,P3,P4,P1,P2}(2)系統(tǒng)能分配資源,分析如下。
① Request(1,2,2,2)<= Need2(2,3,5,6);② Request(1,2,2,2)<= Available2(1,3,5,4);
③ 系統(tǒng)先假定可為P2分配資源,并修改Available2,Allocation2和Need2向量,由此形成的資源變化情況如下圖所示:
④ 再利用安全性算法檢查此時(shí)系統(tǒng)是否安全。如下圖
由此進(jìn)行的安全性檢查得知,可以找到一個(gè)安全序列{P2,P0,P1,P3,P4}。
第四章
1.為什么要配置層次式存儲(chǔ)器?
答:設(shè)置多個(gè)存儲(chǔ)器可以使存儲(chǔ)器兩端的硬件能并行工作;采用多級(jí)存儲(chǔ)系統(tǒng),特別是 Cache 技術(shù),是減輕存儲(chǔ)器帶寬對(duì)系統(tǒng)性能影響的最佳結(jié)構(gòu)方案;在微處理機(jī)內(nèi)部設(shè)置各 種緩沖存儲(chǔ)器,減輕對(duì)存儲(chǔ)器存取的壓力。增加CPU中寄存器數(shù)量大大緩解對(duì)存儲(chǔ)器壓力。2.可采用哪幾種方式將程序裝入內(nèi)存?它們分別適用于何種場(chǎng)合?
答:(1)絕對(duì)裝入方式,只適用于單道程序環(huán)境。(2)可重定位裝入方式,適用于多道程序環(huán)境。
(3)動(dòng)態(tài)運(yùn)行時(shí)裝入方式,用于多道程序環(huán)境;不允許程序運(yùn)行時(shí)在內(nèi)存中移位置。3.何謂靜態(tài)鏈接?何謂裝入時(shí)動(dòng)態(tài)鏈接和運(yùn)行時(shí)的動(dòng)態(tài)鏈接?P120 答:靜態(tài)鏈接是指在程序運(yùn)行前,先將各目標(biāo)模塊及它們所需的庫函數(shù),鏈接成一個(gè)完整的 裝配模塊,以后不再拆開的鏈接方式。
裝入時(shí)動(dòng)態(tài)鏈接是指將用戶源程序編譯后得到的一組目標(biāo)模塊,在裝入內(nèi)存時(shí)采用邊裝 入邊鏈接的鏈接方式。
運(yùn)行時(shí)動(dòng)態(tài)鏈接是指對(duì)某些目標(biāo)模塊的鏈接,是在程序執(zhí)行中需要該目標(biāo)模塊時(shí),才對(duì) 它進(jìn)行的鏈接。
4.在進(jìn)行程序鏈接時(shí),應(yīng)完成哪些工作?
答:由鏈接程序Linker將編譯后形成的一組目標(biāo)模塊,以及它們需要的庫函數(shù)鏈接在一起,形成一個(gè)完整的裝入模塊Load Module。主要工作是修改程序內(nèi)的相對(duì)地址和修改目標(biāo)程 序中的外部調(diào)用標(biāo)號(hào)。
5.在動(dòng)態(tài)分區(qū)分配方式中,應(yīng)如何將各空閑分區(qū)鏈接成空閑分區(qū)鏈?
答:在每個(gè)分區(qū)的起始部分,設(shè)置一些控制分區(qū)分配的信息,以及用于鏈接各分區(qū)所用的前 向指針;在分區(qū)尾部設(shè)置一個(gè)后向指針,通過前后向鏈接指針,將所有空閑分區(qū)鏈成一個(gè)雙 向鏈。當(dāng)分區(qū)分配出去后,把狀態(tài)位由“0”改為“1”。
6.為什么要引入動(dòng)態(tài)重定位?如何實(shí)現(xiàn)?
答:在程序執(zhí)行過程中,每當(dāng)訪問指令或數(shù)據(jù)時(shí),將要訪問的程序或數(shù)據(jù)的邏輯地址轉(zhuǎn)換成 物理地址,引入了動(dòng)態(tài)重定位;
具體實(shí)現(xiàn)方法是在系統(tǒng)中增加一個(gè)重定位寄存器,用來裝入程序在內(nèi)存中的起始地址,程序執(zhí)行時(shí),真正訪問的內(nèi)存地址是相對(duì)地址與重定位寄存器中的地址相加之和,從而實(shí)現(xiàn) 動(dòng)態(tài)重定位。
7.在采用首次適應(yīng)算法回收內(nèi)存時(shí),可能出現(xiàn)哪幾種情況?應(yīng)怎樣處理這些情況? 答:在采用首次適應(yīng)算法回收內(nèi)存時(shí)可能出現(xiàn)4種情況:
(1)回收區(qū)前鄰空閑區(qū)。將回收區(qū)與前鄰空閑區(qū)合并,將前鄰空閑區(qū)大小修改為兩者之和。(2)回收區(qū)后鄰空閑區(qū)。將兩區(qū)合并,改后鄰空閑區(qū)始址為回收區(qū)始址,大小為兩者之和。
19(3)回收區(qū)前后均鄰空閑區(qū)。將三個(gè)分區(qū)合并,修改前鄰空閑區(qū)大小為三者之和。(4)回收區(qū)前后均不鄰空閑區(qū)。為回收區(qū)設(shè)置空閑區(qū)表項(xiàng),填入回收區(qū)始址和大小并插入 空閑區(qū)隊(duì)列。8.令通用表達(dá)式。答:當(dāng)
時(shí),表示大小為、地址為x 的塊的伙伴系統(tǒng)地址,試寫出的;當(dāng)
時(shí),9.分區(qū)存儲(chǔ)管理中常用那些分配策略?比較它們的優(yōu)缺點(diǎn)。
答:分區(qū)存儲(chǔ)管理中的常用分配策略:首次適應(yīng)算法、循環(huán)首次適應(yīng)算法、最佳適應(yīng)算法、最壞適應(yīng)算法。
首次適應(yīng)算法優(yōu)缺點(diǎn):保留了高址部分的大空閑區(qū),有利于后來的大型作業(yè)分配;低址
部分不斷被劃分,留下許多難以利用的小空閑區(qū),每次查找都從低址開始增加了系統(tǒng)開銷。
循環(huán)首次適應(yīng)算法優(yōu)缺點(diǎn):內(nèi)存空閑分區(qū)分布均勻,減少了查找系統(tǒng)開銷;缺乏大空閑分區(qū),導(dǎo)致不能裝入大型作業(yè)。
最佳適應(yīng)算法優(yōu)缺點(diǎn):每次分配給文件的都是最適合該文件大小的分區(qū),內(nèi)存中留下許多難以利用的小空閑區(qū)。
最壞適應(yīng)算法優(yōu)缺點(diǎn):剩下空閑區(qū)不太小,產(chǎn)生碎片幾率小,對(duì)中小型文件分配分區(qū)操作有利;存儲(chǔ)器中缺乏大空閑區(qū),對(duì)大型文件分區(qū)分配不利。
10.在系統(tǒng)中引入對(duì)換后可帶來哪些好處?
答:交換技術(shù)將暫不需要的作業(yè)移到外存,讓出內(nèi)存空間以調(diào)入其它作業(yè),交換到外存的作 業(yè)也可以被再次調(diào)入。目的是解決內(nèi)存緊張問題,帶來的好處是進(jìn)一步提高了內(nèi)存利用率和 系統(tǒng)吞吐量。
11.為實(shí)現(xiàn)對(duì)換,系統(tǒng)應(yīng)具備哪幾方面的功能?
答:系統(tǒng)應(yīng)具備三方面功能:對(duì)換空間管理,進(jìn)程換出,進(jìn)程換入。
12.在以進(jìn)程為單位進(jìn)行對(duì)換時(shí),每次是否都將整個(gè)進(jìn)程換出?為什么?
答:不是。系統(tǒng)首先選擇處于阻塞狀態(tài)且優(yōu)先級(jí)最低的進(jìn)程作為換出進(jìn)程,然后啟動(dòng)磁盤,將該進(jìn)程的程序和數(shù)據(jù)傳送到磁盤的兌換區(qū)。若傳送過程未出錯(cuò),便可回收該進(jìn)程占用的內(nèi) 存空間,并對(duì)該進(jìn)程的進(jìn)程控制塊做相應(yīng)修改,所以并不需要將整個(gè)進(jìn)程換出。13.為實(shí)現(xiàn)分頁存儲(chǔ)管理,需要哪些硬件的支持?
答:動(dòng)態(tài)重定位技術(shù)、虛擬存儲(chǔ)技術(shù)、多道程序設(shè)計(jì)技術(shù)。
14.較詳細(xì)的說明引入分段存儲(chǔ)管理是為了滿足用戶哪幾方面的需要。答:
1)方便編程。用戶通常把自己的作業(yè)按照邏輯關(guān)系劃分為若干段,每段都從0 編址,并 有自己名字和長度。因此,希望要訪問的邏輯地址是由段名和段內(nèi)偏移量決定。
2)信息共享。在實(shí)現(xiàn)對(duì)程序和數(shù)據(jù)的共享時(shí),是以信息邏輯單位為基礎(chǔ)。分頁系統(tǒng)中的頁 是存放信息的物理單位,無完整意義,不便于共享;段是信息的邏輯單位。為了實(shí)現(xiàn)段 的共享,希望存儲(chǔ)管理能與用戶程序分段的組織方式相適應(yīng)。
3)信息保護(hù)。對(duì)信息的邏輯單位進(jìn)行保護(hù),分段能更有效方便地實(shí)現(xiàn)信息保護(hù)功能。
4)動(dòng)態(tài)增長。在實(shí)際應(yīng)用中,有些段特別是數(shù)據(jù)段,在使用過程中會(huì)不斷增長,事先又無
法確切知道增長多少。分段存儲(chǔ)管理方式能較好解決這個(gè)問題。
5)動(dòng)態(tài)鏈接。運(yùn)行時(shí)先將主程序?qū)?yīng)的目標(biāo)程序裝入內(nèi)存并啟動(dòng)運(yùn)行,運(yùn)行過程中又需要 調(diào)用某段時(shí),才將該段調(diào)入內(nèi)存鏈接。所以動(dòng)態(tài)鏈接也要求以段作為管理單位。15.在具有快表的段頁式存儲(chǔ)管理方式中,如何實(shí)現(xiàn)地址變換?
答:在CPU給出有效地址后,由地址變換機(jī)構(gòu)自動(dòng)將頁號(hào)P送入高速緩沖寄存器,并將此 頁號(hào)與高速緩存中的所有頁號(hào)比較,若找到匹配頁號(hào),表示要訪問的頁表項(xiàng)在快表中。可直 接從快表讀出該頁對(duì)應(yīng)物理塊號(hào),送到物理地址寄存器中。如快表中沒有對(duì)應(yīng)頁表項(xiàng),則再 訪問內(nèi)存頁表,找到后,把從頁表項(xiàng)中讀出物理塊號(hào)送地址寄存器;同時(shí)修改快表,將此頁 表項(xiàng)存入快表。但若寄存器已滿,則OS必須找到合適的頁表項(xiàng)換出。16.為什么說為什么說分段系統(tǒng)比分頁系統(tǒng)更易于實(shí)現(xiàn)信息的共享和保護(hù)?
答:分頁系統(tǒng)的每個(gè)頁面是分散存儲(chǔ)的,為了實(shí)現(xiàn)信息共享和保護(hù),頁面之間需要一一對(duì)應(yīng),為此需要建立大量的頁表項(xiàng);而分段系統(tǒng)的每個(gè)段都從0 編址,并采用一段連續(xù)的地址空 間,在實(shí)現(xiàn)共享和保護(hù)時(shí),只需為要共享和保護(hù)的程序設(shè)置一個(gè)段表項(xiàng),將其中的基址與內(nèi) 存地址一一對(duì)應(yīng)就能夠?qū)崿F(xiàn)。
17.分段和分頁存儲(chǔ)管理有何區(qū)別?
答:
(1)是信息的物理單位,分頁是為了實(shí)現(xiàn)離散分配方式,以消減內(nèi)存的外部零頭,提高內(nèi) 存利用率。段則是信息的邏輯單位,它含有一組相對(duì)完整的信息。
(2)頁的大小固定且由系統(tǒng)決定,由系統(tǒng)把邏輯地址劃分為頁號(hào)和頁內(nèi)地址兩部分,是由 機(jī)械硬件實(shí)現(xiàn)的,因而在系統(tǒng)中只能有一種大小的的頁面;而段的長度卻不固定,決定于用戶 所編寫的程序,通常由編譯程序在對(duì)原程序進(jìn)行編譯時(shí),根據(jù)信息的性質(zhì)來劃分。(3)分頁的作業(yè)地址空間是一維的,而分段作業(yè)地址空間則是二維的。18.試全面比較連續(xù)分配和離散分配方式.答:
(1)連續(xù)分配是指為一個(gè)用戶程序分配一個(gè)連續(xù)的地址空間,包括單一和分區(qū)兩種分配方 式。單一方式將內(nèi)存分為系統(tǒng)區(qū)和用戶區(qū),最簡(jiǎn)單,只用于單用戶單任務(wù)操作系統(tǒng);分區(qū)方 式分固定和動(dòng)態(tài)分區(qū)。
(2)離散分配方式分為分頁、分段和段頁式存儲(chǔ)管理。分頁式存儲(chǔ)管理旨在提高內(nèi)存利用 率,分段式存儲(chǔ)管理旨在滿足用戶(程序員)的需要,段頁式存儲(chǔ)管理則將兩者結(jié)合起來,具 有分段系統(tǒng)便于實(shí)現(xiàn)、可共享、易于保護(hù)和動(dòng)態(tài)鏈接等優(yōu)點(diǎn),又能像分頁系統(tǒng)很好解決外部 碎片及為各段可離散分配內(nèi)存等問題,是比較有效的存儲(chǔ)管理方式;
19.虛擬存儲(chǔ)器有哪些特征?其中最本質(zhì)的特征是什么?
答:虛擬存儲(chǔ)器有多次性、對(duì)換性、虛擬性三大特征。最本質(zhì)的特征是虛擬性。
20.實(shí)現(xiàn)虛擬存儲(chǔ)器需要哪些硬件支持?
答:(1)請(qǐng)求分頁(段)的頁(段)表機(jī)制(2)缺頁(段)中斷機(jī)構(gòu)(3)地址變換機(jī)構(gòu) 21.實(shí)現(xiàn)虛擬存儲(chǔ)器需要哪幾個(gè)關(guān)鍵技術(shù)?
答:
(1)在分頁請(qǐng)求系統(tǒng)中是在分頁的基礎(chǔ)上,增加了請(qǐng)求調(diào)頁功能和頁面置換功能所形成的 頁式虛擬存儲(chǔ)系統(tǒng)。允許只裝入少數(shù)頁面的程序(及數(shù)據(jù)),便啟動(dòng)運(yùn)行。
(2)在請(qǐng)求分段系統(tǒng)中是在分段系統(tǒng)的基礎(chǔ)上,增加了請(qǐng)求調(diào)段及分段置換功能后形成的 段式虛擬存儲(chǔ)系統(tǒng)。允許只裝入少數(shù)段(而非所有段)的用戶程序和數(shù)據(jù),即可啟動(dòng)運(yùn)行。22.在請(qǐng)求分頁系統(tǒng)中,頁表應(yīng)包括哪些數(shù)據(jù)項(xiàng)?每項(xiàng)的作用是什么?
答:頁表應(yīng)包括:頁號(hào)、物理塊號(hào)、狀態(tài)位P、訪問字段A、修改位M和外存地址。
其中狀態(tài)位P 指示該頁是否調(diào)入內(nèi)存,供程序訪問時(shí)參考;訪問字段A 用于記錄本頁在一 段時(shí)間內(nèi)被訪問的次數(shù),或最近已有多長時(shí)間未被訪問,提供給置換算法選擇換出頁面時(shí)參 考;修改位M 表示該頁在調(diào)入內(nèi)存后是否被修改過;外存地址用于指出該頁在外存上的地 址,通常是物理塊號(hào),供調(diào)入該頁時(shí)使用。
23.在請(qǐng)求分頁系統(tǒng)中,應(yīng)從何處將所需頁面調(diào)入內(nèi)存?
答:請(qǐng)求分頁系統(tǒng)中的缺頁從何處調(diào)入內(nèi)存分三種情況:
(1)系統(tǒng)擁有足夠?qū)Q區(qū)空間時(shí),可以全部從對(duì)換區(qū)調(diào)入所需頁面,提高調(diào)頁速度。在進(jìn)程運(yùn)行前將與該進(jìn)程有關(guān)的文件從文件區(qū)拷貝到對(duì)換區(qū)。
(2)系統(tǒng)缺少足夠?qū)Q區(qū)空間時(shí),不被修改的文件直接從文件區(qū)調(diào)入;當(dāng)換出這些頁面時(shí),未被修改的不必?fù)Q出,再調(diào)入時(shí),仍從文件區(qū)直接調(diào)入。對(duì)于可能修改的,在換出時(shí)便調(diào)到對(duì)換區(qū),以后需要時(shí)再從對(duì)換區(qū)調(diào)入。
(3)UNIX 方式。未運(yùn)行頁面從文件區(qū)調(diào)入。曾經(jīng)運(yùn)行過但被換出頁面,下次從對(duì)換區(qū)調(diào)入。UNIX 系統(tǒng)允許頁面共享,某進(jìn)程請(qǐng)求的頁面有可能已調(diào)入內(nèi)存,直接使用不再調(diào)入。24.在請(qǐng)求分頁系統(tǒng)中,常采用哪幾種頁面置換算法?
答:采用的頁面置換算法有:最佳置換算法和先進(jìn)先出置換算法,最近最久未使用(LRU)置換算法,Clock置換算法,最少使用置換算法,頁面緩沖算法等。
25.在請(qǐng)求分頁系統(tǒng)中,通常采用哪種頁面分配方式?為什么?
答:固定分配方式是基于進(jìn)程的類型(交互型)或根據(jù)程序員、系統(tǒng)管理員的建議,為每個(gè)進(jìn)程分配固定頁數(shù)的內(nèi)存空間,整個(gè)運(yùn)行期間不再改變;采用可變分配方式有全局置換和局部置換兩種,前者易于實(shí)現(xiàn),后者效率高。26.在一個(gè)請(qǐng)求分頁系統(tǒng)中,采用LRU 頁面置換算法時(shí),假如一個(gè)作業(yè)的頁面走向?yàn)?4 , 3 , 2 ,1 , 4 , 3 , 5 , 4 ,3 , 2 , 1 ,5,當(dāng)分配給該作業(yè)的物理塊數(shù)M分別為3和4時(shí),試計(jì)算訪問過程中所發(fā)生的缺頁次數(shù)和缺頁率 ? 比較所得結(jié)果 ? 答:當(dāng)分配給該作業(yè)的物理塊數(shù)M為3時(shí),缺頁7次,缺頁率: 7/12=0.583; 當(dāng)分配給該作業(yè)的物理塊數(shù)M為4時(shí),缺頁4次,缺頁率: 4/12=0.333.27.實(shí)現(xiàn)LRU算法所需的硬件支持是什么? 答:需要寄存器和棧等硬件支持。寄存器用于記錄某進(jìn)程在內(nèi)存中各頁的使用情況,棧用于 保存當(dāng)前使用的各個(gè)頁面的頁面號(hào)。
28.試說明改進(jìn)型 Clock 置換算法的基本原理.答:因?yàn)樾薷倪^的頁面在換出時(shí)付出的開銷比未被修改過的頁面大,在改進(jìn)型Clock 算法 中,既考慮頁面的使用情況,還要增加置換代價(jià)的因素;在選擇頁面作為淘汰頁面時(shí),把同 時(shí)滿足未使用過和未被修改作為首選淘汰頁面。29.說明請(qǐng)求分段系統(tǒng)中的缺頁中斷處理過程。答:請(qǐng)求分段系統(tǒng)中的缺頁中斷處理過程描述如下:
(1)根據(jù)當(dāng)前執(zhí)行指令中的邏輯地址查頁表,判斷該頁是否在主存儲(chǔ)器中
(2)該頁標(biāo)志為“0”形成缺頁中斷,中斷裝置通過交換PSW讓操作系統(tǒng)的中斷處理程序占用處理器。
(3)操作系統(tǒng)處理缺頁中斷處理的辦法是查主存分配表找一個(gè)空閑的主存塊,查頁表找出該頁在磁盤上位置,啟動(dòng)磁盤讀出該頁信息。(4)把從磁盤上讀出的信息裝入找到的主存塊中。
(5)當(dāng)頁面住處被裝入主存后,應(yīng)修改頁表中對(duì)應(yīng)的表目,填上該頁所占用的主存塊把標(biāo)志置為“1”,表示該頁已在主存儲(chǔ)器中
(6)由于產(chǎn)生缺頁中斷時(shí)的那條指令并沒執(zhí)行完,所以在把頁面裝入之后應(yīng)重新執(zhí)行被中 22 斷指令。
請(qǐng)求分段系統(tǒng)中的缺頁中斷處理過程如下圖所示:
30.如何實(shí)現(xiàn)分段共享 ? 答:在每個(gè)進(jìn)程的段表中,用相應(yīng)的表項(xiàng)指向共享段在內(nèi)存中起始地址;配置相應(yīng)的數(shù)據(jù)結(jié)構(gòu)作為共享段表,在段表項(xiàng)中設(shè)置共享進(jìn)程計(jì)數(shù)Count,每調(diào)用一次該共享段,Count值增 1,每當(dāng)進(jìn)程釋放一個(gè)共享段時(shí),Count 減1,若減為0,則系統(tǒng)回收該共享段的物理內(nèi)存,取消在共享段表中該段對(duì)應(yīng)的表項(xiàng);共享段應(yīng)給不同的進(jìn)程以不同的存取權(quán)限;不同的進(jìn)程可以使用不同的段號(hào)去共享該段。
第五章
1.試說明設(shè)備控制器的組成。
答:由設(shè)備控制器與處理機(jī)的接口,設(shè)備控制器與設(shè)備的接口與I/O邏輯組成。
2.為了實(shí)現(xiàn)CPU與設(shè)備控制器間的通信,設(shè)備控制器應(yīng)具備哪些功能?
答:接收和識(shí)別命令;數(shù)據(jù)交換;標(biāo)識(shí)和報(bào)告設(shè)備狀態(tài);地址識(shí)別;數(shù)據(jù)緩沖;差錯(cuò)控制。3.什么是字節(jié)多路通道?什么是數(shù)組選擇通道和數(shù)組多路通道?
答:(1)字節(jié)多路通道。按字節(jié)交叉方式工作的通道。通常含有許多非分配型子通道,數(shù) 量從幾十到數(shù)百個(gè),每個(gè)子通道連接一臺(tái)I/O 設(shè)備,控制其I/O 操作。子通道按時(shí)間片輪 轉(zhuǎn)方式共享主通道。
(2)數(shù)組選擇通道。按數(shù)組方式傳送數(shù)據(jù),傳輸速率很高,每次只允許一個(gè)設(shè)備數(shù)據(jù)。
(3)數(shù)組多路通道。將數(shù)組選擇通道傳輸速率高和字節(jié)多路通道的各子通道分時(shí)并行操作的優(yōu)點(diǎn)結(jié)合而成。含有多個(gè)非分配型子通道,具有很高的數(shù)據(jù)傳輸率和通道利用率。4.如何解決因通道不足而產(chǎn)生的瓶頸問題? 答:解決問題的有效方法是增加設(shè)備到主機(jī)間的通路而不增加通道,把一個(gè)設(shè)備連到多個(gè)控 23 制器上,控制器又連到多個(gè)通道上,這種多通路方式解決了“瓶頸”問題,提高了系統(tǒng)可靠性,個(gè)別通道或控制器的故障不會(huì)使設(shè)備和存儲(chǔ)器之間沒有通路。5.試對(duì)VESA 及PCI兩種總線進(jìn)行比較。
答:VESA總線的設(shè)計(jì)思想是以低價(jià)占領(lǐng)市場(chǎng)。總線帶寬32位,最高傳輸速率132Mb/s。廣泛用于486微機(jī)。缺點(diǎn)是能連接的設(shè)備數(shù)僅為2~4 臺(tái),控制器中無緩沖,難于適應(yīng)處理 器速度的提高,不支持Pentium機(jī)。
PCI總線在CPU和外設(shè)間插入了復(fù)雜的管理層,協(xié)調(diào)數(shù)據(jù)傳輸和提供一致接口。管理 層中配有數(shù)據(jù)緩沖,放大了線路的驅(qū)動(dòng)能力,最多支持10種外設(shè),支持高時(shí)鐘頻率的CPU 運(yùn)行,最大傳輸速率132Mb/s。可連接ISA、EISA 等傳統(tǒng)總線,又支持Pentium的64 位系統(tǒng),是基于奔騰等新一代微處理器而發(fā)展的總線。6.試說明推動(dòng)I/O控制發(fā)展的主要因素是什么?
答:推動(dòng)I/O 控制發(fā)展的主要?jiǎng)恿υ谟诒M量減少主機(jī)對(duì)I/O 控制的干預(yù),把主機(jī)從繁雜的I/O控制事務(wù)中解脫出來,用更多的時(shí)間和精力去完成其數(shù)據(jù)處理任務(wù)。同時(shí),中斷機(jī)制在計(jì)算機(jī)系統(tǒng)中的引入、DMA 控制器的出現(xiàn)和通道研制的成功使I/O 控制的發(fā)展具備了技術(shù)支持和成為可能。
7.有哪幾種I/O控制方式?各適用于何種場(chǎng)合?
答:共有四種I/O 控制方式。
(1)程序I/O 方式:早期計(jì)算機(jī)無中斷機(jī)構(gòu),處理機(jī)對(duì)I/O設(shè)備的控制采用程序I/O方式或稱忙等的方式。
(2)中斷驅(qū)動(dòng)I/O 控制方式:適用于有中斷機(jī)構(gòu)的計(jì)算機(jī)系統(tǒng)中。
(3)直接存儲(chǔ)器訪問(DMA)I/O 控制方式:適用于具有DMA控制器的計(jì)算機(jī)系統(tǒng)中。(4)I/O 通道控制方式:具有通道程序的計(jì)算機(jī)系統(tǒng)中。8.試說明DMA 的工作流程。
答:以從磁盤讀入數(shù)據(jù)為例,說明DMA的工作流程。當(dāng)CPU要從磁盤讀入數(shù)據(jù)塊時(shí),先向磁盤控制器發(fā)送一條讀命令。該命令被送到命令寄存器CR中。同時(shí)還發(fā)送本次要讀入數(shù)據(jù)的內(nèi)存起始目標(biāo)地址,送入內(nèi)存地址寄存器MAR;本次要讀數(shù)據(jù)的字節(jié)數(shù)送入數(shù)據(jù)計(jì)數(shù)器DC,將磁盤中的源地址直接送DMA控制器的I/O 控制邏輯上。然后啟動(dòng)DMA 控制器傳送數(shù)據(jù),以后CPU 便處理其它任務(wù)。整個(gè)數(shù)據(jù)傳送過程由DMA控制器控制。下圖為DMA方式的工作流程圖。
9.引入緩沖的主要原因是什么? 答:引入緩沖的主要原因是:
(1)緩和CPU與I/O 設(shè)備間速度不匹配的矛盾
(2)減少對(duì)CPU的中斷頻率,放寬對(duì)中斷響應(yīng)時(shí)間的限制
(3)提高CPU與I/O 設(shè)備之間的并行性
10.在單緩沖情況下,為什么系統(tǒng)對(duì)一塊數(shù)據(jù)的處理時(shí)間為max(C,T)+M ? 答:在塊設(shè)備輸入時(shí),先從磁盤把一塊數(shù)據(jù)輸入到緩沖區(qū),耗時(shí)為T;然后由操作系統(tǒng)將緩沖區(qū)數(shù)據(jù)送給用戶區(qū),耗時(shí)M;接下來由CPU 對(duì)塊數(shù)據(jù)進(jìn)行計(jì)算,耗時(shí)C。在單緩沖情況下,磁盤把數(shù)據(jù)輸入到緩沖區(qū)的操作和CPU 對(duì)數(shù)據(jù)的計(jì)算過程可以并行展開,所以系統(tǒng)對(duì)每一整塊數(shù)據(jù)的處理時(shí)間為max(C, T)+ M。
11.為什么在雙緩沖情況下,系統(tǒng)對(duì)一塊數(shù)據(jù)的處理時(shí)間為max(T,C)? 答:寫入者花費(fèi)時(shí)間T 將數(shù)據(jù)寫滿一個(gè)緩沖區(qū)后再寫另一個(gè)緩沖區(qū);讀出者花費(fèi)時(shí)間M 將一個(gè)緩沖區(qū)數(shù)據(jù)送到用戶區(qū)后再傳送另一個(gè)緩沖區(qū)數(shù)據(jù),計(jì)算者讀出用戶區(qū)數(shù)據(jù)進(jìn)行處理。由于將數(shù)據(jù)從緩沖區(qū)傳到用戶區(qū)操作必須與讀用戶區(qū)數(shù)據(jù)處理串行進(jìn)行,而且可以與從外存?zhèn)魉蛿?shù)據(jù)填滿緩沖區(qū)的操作并行。因此耗時(shí)大約為max(C+M,T)。考慮M 是內(nèi)存數(shù)據(jù)塊的移動(dòng)耗時(shí)非常短暫可以省略,因此近似地認(rèn)為系統(tǒng)對(duì)一塊數(shù)據(jù)處理時(shí)間為max(C,T)。
12.試?yán)L圖說明把多緩沖用于輸出時(shí)的情況。答:多緩沖用于輸出的示意圖如下:
13.試說明收容輸入工作緩沖區(qū)和提取輸出工作緩沖區(qū)的工作情況。答:
① 收容輸入工作緩沖區(qū)的工作情況為:在輸入進(jìn)程需要輸入數(shù)據(jù)時(shí),調(diào)用GetBuf(EmptyQueue)過程,從EmptyQueue隊(duì)列的隊(duì)首摘下一個(gè)空緩沖區(qū),作為收容輸入工作緩沖區(qū)Hin。然后把數(shù)據(jù)輸入其中,裝滿后再調(diào)用PutBuf(InputQueue, Hin)過程,將該緩沖區(qū)掛在輸入隊(duì)列InputQueue的隊(duì)尾。
② 提取輸出工作緩沖區(qū)的工作情況為:當(dāng)要輸出數(shù)據(jù)時(shí),調(diào)用GetBuf(OutputQueue)過程,從輸出隊(duì)列的隊(duì)首取得一裝滿輸出數(shù)據(jù)的緩沖區(qū)作為提取輸出工作緩沖區(qū)Sout。在數(shù)據(jù)提取完后,再調(diào)用PutBuf(EmptyQueue, Sout)過程,將該緩沖區(qū)掛到空緩沖隊(duì)列EmptyQueue的隊(duì)尾。
14.何謂安全分配方式和不安全分配方式? 答:
① 安全分配方式是指每當(dāng)進(jìn)程發(fā)出I/O 請(qǐng)求后,便進(jìn)入阻塞狀態(tài),直到其I/O 操作完成時(shí)才被喚醒。在采用這種分配策略時(shí),一旦進(jìn)程已獲得某種設(shè)備資源后便阻塞,使它不可能再請(qǐng)求任何資源,而在它運(yùn)行時(shí)又不保持任何資源。這種分配方式已經(jīng)摒棄了造成死鎖的“請(qǐng)求和保持”條件,分配是安全的。缺點(diǎn)是進(jìn)程進(jìn)展緩慢,CPU與I/O 設(shè)備串行工作。
②不安全分配方式是指進(jìn)程發(fā)出I/O 請(qǐng)求后仍繼續(xù)執(zhí)行,需要時(shí)又可發(fā)出第二個(gè)I/O 請(qǐng)求、第三個(gè)I/O 請(qǐng)求。僅當(dāng)進(jìn)程請(qǐng)求的設(shè)備已被另一個(gè)進(jìn)程占有時(shí),進(jìn)程才進(jìn)入阻塞狀態(tài)。優(yōu)點(diǎn)是一個(gè)進(jìn)程可同時(shí)操作多個(gè)設(shè)備,進(jìn)程推進(jìn)迅速。缺點(diǎn)是分配不安全,可能具有“請(qǐng)求和保持”條件,可能造成死鎖。因此,在設(shè)備分配程序中需增加一個(gè)功能,用于對(duì)本次的設(shè)備分配是否會(huì)發(fā)生死鎖進(jìn)行安全性計(jì)算,僅當(dāng)計(jì)算結(jié)果表明分配安全的情況下才進(jìn)行分配。15.為何要引入設(shè)備獨(dú)立性?如何實(shí)現(xiàn)設(shè)備獨(dú)立性?
答:現(xiàn)代操作系統(tǒng)為了提高系統(tǒng)的可適應(yīng)性和可擴(kuò)展性,都實(shí)現(xiàn)了設(shè)備獨(dú)立性或設(shè)備無關(guān)性。基本含義是應(yīng)用程序獨(dú)立于具體使用的物理設(shè)備,應(yīng)用程序以邏輯設(shè)備名請(qǐng)求使用某類設(shè)備。實(shí)現(xiàn)了設(shè)備獨(dú)立性功能可帶來兩方面的好處:(1)設(shè)備分配時(shí)的靈活性;(2)易于實(shí)現(xiàn)I/O 重定向。
為了實(shí)現(xiàn)設(shè)備的獨(dú)立性,應(yīng)引入邏輯設(shè)備和物理設(shè)備概念。在應(yīng)用程序中,使用邏輯設(shè)備名請(qǐng)求使用某類設(shè)備;系統(tǒng)執(zhí)行時(shí)是使用物理設(shè)備名。鑒于驅(qū)動(dòng)程序是與硬件或設(shè)備緊密相關(guān)的軟件,必須在驅(qū)動(dòng)程序之上設(shè)置一層設(shè)備獨(dú)立性軟件,執(zhí)行所有設(shè)備的公有操作、完成邏輯設(shè)備名到物理設(shè)備名的轉(zhuǎn)換(為此應(yīng)設(shè)置一張邏輯設(shè)備表)并向用戶層(或文件層)軟件提供統(tǒng)一接口,從而實(shí)現(xiàn)設(shè)備的獨(dú)立性。
16.在考慮到設(shè)備的獨(dú)立性時(shí),應(yīng)如何分配獨(dú)占設(shè)備?
答:在考慮到設(shè)備的獨(dú)立性時(shí),應(yīng)按如下步驟來分配獨(dú)占設(shè)備:
(1)進(jìn)程以邏輯設(shè)備名提出I/O請(qǐng)求。
(2)根據(jù)邏輯設(shè)備表獲得I/O請(qǐng)求的邏輯設(shè)備對(duì)應(yīng)物理設(shè)備在系統(tǒng)設(shè)備表中的指針。
(3)檢索系統(tǒng)設(shè)備表,找到屬于請(qǐng)求類型、空閑可用且分配安全設(shè)備的設(shè)備控制表,將對(duì)應(yīng) 設(shè)備分配給請(qǐng)求進(jìn)程;未找到則等待等待喚醒和分配。
(4)到設(shè)備控制表中找出與其相連接的控制器的控制器控制表,根據(jù)狀態(tài)字段判斷是否忙 碌,忙則等待;否則將該控制器分配給進(jìn)程。
(5)到該控制器的控制器控制表中找出與其相連接的通道的通道控制表,判斷通道是否忙 碌,忙則等待;否則將該通道分配給進(jìn)程。
(6)只有在設(shè)備、控制器和通道三者都分配成功時(shí),這次的設(shè)備分配才算成功,然后便可啟 動(dòng)設(shè)備進(jìn)行數(shù)據(jù)傳送。
17.何謂設(shè)備虛擬?實(shí)現(xiàn)設(shè)備虛擬時(shí)所依賴的關(guān)鍵技術(shù)是什么?
答:設(shè)備虛擬是指把獨(dú)占設(shè)備經(jīng)過某種技術(shù)處理改造成虛擬設(shè)備。可虛擬設(shè)備是指一臺(tái)物理設(shè)備在采用虛擬技術(shù)后,可變成多臺(tái)邏輯上的虛擬設(shè)備,則可虛擬設(shè)備是可共享的設(shè)備,將它同時(shí)分配給多個(gè)進(jìn)程使用,并對(duì)這些訪問該物理設(shè)備的先后次序進(jìn)行控制。
18.試說明SPOOLing 系統(tǒng)的組成。
答:SPOOLing 系統(tǒng)由輸入井和輸出井、輸入緩沖區(qū)和輸出緩沖區(qū)、輸入進(jìn)程 SPi 和輸出進(jìn)程 SPo 三部分組成。
19.在實(shí)現(xiàn)后臺(tái)打印時(shí),SPOOLing 系統(tǒng)應(yīng)為請(qǐng)求I/O 的進(jìn)程提供哪些服務(wù)? 答:在實(shí)現(xiàn)后臺(tái)打印時(shí),SPOOLing 系統(tǒng)應(yīng)為請(qǐng)求 I/O的進(jìn)程提供以下服務(wù):
(1)由輸出進(jìn)程在輸出井中申請(qǐng)一空閑盤塊區(qū),并將要打印的數(shù)據(jù)送入其中;
(2)輸出進(jìn)程為用戶進(jìn)程申請(qǐng)空白用戶打印表,填入打印要求,將該表掛到請(qǐng)求打印隊(duì)列。(3)一旦打印機(jī)空閑,輸出進(jìn)程便從請(qǐng)求打印隊(duì)列的隊(duì)首取出一張請(qǐng)求打印表,根據(jù)表中要求將要打印的數(shù)據(jù)從輸出井傳送到內(nèi)存緩沖區(qū),再由打印機(jī)進(jìn)行打印。20.試說明設(shè)備驅(qū)動(dòng)程序具有哪些特點(diǎn)。答:設(shè)備驅(qū)動(dòng)程序具有如下特點(diǎn):
(1)是請(qǐng)求 I/O 進(jìn)程與設(shè)備控制器間的一個(gè)通信程序;(2)驅(qū)動(dòng)程序與 I/O 設(shè)備的特性緊密相關(guān);(3)驅(qū)動(dòng)程序與 I/O 控制方式緊密相關(guān);
(4)驅(qū)動(dòng)程序與硬件緊密相關(guān),部分程序用匯編語言書寫,基本部分往往固化在ROM中。
21.試說明設(shè)備驅(qū)動(dòng)程序應(yīng)具有哪些功能? 答:設(shè)備驅(qū)動(dòng)程序的主要功能包括:
(1)將接收到的抽象要求轉(zhuǎn)為具體要求;
(2)檢查用戶I/O請(qǐng)求合法性,了解I/O 設(shè)備狀態(tài),傳遞有關(guān)參數(shù),設(shè)置設(shè)備工作方式;(3)發(fā)出I/O 命令,啟動(dòng)分配到的I/O設(shè)備,完成指定I/O 操作;(4)及時(shí)響應(yīng)由控制器或通道發(fā)來的中斷請(qǐng)求,根據(jù)中斷類型調(diào)用相應(yīng)中斷處理程序處理;(5)對(duì)于有通道的計(jì)算機(jī),驅(qū)動(dòng)程序還應(yīng)該根據(jù)用戶 I/O 請(qǐng)求自動(dòng)構(gòu)成通道程序。22.設(shè)備中斷處理程序通常需完成哪些工作? 答:設(shè)備中斷處理程序通常需完成如下工作:(1)喚醒被阻塞的驅(qū)動(dòng)程序進(jìn)程;(2)保護(hù)被中斷進(jìn)程的CPU環(huán)境;
27(3)分析中斷原因、轉(zhuǎn)入相應(yīng)的設(shè)備中斷處理程序;
(4)進(jìn)行中斷處理;(5)恢復(fù)被中斷進(jìn)程。
23.磁盤訪問時(shí)間由哪幾部分組成?每部分時(shí)間應(yīng)如何計(jì)算?
答:磁盤訪問時(shí)間由尋道時(shí)間Ts、旋轉(zhuǎn)延遲時(shí)間Tr、傳輸時(shí)間Tt 三部分組成。
(1)Ts 是啟動(dòng)磁臂時(shí)間s 與磁頭移動(dòng)n條磁道的時(shí)間和,即Ts = m × n + s。
(2)Tr是指定扇區(qū)移動(dòng)到磁頭下面所經(jīng)歷的時(shí)間。硬盤15000r/min時(shí)Tr為2ms;軟盤300或600r/min時(shí)Tr為50~100ms。
(3)Tt 是指數(shù)據(jù)從磁盤讀出或向磁盤寫入經(jīng)歷的時(shí)間。Tt 的大小與每次讀/寫的字節(jié)數(shù)b和旋轉(zhuǎn)速度有關(guān):Tt = b/rN。
24.目前常用的磁盤調(diào)度算法有哪幾種?每種算法優(yōu)先考慮的問題是什么? 答:目前常用的磁盤調(diào)度算法有先來先服務(wù)、最短尋道時(shí)間優(yōu)先及掃描等算法。
(1)先來先服務(wù)算法優(yōu)先考慮進(jìn)程請(qǐng)求訪問磁盤的先后次序;
(2)最短尋道時(shí)間優(yōu)先算法優(yōu)先考慮要求訪問的磁道與當(dāng)前磁頭所在磁道距離是否最近;(3)掃描算法考慮欲訪問的磁道與當(dāng)前磁道間的距離,更優(yōu)先考慮磁頭當(dāng)前的移動(dòng)方向。25.為什么要引入磁盤高速緩沖?何謂磁盤高速緩沖?
答:目前磁盤的I/O速度遠(yuǎn)低于內(nèi)存的訪問速度,通常低上4-6個(gè)數(shù)量級(jí)。因此,磁盤I/O已成為計(jì)算機(jī)系統(tǒng)的瓶頸。為提高磁盤I/O的速度,便引入了磁盤高速緩沖。
磁盤高速緩沖是指利用內(nèi)存中的存儲(chǔ)空間,暫存從磁盤中讀出的一系列盤塊中的信息。26.在設(shè)計(jì)磁盤高速緩沖時(shí),如何實(shí)現(xiàn)數(shù)據(jù)交付? 答:數(shù)據(jù)交付是指將磁盤高速緩存中的數(shù)據(jù)傳給請(qǐng)求進(jìn)程。當(dāng)進(jìn)程請(qǐng)求訪問某個(gè)盤塊中的數(shù)據(jù)時(shí),由核心先查看磁盤高速緩沖,看其中是否存在所需盤塊數(shù)據(jù)的拷貝。若有便直接從中提取數(shù)據(jù)交付給請(qǐng)求進(jìn)程,避免了訪盤操作,本次訪問速度提高4-6 個(gè)數(shù)量級(jí);否則先從磁盤中將要訪問的數(shù)據(jù)讀入并交付給請(qǐng)求者進(jìn)程,同時(shí)送高速緩存以便下次直接讀取。
27.何謂提前讀、延遲寫和虛擬盤?
答:提前讀是指在讀當(dāng)前盤塊的同時(shí),將下一個(gè)可能要訪問的盤塊數(shù)據(jù)讀入緩沖區(qū),以便需 要時(shí)直接從緩沖區(qū)中讀取,無需啟動(dòng)磁盤。
延遲寫是指在寫盤塊時(shí),將對(duì)應(yīng)緩沖區(qū)中的立即寫數(shù)據(jù)暫時(shí)不立即寫以備不久之后再被訪問,只將它置上“延遲寫”標(biāo)志并掛到空閑緩沖隊(duì)列的末尾。當(dāng)移到空閑緩沖隊(duì)首并被分配出去時(shí),才寫緩沖區(qū)中的數(shù)據(jù)。只要延遲寫塊仍在空閑緩沖隊(duì)列中,任何要求訪問都可直接從其中讀出數(shù)據(jù)或?qū)?shù)據(jù)寫入其中,而不必去訪問磁盤。
虛擬盤又稱RAM盤,是利用內(nèi)存空間仿真磁盤。其設(shè)備驅(qū)動(dòng)程序可以接受所有標(biāo)準(zhǔn)的磁盤操作,但這些操作不是在磁盤上而是在內(nèi)存中,因此速度更快。
28.廉價(jià)磁盤冗余陣列是如何提高對(duì)磁盤的訪問速度和可靠性的?
答:廉價(jià)磁盤冗余陣列RAID是利用一臺(tái)磁盤陣列控制器,統(tǒng)一管理和控制一組(幾臺(tái)到幾 十臺(tái))磁盤驅(qū)動(dòng)器,組成高度可靠快速大容量的磁盤系統(tǒng)。
操作系統(tǒng)將RAID中的一組物理磁盤驅(qū)動(dòng)器看作一個(gè)單個(gè)的邏輯磁盤驅(qū)動(dòng)器。用戶數(shù)據(jù)和系統(tǒng)數(shù)據(jù)可分布在陣列的所有磁盤中,并采取并行傳輸方式,大大減少數(shù)據(jù)傳輸時(shí)間和提高了可靠性。
第六章
1.何謂數(shù)據(jù)項(xiàng)、記錄和文件?
答:①數(shù)據(jù)項(xiàng)分為基本數(shù)據(jù)項(xiàng)和組合數(shù)據(jù)項(xiàng)。基本數(shù)據(jù)項(xiàng)描述一個(gè)對(duì)象某種屬性的字符集,28 具有數(shù)據(jù)名、數(shù)據(jù)類型及數(shù)據(jù)值三個(gè)特性。組合數(shù)據(jù)項(xiàng)由若干數(shù)據(jù)項(xiàng)構(gòu)成。②記錄是一組相關(guān)數(shù)據(jù)項(xiàng)的集合,用于描述一個(gè)對(duì)象某方面的屬性。③文件是具有文件名的一組相關(guān)信息的集合。
2.文件系統(tǒng)的模型可分為三層,試說明其每一層所包含的基本內(nèi)容。答:第一層:對(duì)象及其屬性說明(文件、目錄、硬盤或磁帶存儲(chǔ)空間);
第二層:對(duì)對(duì)象操縱和管理的軟件集合(I/O控制層即設(shè)備驅(qū)動(dòng)程序、基本文件系統(tǒng)即物理I/O層、基本I/O管理程序或文件組織模塊層、邏輯文件系統(tǒng)層)第三層:文件系統(tǒng)接口(命令接口/圖形化用戶接口與程序接口)。3.試說明用戶可以對(duì)文件施加的主要操作有哪些? 答:用戶通過文件系統(tǒng)提供的系統(tǒng)調(diào)用對(duì)文件實(shí)施操作。
(1)基本文件操作:創(chuàng)建、刪除、讀、寫、截?cái)唷⒃O(shè)置讀/寫位置等;
(2)文件打開和關(guān)閉操作:第一步通過檢索文件目錄找到指定文件屬性及其在外存上位置;第二步對(duì)文件實(shí)施讀寫等相應(yīng)操作。
(3)其他文件操作:一是文件屬性操作;二是目錄操作;三是文件共享與文件系統(tǒng)操作的系統(tǒng)調(diào)用實(shí)現(xiàn)等。
4.何謂邏輯文件?何謂物理文件?
答:邏輯文件是物理文件中存儲(chǔ)的數(shù)據(jù)的一種視圖方式,不包含具體數(shù)據(jù),僅包含物理文件中數(shù)據(jù)的索引。物理文件又稱文件存儲(chǔ)結(jié)構(gòu),是指文件在外存上的存儲(chǔ)組織形式。5.如何提高對(duì)變長記錄順序文件的檢索速度?
答:基本方法是為變長記錄順序文件建立一張索引表,以主文件中每條記錄的長度及指向?qū)?yīng)記錄的指針(即該記錄在邏輯地址空間的首址)作為相應(yīng)表項(xiàng)的內(nèi)容。由于索引表本身是一個(gè)定長記錄的順序文件,若將其按記錄鍵排序,則實(shí)現(xiàn)了對(duì)主文件方便快捷的直接存取。如果文件較大,應(yīng)通過建立分組多級(jí)索引以進(jìn)一步提高檢索效率。
6.試說明對(duì)索引文件和索引順序文件的檢索方法。
答: ① 索引文件的檢索,首先根據(jù)用戶(程序)提供的關(guān)鍵字,利用折半查找法檢索索引表,找到相應(yīng)表項(xiàng);再利用給出的指向記錄指針值,訪問對(duì)應(yīng)記錄。
② 索引順序文件的檢索,首先利用用戶(程序)提供的關(guān)鍵字及查找方法,檢索索引表,找到該記錄在記錄組中的第一條記錄表項(xiàng),得到第一個(gè)記錄在主文件中的位置;再利用順序查找法查找主文件,找到所要求的記錄。
7.試從檢索速度和存儲(chǔ)費(fèi)用兩方面對(duì)索引文件和索引順序文件進(jìn)行比較。
答:索引文件的主文件每條記錄配置一個(gè)索引項(xiàng),存儲(chǔ)開銷N,檢索到具有指定關(guān)鍵字的記錄,平均查找N/2 條記錄。對(duì)于索引順序文件,每個(gè)記錄分組配置一個(gè)索引項(xiàng),存儲(chǔ)開銷為N,檢索到具有指定關(guān)鍵字的記錄,平均需要查找N /2次。
8.試說明順序文件的結(jié)構(gòu)及其優(yōu)點(diǎn)。
答:第一種是串結(jié)構(gòu):各記錄之間的順序與關(guān)鍵字無關(guān)。第二種是順序結(jié)構(gòu):指文件中的所有記錄按關(guān)鍵字(詞)排列。可以按關(guān)鍵詞長短排序或英文字母順序排序。順序文件的最佳應(yīng)用場(chǎng)合是對(duì)諸記錄進(jìn)行批量存取時(shí),存取效率最高;只有順序文件才能存儲(chǔ)在磁帶上并有效工作。
9.在鏈接式文件中常用哪種鏈接方式?為什么?
答:鏈接方式分為隱式鏈接和顯式鏈接兩種形式。隱式鏈接是在文件目錄的每個(gè)目錄項(xiàng)中,都含有指向鏈接文件第一個(gè)盤塊和最后一個(gè)盤塊的指針。顯式鏈接則把用于鏈接文件各物理塊的指針,顯式地存放在內(nèi)存的一張鏈接表中。
10.在MS-DOS中有兩個(gè)文件A 和B,A占用11、12、16和14 四個(gè)盤塊;B 占用13、18和20三個(gè)盤塊。試畫出在文件A和B中各盤塊間的鏈接情況及FAT的情況。答:如下圖所示。
11.NTFS文件系統(tǒng)對(duì)文件采用什么樣的物理結(jié)構(gòu)?
答:在NTFS 文件系統(tǒng)中,以簇作為磁盤空間分配和回收的基本單位。一個(gè)文件占若干個(gè)簇,一個(gè)簇只屬于一個(gè)文件。
12.假定一個(gè)文件系統(tǒng)的組織方式與MS-DOS相似,在FAT中可有64K個(gè)指針,磁盤的盤塊大小為512B,試問該文件系統(tǒng)能否指引一個(gè)512MB 的磁盤?
解:512MB/512B=1M 個(gè)盤塊,而每個(gè)盤塊都應(yīng)有一個(gè)指針來指示,所以應(yīng)該有1M 個(gè)指針,因此若有64K 指針不能指引一個(gè)512MB的磁盤。
13.為了快速訪問,又易于更新,當(dāng)數(shù)據(jù)為以下形式時(shí),應(yīng)選用何種文件組織方式。⑴ 不經(jīng)常更新,經(jīng)常隨機(jī)訪問;⑵經(jīng)常更新,經(jīng)常按一定順序訪問;⑶經(jīng)常更新,經(jīng)常隨機(jī)訪問;
答:以上三種宜分別采用(1)順序結(jié)構(gòu)(2)索引順序結(jié)構(gòu)(3)索引結(jié)構(gòu)的組織方式。14.在UNIX 中,如果一個(gè)盤塊的大小為1KB,每個(gè)盤塊號(hào)占4個(gè)字節(jié),即每塊可放256個(gè)地址。請(qǐng)轉(zhuǎn)換下列文件的字節(jié)偏移量為物理地址。⑴9999; ⑵18000; ⑶420000 答:首先將邏輯文件的字節(jié)偏移量轉(zhuǎn)換為邏輯塊號(hào)和塊內(nèi)偏移量,就是將[字節(jié)偏移量]/[盤塊大小],商為邏輯塊號(hào),余數(shù)是塊內(nèi)偏移量。在FCB中,第0-9個(gè)地址為直接地址,第10個(gè)為一次間接地址,第11個(gè)地址為二次間接地址,第12個(gè)地址為三次間接地址。
再將文件的邏輯塊號(hào)轉(zhuǎn)換為物理塊號(hào)。使用多重索引結(jié)構(gòu),在索引節(jié)點(diǎn)中根據(jù)邏輯塊號(hào) 通過直接索引或間接索引找到對(duì)應(yīng)的物理塊號(hào)。
(1)9999/1024=9 余783,則邏輯塊號(hào)為9,直接索引第9個(gè)地址得到物理塊號(hào),塊內(nèi)偏移地址為783。
(2)18000/1024=17余592,則邏輯塊號(hào)為10<17<10+256,通過一次間接索引在第10個(gè)地址可得到物理塊號(hào),塊內(nèi)偏移地址為592。
(3)420000/1024=410 余160,則邏輯塊號(hào)為10+256<410,通過二次間接索引在第11個(gè)地址可得到一次間址,再由此得到二次間址,再找到物理塊號(hào),其塊內(nèi)偏移地址160。15.什么是索引文件?為什么要引入多級(jí)索引?
答:索引文件是指當(dāng)記錄為可變長度時(shí),通常為之建立一張索引表,并為每個(gè)記錄設(shè)置一個(gè)表項(xiàng)構(gòu)成的文件。通常將索引非順序文件簡(jiǎn)稱為索引文件。索引是為了是用戶的訪問速度更 30 快,多級(jí)索引結(jié)構(gòu)可以有效的管理索引文件,可根據(jù)用戶的訪問情況多級(jí)處理。
16.試說明UNIX 系統(tǒng)中所采用的混合索引分配方式。答:混合索引分配方式是指將多種索引分配方式結(jié)合而成的分配方式。常見的是采用直接地址和一級(jí)索引聯(lián)合的分配方式,或兩級(jí)索引分配方式,甚至三級(jí)索引分配方式。在UNIXSystem Ⅴ和BSD UNIX 的索引結(jié)點(diǎn)中,都設(shè)置了13 個(gè)地址項(xiàng),即iaddr(0)~iaddr(12),把所有地址項(xiàng)分成直接地址和間接地址。
17.對(duì)目錄管理的主要要求是什么?
答:實(shí)現(xiàn)按名存取、提高檢索目錄的速度、文件共享、允許文件重名。18.采用單級(jí)目錄能否滿足對(duì)目錄管理的主要要求?為什么?
答:不能。單級(jí)目錄在整個(gè)文件系統(tǒng)中只建立一張目錄表,每個(gè)文件占一個(gè)目錄項(xiàng),其中含文件名、文件擴(kuò)展名、文件長度、文件類型、文件物理地址、狀態(tài)位等其它文件屬性。單級(jí)只能實(shí)現(xiàn)目錄管理的基本功能,不能滿足查找速度、允許重名和文件共享的要求。19.目前廣泛應(yīng)用的目錄結(jié)構(gòu)有哪些?它有什么優(yōu)點(diǎn)?
答:現(xiàn)代操作系統(tǒng)都采用多級(jí)目錄結(jié)構(gòu)。基本特點(diǎn)是查詢速度快、層次結(jié)構(gòu)清晰、文件管理和保護(hù)易于實(shí)現(xiàn)。
20.Hash 檢索法有何優(yōu)點(diǎn)?又有何局限性?
答:Hash檢索法是系統(tǒng)把用戶提供的文件名變換為文件目錄的索引值,再利用該值查找目錄,有效提高目錄的檢索速度,但Hash 檢索法局限于非通配符文件名。21.在Hash檢索法中,如何解決“沖突”問題?
答:在Hash法查找目錄時(shí),如果目錄表中相應(yīng)目錄項(xiàng)為空,表示系統(tǒng)中無指定文件。如果文件名與指定文件名匹配,表示找到了目標(biāo)文件,也就找到了文件的物理地址。如果目錄表中找到的相應(yīng)文件名不匹配,則發(fā)生了沖突,需要Hash轉(zhuǎn)換形成新的索引值,返回第一步重新查找。
22.試說明在樹型目錄結(jié)構(gòu)中線性檢索法的檢索過程,并給出相應(yīng)的流程圖。
答:在樹型結(jié)構(gòu)的目錄中,當(dāng)有兩個(gè)或多個(gè)用戶共享一個(gè)子目錄或文件時(shí),將共享文件或字母路連接到兩個(gè)或多個(gè)用戶目錄中,方便找到該文件。此時(shí)目錄結(jié)構(gòu)不再是樹形結(jié)構(gòu),而是個(gè)有向非循環(huán)圖DGA。
23.有一計(jì)算機(jī)系統(tǒng)利用圖6-33 所示的位示圖來管理空閑盤塊。盤塊的大小為1KB,現(xiàn) 要為某文件分配量個(gè)盤塊,試說明盤塊的具體分配過程。
答:分配量個(gè)盤塊的過程如下:
⑴ 順序掃描位示圖,從中找到第一個(gè)值為0的二進(jìn)制位,得到行號(hào)i=3,列號(hào)j=3。⑵ 將找到的二進(jìn)制位轉(zhuǎn)換成對(duì)應(yīng)盤塊號(hào)。盤塊號(hào)為:b=(3-1)*16+3=35; ⑶ 修改位示圖,令map[3,3]=1,并將該盤塊分配出去。
類似地,可使用相同的方法找到第二個(gè)值為0的二進(jìn)制位,得到行號(hào)i=4,列號(hào)j=7,其對(duì)應(yīng)的盤塊號(hào)為55,令map[i,j]=1,并將該盤塊分配出去。24.某操作系統(tǒng)磁盤文件空間共500塊,若用字長為32位的位示圖管理磁盤空間,試問:(1)位示圖需要多少字?
(2)第i字第j位對(duì)應(yīng)的塊號(hào)是多少?
(3)給出申請(qǐng)/歸還一塊的工作流程。
答:(1)位示圖需要的字?jǐn)?shù)計(jì)算:INT(500/32)=16 個(gè)字。
(2)塊號(hào)b=(i-1)*32+j(3)申請(qǐng)的過程:順序掃描位示圖、找到空閑塊并分配、修改位示圖map[i,j]=1。歸還的過程:找到回收盤塊在位示圖中的行和列,修改位示圖map[i,j]=0。
25.對(duì)空閑磁盤空間的管理常采用哪幾種分配方式?在UNIX系統(tǒng)中采用何種分配方式? 答:空閑表法、空閑鏈表法、位示圖法、成組鏈接法。UNIX系統(tǒng)采用的是成組鏈接法 26.基于索引節(jié)點(diǎn)的文件共享方式有何優(yōu)點(diǎn)?
答:優(yōu)點(diǎn)是建立新的共享鏈接時(shí),不改變文件擁有者關(guān)系,僅把索引結(jié)點(diǎn)共享計(jì)數(shù)器加1,系統(tǒng)可獲悉了由多少個(gè)目錄項(xiàng)指向該文件。缺點(diǎn)是擁有者不能刪除自己的文件否則會(huì)出錯(cuò)。27.基于符號(hào)鏈的文件共享方式有何優(yōu)點(diǎn)?
答:能夠通過網(wǎng)絡(luò)鏈接世界上 任何地方的計(jì)算機(jī)中的文件。
28.在一級(jí)系統(tǒng)容錯(cuò)技術(shù)中,包括哪些容錯(cuò)措施?什么是寫后讀校驗(yàn)?
答:一級(jí)系統(tǒng)容錯(cuò)技術(shù)包括雙份目錄、雙份文件分配表及寫后讀校驗(yàn)等容錯(cuò)措施。寫后讀校驗(yàn)是每次從內(nèi)存緩沖區(qū)向磁盤寫入一個(gè)數(shù)據(jù)塊后,又立即從磁盤上讀出該數(shù)據(jù)塊,并送至另一緩沖區(qū)中,再將該緩沖區(qū)內(nèi)容與內(nèi)存緩沖區(qū)中在寫后仍保留的數(shù)據(jù)進(jìn)行比較。若兩者一致,才認(rèn)為寫入成功,繼續(xù)寫下一個(gè)盤塊。否則重寫。若重寫后仍不一致,則認(rèn)為盤塊缺陷,便將應(yīng)寫入該盤塊的數(shù)據(jù),寫入到熱修復(fù)重定向區(qū)中。29.在第二級(jí)系統(tǒng)容錯(cuò)技術(shù)中,包括哪些容錯(cuò)措施?畫圖說明之。
答:第二級(jí)容錯(cuò)技術(shù)包括磁盤鏡像和磁盤雙工兩種容錯(cuò)措施。圖示如下:
30.何謂事務(wù)?如何保證事務(wù)的原子性?
答:事務(wù)是用于訪問和修改各種數(shù)據(jù)項(xiàng)的一個(gè)程序單位。
要保證事務(wù)的原子性必須要求一個(gè)事務(wù)在對(duì)一批數(shù)據(jù)執(zhí)行修改操作時(shí),要么全部完成,32 用修改后的數(shù)據(jù)代替原來數(shù)據(jù),要么一個(gè)也不改,保持原來數(shù)據(jù)的一致性。
31.引入檢查點(diǎn)的目的是什么?引入檢查點(diǎn)后又如何進(jìn)行恢復(fù)處理? 答:引入檢查點(diǎn)的目的是使對(duì)事務(wù)記錄表中事務(wù)記錄的清理工作經(jīng)常化。
恢復(fù)處理由恢復(fù)例程來實(shí)現(xiàn)。首先查找事務(wù)記錄表,確定在最近檢查點(diǎn)以前開始執(zhí)行的 最后的事務(wù)Ti。找到Ti后再返回搜索事務(wù)記錄表,找到第一個(gè)檢查點(diǎn)記錄,從該檢查點(diǎn)開 始,返回搜索各個(gè)事務(wù)記錄,利用redo和undo 過程對(duì)他們進(jìn)行相應(yīng)的處理。32.為何引入共享鎖?如何用互斥鎖或共享鎖來實(shí)現(xiàn)事務(wù)的順序性?
答:引入共享鎖是為了提高運(yùn)行效率。在給對(duì)象設(shè)置了互斥鎖和共享鎖的情況下,如果事務(wù)Ti要對(duì)Q執(zhí)行讀操作,只需獲得Q的共享鎖。如果對(duì)象Q已被互斥鎖鎖住,則Ti必須等待;否則便獲得共享鎖對(duì)Q執(zhí)行讀操作。如果Ti 要對(duì)Q 執(zhí)行寫操作,則Ti還要獲得Q的互斥鎖。若失敗則等待;成功則獲得互斥鎖并對(duì)Q執(zhí)行寫操作。33.當(dāng)系統(tǒng)中有重復(fù)文件時(shí),如何保證他們的一致性?
答:可以采用兩種方法:一是對(duì)所有的重復(fù)文件進(jìn)行同樣的修改,二是用新修改的文件替換所有的重復(fù)文件。
34.如何檢索盤塊號(hào)的一致性?檢查時(shí)可能出現(xiàn)哪幾種情況?
答:為了保證盤塊號(hào)的一致性,先將計(jì)數(shù)器表中的所有表項(xiàng)初始化為0,用N 個(gè)空閑盤塊 號(hào)計(jì)數(shù)器組成的第一組計(jì)數(shù)器對(duì)從空閑盤塊表中讀出的盤塊號(hào)計(jì)數(shù),用N 個(gè)數(shù)據(jù)盤塊號(hào)計(jì) 數(shù)器組成的第二組計(jì)數(shù)器對(duì)從文件分配表中讀出的已分配給文件使用的盤快號(hào)計(jì)數(shù)。如果兩組計(jì)數(shù)中的對(duì)應(yīng)數(shù)據(jù)互補(bǔ)則數(shù)據(jù)一致,反之則發(fā)生錯(cuò)誤。
檢查時(shí)可能出現(xiàn)的情況:
(1)兩組計(jì)數(shù)器中盤塊K 的計(jì)數(shù)值均為0,應(yīng)在空閑盤塊表中增加盤塊號(hào)K;(2)空閑盤塊號(hào)計(jì)數(shù)器中盤塊K 的計(jì)數(shù)值為2,應(yīng)刪除一個(gè)空閑盤塊號(hào)K;
(3)空閑盤塊號(hào)計(jì)數(shù)器中盤塊號(hào)K 的計(jì)數(shù)值為0,而數(shù)據(jù)盤塊號(hào)計(jì)數(shù)器中盤塊號(hào)K 的 計(jì)數(shù)值大于1,則錯(cuò)誤嚴(yán)重,存在數(shù)據(jù)丟失等事件,必須立即報(bào)告系統(tǒng)加以處理。
第三篇:張堯?qū)W-操作系統(tǒng)課后題答案
第一章 緒論
1.什么是操作系統(tǒng)的基本功能?
答:操作系統(tǒng)的職能是管理和控制汁算機(jī)系統(tǒng)中的所有硬、軟件資源,合理地組織計(jì)算
機(jī)工作流程,并為用戶提供一個(gè)良好的工作環(huán)境和友好的接口。操作系統(tǒng)的基本功能包括:
處理機(jī)管理、存儲(chǔ)管理、設(shè)備管理、信息管理(文件系統(tǒng)管理)和用戶接口等。
2.什么是批處理、分時(shí)和實(shí)時(shí)系統(tǒng)?各有什么特征?
答:批處理系統(tǒng)(batchprocessingsystem):操作員把用戶提交的作業(yè)分類,把一批作業(yè)編成一個(gè)作業(yè)執(zhí)行序列,由專門編制的監(jiān)督程序(monitor)自動(dòng)依次處理。其主要特征是:用戶脫機(jī)使用計(jì)算機(jī)、成批處理、多道程序運(yùn)行。
分時(shí)系統(tǒng)(timesharingoperationsystem):把處理機(jī)的運(yùn)行時(shí)間分成很短的時(shí)間片,按時(shí)間片輪轉(zhuǎn)的方式,把處理機(jī)分配給各進(jìn)程使用。其主要特征是:交互性、多用戶同時(shí)性、獨(dú)立性。
實(shí)時(shí)系統(tǒng)(realtimesystem):在被控對(duì)象允許時(shí)間范圍內(nèi)作出響應(yīng)。其主要特征是:對(duì)實(shí)時(shí)信息分析處理速度要比進(jìn)入系統(tǒng)快、要求安全可靠、資源利用率低。
3.多道程序(multiprogramming)和多重處理(multiprocessing)有何區(qū)別?
答;多道程序(multiprogramming)是作業(yè)之間自動(dòng)調(diào)度執(zhí)行、共享系統(tǒng)資源,并不是真正地同時(shí)值行多個(gè)作業(yè);而多重處理(multiprocessing)系統(tǒng)配置多個(gè)CPU,能真正同時(shí)執(zhí)行多道程序。要有效使用多重處理,必須采用多道程序設(shè)計(jì)技術(shù),而多道程序設(shè)計(jì)原則上 不一定要求多重處理系統(tǒng)的支持。
6。設(shè)計(jì)計(jì)算機(jī)操作系統(tǒng)時(shí)與那些硬件器件有關(guān)
運(yùn)算器、控制器、存儲(chǔ)器、輸入設(shè)備、輸出設(shè)備
第二章 作業(yè)管理和用戶接口
2. 作業(yè)由哪幾部分組成?各有什么功能?
答:作業(yè)由三部分組成:程序、數(shù)據(jù)和作業(yè)說明書。程序和數(shù)據(jù)完成用戶所要求的業(yè)務(wù)處理工作,作業(yè)說明書則體現(xiàn)用戶的控制意圖。
3.作業(yè)的輸入方式有哪幾種?各有何特點(diǎn)
答:作業(yè)的輸入方式有5種:聯(lián)機(jī)輸入方式、脫機(jī)輸入方式、直接耦合方式、SPOOLING
(Simultaneous Peripheral OperationsOnline)系統(tǒng)和網(wǎng)絡(luò)輸入方式,各有如下特點(diǎn):
(1)聯(lián)機(jī)輸入方式:用戶和系統(tǒng)通過交互式會(huì)話來輸入作業(yè)。
(2)脫機(jī)輸入方式:又稱預(yù)輸入方式,利用低檔個(gè)人計(jì)算機(jī)作為外圍處理機(jī)進(jìn)行輸入處理,存儲(chǔ)在后備存儲(chǔ)器上,然后將此后援存儲(chǔ)器連接到高速外圍設(shè)備上和主機(jī)相連,從而在較短的時(shí)間內(nèi)完成作業(yè)的輸入工作。
(3)直接耦合方式:把主機(jī)和外圍低檔機(jī)通過一個(gè)公用的大容量外存直接耦合起來,從而省去了在脫機(jī)輸入中那種依靠人工干預(yù)宋傳遞后援存儲(chǔ)器的過程。
(4)SPOOLING系統(tǒng):可譯為外圍設(shè)備同時(shí)聯(lián)機(jī)操作。在SPOOLING系統(tǒng)中,多臺(tái)外圍設(shè)備通過通道或DMA器件和主機(jī)與外存連接起來,作業(yè)的輸入輸出過程由主機(jī)中的操作系統(tǒng)控制。
(5)網(wǎng)絡(luò)輸入方式:網(wǎng)絡(luò)輸入方式以上述幾種輸入方式為基礎(chǔ),當(dāng)用戶需要把在計(jì)算機(jī)網(wǎng)絡(luò)中某一臺(tái)主機(jī)上輸入的信息傳送到同一網(wǎng)中另一臺(tái)主機(jī)上進(jìn)行操作或執(zhí)行時(shí),就構(gòu)成了網(wǎng)絡(luò)輸入方式。
6.操作系統(tǒng)為用戶提供哪些接口?它們的區(qū)別是什么?
答:操作系統(tǒng)為用戶提供兩個(gè)接口,一個(gè)是系統(tǒng)為用戶提供的各種命令接口,用戶利用這些操作命令來組織和控制作業(yè)的執(zhí)行或管理計(jì)算機(jī)系統(tǒng)。另一個(gè)接口是系統(tǒng)調(diào)用,編程人員使用系統(tǒng)調(diào)用來請(qǐng)求操作系統(tǒng)提供服務(wù),例如申請(qǐng)和釋放外設(shè)等類資源、控制程序的執(zhí)行速度等。
8.什么是系統(tǒng)調(diào)用?系統(tǒng)調(diào)用與一般用戶程序有什么區(qū)別?與庫函數(shù)和實(shí)用程序又有什么區(qū)別?
答:系統(tǒng)調(diào)用是操作系統(tǒng)提供給編程人員的唯一接口。編程人員利用系統(tǒng)調(diào)用,在源程序一級(jí)動(dòng)態(tài)請(qǐng)求和釋放系統(tǒng)資源,調(diào)用系統(tǒng)中已有的系統(tǒng)功能 來完成那些與機(jī)器硬件部分相關(guān)的工作以及控制程序的執(zhí)行速度等。因此,系統(tǒng)調(diào)用像一個(gè)黑箱子那樣,對(duì)用戶屏蔽了操作系統(tǒng)的具體動(dòng)作而只提供有關(guān)的功能。它 與一般用戶程序、庫函數(shù)和實(shí)用程序的區(qū)別是:系統(tǒng)調(diào)用程序是在核心態(tài)執(zhí)行,調(diào)用它們需要一個(gè)類似于硬件中斷處理的中斷處理機(jī)制來提供系統(tǒng)服務(wù)。
9.簡(jiǎn)述系統(tǒng)調(diào)用的實(shí)現(xiàn)過程。
答;用戶在程序中使用系統(tǒng)調(diào)用,給出系統(tǒng)凋用名和函數(shù)后,即產(chǎn)生一條相應(yīng)的陷入指令,通過陷入處理機(jī)制調(diào)用服務(wù),引起處理機(jī)中斷,然后保護(hù)處理機(jī)現(xiàn)場(chǎng),取系統(tǒng)調(diào)用功能號(hào)并尋找子程序入口,通過入口地址表來調(diào)用系統(tǒng)子程序,然后返回用戶程序繼續(xù)執(zhí)行。
第三章 用戶管理和配置管理
2.試比較進(jìn)程和程序的區(qū)別。
答:(1)進(jìn)程是一個(gè)動(dòng)態(tài)概念,而程序是一個(gè)靜態(tài)概念,程序是指令的有序集合,無執(zhí)行含義,進(jìn)程則強(qiáng)調(diào)執(zhí)行的過程。
(2)進(jìn)程具有并行特征(獨(dú)立性,異步性),程序則沒有。
(3)不同的進(jìn)程可以包含同一個(gè)程序,同一程序在執(zhí)行中也可以產(chǎn)生多個(gè)進(jìn)程。
4.試比較作業(yè)和進(jìn)程的區(qū)別。
答:一個(gè)進(jìn)程是一個(gè)程序?qū)δ硞€(gè)數(shù)據(jù)集的執(zhí)行過程,是分配資源的基本單位。作業(yè)是用于需要計(jì)算機(jī)完成某項(xiàng)任務(wù),而要求計(jì)算機(jī)所做工作的集合。一個(gè)作業(yè)的完成要經(jīng)過作業(yè)提交,作業(yè)收容、作業(yè)執(zhí)行和作業(yè)完成4個(gè)階段。而進(jìn)程是已提交完畢的程序所執(zhí)行過程的描述,足資源分配的基本單位。其主要區(qū)別關(guān) 系如下:
(1)作業(yè)是用戶向計(jì)算機(jī)提交任務(wù)的任務(wù)實(shí)體。在用戶向計(jì)算機(jī)提交作業(yè)之后,系統(tǒng)將存儲(chǔ)在外存中的作業(yè)等待隊(duì)列中等待執(zhí)行。而進(jìn)程則是完成用戶任務(wù)的執(zhí)行實(shí)體,是向系統(tǒng)申請(qǐng)分配資源的基本單位。任一進(jìn)程,只要它被創(chuàng)建,總有相應(yīng)的部分存在于內(nèi)存中。
(2)一個(gè)作業(yè)可由多個(gè)進(jìn)程組成。且必須至少由一個(gè)進(jìn)程組成,但反過來不成立。
(3)作業(yè)的概念主要用在批處理系統(tǒng)中。像Unix這樣的分時(shí)系統(tǒng)中,則沒有作業(yè)概念。而進(jìn)程的概念則用在幾乎所有的多道程序系統(tǒng)中。
6.什么是臨界區(qū)?試舉一臨界區(qū)的例子。
答:臨界區(qū)是指不允許多個(gè)并發(fā)進(jìn)程交叉執(zhí)行的一段程序。它是由于不同并發(fā)進(jìn)程的程序段共享公用數(shù)據(jù)或公用數(shù)據(jù)變量而引起的。所以它又被稱為訪問公用數(shù)據(jù)的那段程序。
例如:
getspace:
Begin local g
top=top-1
End
release(ad):
Begin
top’top十1
stack[top]=ad
End
8.什么是進(jìn)程間的互斥?什么是進(jìn)程間同步?
答:進(jìn)程間的互斥是指:一組并發(fā)進(jìn)程中的一個(gè)或多個(gè)程序段,因共享某一公有資源而導(dǎo)致它們必須以一個(gè)不許交叉執(zhí)行的單位執(zhí)行,即不允許兩個(gè)以上的共享該資源的并發(fā)進(jìn)程同時(shí)進(jìn)入臨界區(qū)。
進(jìn)程間的同步是指:異步環(huán)境下的一組并發(fā)進(jìn)程因直接制約互相發(fā)送消息而進(jìn)行互相合作、互相等待,各進(jìn)程按一定的速度執(zhí)行的過程。
第四章 進(jìn)程管理
4.進(jìn)程調(diào)度的功能有哪些?
答:進(jìn)程調(diào)度的功能有:
(1)記錄和保存系統(tǒng)中所有進(jìn)程的執(zhí)行情況;
(2)選擇占有處理機(jī)的進(jìn)程;
(3)進(jìn)行進(jìn)程上下文切換。
5.進(jìn)程調(diào)度的時(shí)機(jī)有哪幾種?
答:進(jìn)程調(diào)度的時(shí)機(jī)有:
(1)正在執(zhí)行的進(jìn)程執(zhí)行完畢。這時(shí)如果不選擇新的就緒進(jìn)程執(zhí)行,將浪費(fèi)處理機(jī)資源。
(2)執(zhí)行中進(jìn)程自己調(diào)用阻塞原語將自己阻塞起來進(jìn)入睡眠等待狀態(tài)。
(3)執(zhí)行中進(jìn)程調(diào)用了P原語操作,從而因資源不足而被阻塞:或調(diào)用了V原語操作激活了等待資源的進(jìn)程隊(duì)列。
(4)執(zhí)行中進(jìn)程提出I/O請(qǐng)求后被阻塞。
(5)在分時(shí)系統(tǒng)中時(shí)間片已經(jīng)用完。
(6)在執(zhí)行完系統(tǒng)調(diào)用等系統(tǒng)程序后返回用戶程序時(shí),可看做系統(tǒng)進(jìn)程執(zhí)行完畢,從而調(diào)度選擇一新的用戶進(jìn)程執(zhí)行。
(7)在CPU執(zhí)行方式是可剝奪時(shí),還有:就緒隊(duì)列中的某進(jìn)程的優(yōu)先級(jí)變得高于當(dāng)前執(zhí)行進(jìn)程的優(yōu)先級(jí),從而也將引發(fā)進(jìn) 程調(diào)度。
第五章 處理器管理
3.實(shí)現(xiàn)地址重定位的方法有哪幾類?
答:實(shí)現(xiàn)地址重定位的方法有兩種:靜態(tài)地址重定位和動(dòng)態(tài)地址重定位。
(1)靜態(tài)地址重定位是在虛空間程序執(zhí)行之前由裝配程序完成地址映射工作。靜態(tài)重定位的優(yōu)點(diǎn)是不需要硬件支持,但是用靜態(tài)地址重定位方法進(jìn)行地址變換無法實(shí)現(xiàn)虛擬存儲(chǔ)器。靜態(tài)重定位的另一個(gè)缺點(diǎn)是必須占用連續(xù)的內(nèi)存空間和難以做到程序和數(shù)據(jù)的共享。
(2)動(dòng)態(tài)地址重定位是在程序執(zhí)行過程中,在CPU訪問內(nèi)存之前由硬件地址變換機(jī)構(gòu)將要訪問的程序或數(shù)據(jù)地址轉(zhuǎn)換成內(nèi)存地址。動(dòng)態(tài)地址重定位的主要優(yōu)點(diǎn)有:
①可以對(duì)內(nèi)存進(jìn)行非連續(xù)分配。
②動(dòng)態(tài)重定位提供了實(shí)現(xiàn)虛擬存儲(chǔ)器的基礎(chǔ)。
③動(dòng)態(tài)重定位有利于程序段的共享。
形式化描述:略。
6.動(dòng)態(tài)分區(qū)式管理的常用內(nèi)存分配算法有哪幾種?比較它們各自的優(yōu)缺點(diǎn)。
答:動(dòng)態(tài)分區(qū)式管理的常用內(nèi)存分配算法有最先適應(yīng)法(FF)、最佳適應(yīng)法(BF)和最壞適應(yīng)法(WF)。
優(yōu)缺點(diǎn)比較:
①從搜索速度上看最先適應(yīng)法最佳,最佳適應(yīng)法和最壞適應(yīng)法都要求把不同大小的空閑區(qū)按大小進(jìn)行排隊(duì)。
②從回收過程來看,最先適應(yīng)法也是最佳,因?yàn)樽罴堰m應(yīng)法和最壞適應(yīng)法都必須重新調(diào)整空閑區(qū)的位置。
③最佳適應(yīng)法找到的空閑區(qū)是最佳的,但是會(huì)造成內(nèi)存碎片較多,影響了內(nèi)存利用率,而最壞適應(yīng)法的內(nèi)存碎片最少,但是對(duì)內(nèi)存的請(qǐng)求較多的進(jìn)程有可能分配失敗。
總之,三種算法各有所長,針對(duì)不同的請(qǐng)求隊(duì)列,它們的效率和功能是不一樣的。
8.簡(jiǎn)述什么是覆蓋?什么是交換?覆蓋和交換的區(qū)別是什么?
答:將程序劃分為若干個(gè)功能上相對(duì)獨(dú)立的程序段,按照程序的邏輯結(jié)構(gòu)讓那些不會(huì)同時(shí)執(zhí)行的程序段共享同一塊內(nèi)存區(qū)的內(nèi)存擴(kuò)充技術(shù)就是覆蓋。交換是指先將內(nèi)存某部分的程序或數(shù)據(jù)寫入外存交換區(qū),再從外存交換區(qū)中調(diào)入指定的程序或數(shù)據(jù)到內(nèi)存中來,并讓其執(zhí)行的一種內(nèi)存擴(kuò)充技術(shù)。與覆蓋技術(shù)相比,交換不要求程序員給出程序段之間的覆蓋結(jié)構(gòu),而且,交換主要是在進(jìn)程或作業(yè)之間進(jìn)行,而覆蓋則主要在同一個(gè)作業(yè)或同一個(gè)進(jìn)程內(nèi)進(jìn)行。另外,覆蓋只能覆蓋那 些與覆蓋程序段無關(guān)的程序段。
11.請(qǐng)求頁式管理中有哪幾種常用的頁面置換算法?試比較它們的優(yōu)缺點(diǎn)。
答:比較常用的頁面置換算法有:
(1)隨機(jī)淘汰算法(randomglongram)。即隨機(jī)地選擇某個(gè)用戶頁面并將其換出。
(2)輪轉(zhuǎn)法RR(roundrobin)。輪轉(zhuǎn)法循回?fù)Q出內(nèi)存可用區(qū)內(nèi)一個(gè)可以被換出的頁,無論該頁是剛被換進(jìn)或已經(jīng)換進(jìn)內(nèi)存很長時(shí)間。
(3)先進(jìn)先出法FIFO(firstinfirstout)。FIFO算法選擇在內(nèi)存駐留時(shí)間最長的一頁將其淘汰。
(4)最近最久未使用頁面置換算法I.RU(1east recently unused)。該算法的基本思想是:當(dāng)需要淘汰某一頁時(shí),選擇離當(dāng)前時(shí)間最近的一段時(shí)間內(nèi)最久沒有使用過的頁面先淘汰。
(5)理想型淘汰算法OPT(optimalreplacementalgorithm)。該算法淘汰在訪問串中將來再也不出現(xiàn)的或是在離當(dāng)前最遠(yuǎn)的位置上出現(xiàn)的頁面。
第九章 外部設(shè)備管理
4. 什么是中斷?什么叫中斷處理?什么叫中斷響應(yīng)?
答: 中斷是指計(jì)算機(jī)在執(zhí)行期間,系統(tǒng)內(nèi)發(fā)生任何非尋常的或非預(yù)期的急需處理事件,使得CPU暫時(shí)中斷當(dāng)前正在執(zhí)行的程序而轉(zhuǎn)去執(zhí)行相應(yīng)的事件處理程序,待處理 完畢后又返回原來被中斷處繼續(xù)執(zhí)行的過程。CPU轉(zhuǎn)去執(zhí)行相應(yīng)的事件處理程序的過程稱為中斷處理。CPU收到中斷請(qǐng)求后轉(zhuǎn)到相應(yīng)的事件處理程序稱為中斷響 應(yīng)。
5.什么叫關(guān)中斷?什么叫開中斷?什么叫中斷屏蔽?
答:把CPU內(nèi)部的處理機(jī)狀態(tài)字PSW的中斷允許位清除從而不允許CPU響應(yīng)中斷叫做關(guān)中斷。設(shè)置CPU內(nèi)部的處理機(jī)狀態(tài)字PSW的中斷允許位從而允許CPU響應(yīng)中斷叫做開中斷。
中斷屏蔽是指在中斷請(qǐng)求產(chǎn)生之后,系統(tǒng)用軟件方式有選擇地封鎖部分中斷而允許其余部分的中斷仍能得到響應(yīng)。
7.描述中斷控制方式時(shí)的CPU動(dòng)作過程。
答:(1)首先,CPU檢查響應(yīng)中斷的條件是否滿足。如果中斷響應(yīng)條件不滿足,則中斷處理無法進(jìn)行。
(2)如果CPU響應(yīng)中斷,則CPU關(guān)中斷。
(3)保存被中斷進(jìn)程現(xiàn)場(chǎng)。
(4)分析中斷原因,調(diào)用中斷處理子程序。
(5)執(zhí)行中斷處理子程序。
(6)退出中斷,恢復(fù)被中斷進(jìn)程的現(xiàn)場(chǎng)或調(diào)度新進(jìn)程占據(jù)處理機(jī)。
(7)開中斷,CPU繼續(xù)執(zhí)行。
第四篇:計(jì)算機(jī)操作系統(tǒng) 課后習(xí)題答案 張堯?qū)W
第一章 緒論
1.什么是操作系統(tǒng)的基本功能?
答:操作系統(tǒng)的職能是管理和控制汁算機(jī)系統(tǒng)中的所有硬、軟件資源,合理地組織計(jì)算
機(jī)工作流程,并為用戶提供一個(gè)良好的工作環(huán)境和友好的接口。操作系統(tǒng)的基本功能包括:
處理機(jī)管理、存儲(chǔ)管理、設(shè)備管理、信息管理(文件系統(tǒng)管理)和用戶接口等。
2.什么是批處理、分時(shí)和實(shí)時(shí)系統(tǒng)?各有什么特征?
答:批處理系統(tǒng)(batchprocessingsystem):操作員把用戶提交的作業(yè)分類,把一批作業(yè)編成一個(gè)作業(yè)執(zhí)行序列,由專門編制的監(jiān)督程序(monitor)自動(dòng)依次處理。其主要特征是:用戶脫機(jī)使用計(jì)算機(jī)、成批處理、多道程序運(yùn)行。
分時(shí)系統(tǒng)(timesharingoperationsystem):把處理機(jī)的運(yùn)行時(shí)間分成很短的時(shí)間片,按時(shí)間片輪轉(zhuǎn)的方式,把處理機(jī)分配給各進(jìn)程使用。其主要特征是:交互性、多用戶同時(shí)性、獨(dú)立性。
實(shí)時(shí)系統(tǒng)(realtimesystem):在被控對(duì)象允許時(shí)間范圍內(nèi)作出響應(yīng)。其主要特征是:對(duì)實(shí)時(shí)信息分析處理速度要比進(jìn)入系統(tǒng)快、要求安全可靠、資源利用率低。
3.多道程序(multiprogramming)和多重處理(multiprocessing)有何區(qū)別?
答;多道程序(multiprogramming)是作業(yè)之間自動(dòng)調(diào)度執(zhí)行、共享系統(tǒng)資源,并不是真正地同時(shí)值行多個(gè)作業(yè);而多重處理(multiprocessing)系統(tǒng)配置多個(gè)CPU,能真正同時(shí)執(zhí)行多道程序。要有效使用多重處理,必須采用多道程序設(shè)計(jì)技術(shù),而多道程序設(shè)計(jì)原則上 不一定要求多重處理系統(tǒng)的支持。
6.設(shè)計(jì)計(jì)算機(jī)操作系統(tǒng)時(shí)與那些硬件器件有關(guān)
運(yùn)算器、控制器、存儲(chǔ)器、輸入設(shè)備、輸出設(shè)備
第二章 作業(yè)管理和用戶接口
2. 作業(yè)由哪幾部分組成?各有什么功能?
答:作業(yè)由三部分組成:程序、數(shù)據(jù)和作業(yè)說明書。程序和數(shù)據(jù)完成用戶所要求的業(yè)務(wù)處理工作,作業(yè)說明書則體現(xiàn)用戶的控制意圖。
3.作業(yè)的輸入方式有哪幾種?各有何特點(diǎn)
答:作業(yè)的輸入方式有5種:聯(lián)機(jī)輸入方式、脫機(jī)輸入方式、直接耦合方式、SPOOLING
(Simultaneous Peripheral OperationsOnline)系統(tǒng)和網(wǎng)絡(luò)輸入方式,各有如下特點(diǎn):
(1)聯(lián)機(jī)輸入方式:用戶和系統(tǒng)通過交互式會(huì)話來輸入作業(yè)。
(2)脫機(jī)輸入方式:又稱預(yù)輸入方式,利用低檔個(gè)人計(jì)算機(jī)作為外圍處理機(jī)進(jìn)行輸入處理,存儲(chǔ)在后備存儲(chǔ)器上,然后將此后援存儲(chǔ)器連接到高速外圍設(shè)備上和主機(jī)相連,從而在較短的時(shí)間內(nèi)完成作業(yè)的輸入工作。
(3)直接耦合方式:把主機(jī)和外圍低檔機(jī)通過一個(gè)公用的大容量外存直接耦合起來,從而省去了在脫機(jī)輸入中那種依靠人工干預(yù)宋傳遞后援存儲(chǔ)器的過程。
(4)SPOOLING系統(tǒng):可譯為外圍設(shè)備同時(shí)聯(lián)機(jī)操作。在SPOOLING系統(tǒng)中,多臺(tái)外圍設(shè)備通過通道或DMA器件和主機(jī)與外存連接起來,作業(yè)的輸入輸出過程由主機(jī)中的操作系統(tǒng)控制。
(5)網(wǎng)絡(luò)輸入方式:網(wǎng)絡(luò)輸入方式以上述幾種輸入方式為基礎(chǔ),當(dāng)用戶需要把在計(jì)算機(jī)網(wǎng)絡(luò)中某一臺(tái)主機(jī)上輸入的信息傳送到同一網(wǎng)中另一臺(tái)主機(jī)上進(jìn)行操作或執(zhí)行時(shí),就構(gòu)成了網(wǎng)絡(luò)輸入方式。4.試述spooling系統(tǒng)的工作原理
6.操作系統(tǒng)為用戶提供哪些接口?它們的區(qū)別是什么?
答:操作系統(tǒng)為用戶提供兩個(gè)接口,一個(gè)是系統(tǒng)為用戶提供的各種命令接口,用戶利用這些操作命令來組織和控制作業(yè)的執(zhí)行或管理計(jì)算機(jī)系統(tǒng)。另一個(gè)接口是系統(tǒng)調(diào)用,編程人員使用系統(tǒng)調(diào)用來請(qǐng)求操作系統(tǒng)提供服務(wù),例如申請(qǐng)和釋放外設(shè)等類資源、控制程序的執(zhí)行速度等。
8.什么是系統(tǒng)調(diào)用?系統(tǒng)調(diào)用與一般用戶程序有什么區(qū)別?與庫函數(shù)和實(shí)用程序又有什么區(qū)別?
答:系統(tǒng)調(diào)用是操作系統(tǒng)提供給編程人員的唯一接口。編程人員利用系統(tǒng)調(diào)用,在源程序一級(jí)動(dòng)態(tài)請(qǐng)求和釋放系統(tǒng)資源,調(diào)用系統(tǒng)中已有的系統(tǒng)功能 來完成那些與機(jī)器硬件部分相關(guān)的工作以及控制程序的執(zhí)行速度等。因此,系統(tǒng)調(diào)用像一個(gè)黑箱子那樣,對(duì)用戶屏蔽了操作系統(tǒng)的具體動(dòng)作而只提供有關(guān)的功能。它 與一般用戶程序、庫函數(shù)和實(shí)用程序的區(qū)別是:系統(tǒng)調(diào)用程序是在核心態(tài)執(zhí)行,調(diào)用它們需要一個(gè)類似于硬件中斷處理的中斷處理機(jī)制來提供系統(tǒng)服務(wù)。
9.簡(jiǎn)述系統(tǒng)調(diào)用的實(shí)現(xiàn)過程。
答;用戶在程序中使用系統(tǒng)調(diào)用,給出系統(tǒng)凋用名和函數(shù)后,即產(chǎn)生一條相應(yīng)的陷入指令,通過陷入處理機(jī)制調(diào)用服務(wù),引起處理機(jī)中斷,然后保護(hù)處理機(jī)現(xiàn)場(chǎng),取系統(tǒng)調(diào)用功能號(hào)并尋找子程序入口,通過入口地址表來調(diào)用系統(tǒng)子程序,然后返回用戶程序繼續(xù)執(zhí)行。
第三章 用戶管理和配置管理
2.試比較進(jìn)程和程序的區(qū)別。
答:(1)進(jìn)程是一個(gè)動(dòng)態(tài)概念,而程序是一個(gè)靜態(tài)概念,程序是指令的有序集合,無執(zhí)行含義,進(jìn)程則強(qiáng)調(diào)執(zhí)行的過程。
(2)進(jìn)程具有并行特征(獨(dú)立性,異步性),程序則沒有。
(3)不同的進(jìn)程可以包含同一個(gè)程序,同一程序在執(zhí)行中也可以產(chǎn)生多個(gè)進(jìn)程。
4.試比較作業(yè)和進(jìn)程的區(qū)別。
答:一個(gè)進(jìn)程是一個(gè)程序?qū)δ硞€(gè)數(shù)據(jù)集的執(zhí)行過程,是分配資源的基本單位。作業(yè)是用于需要計(jì)算機(jī)完成某項(xiàng)任務(wù),而要求計(jì)算機(jī)所做工作的集合。一個(gè)作業(yè)的完成要經(jīng)過作業(yè)提交,作業(yè)收容、作業(yè)執(zhí)行和作業(yè)完成4個(gè)階段。而進(jìn)程是已提交完畢的程序所執(zhí)行過程的描述,足資源分配的基本單位。其主要區(qū)別關(guān) 系如下:
(1)作業(yè)是用戶向計(jì)算機(jī)提交任務(wù)的任務(wù)實(shí)體。在用戶向計(jì)算機(jī)提交作業(yè)之后,系統(tǒng)將存儲(chǔ)在外存中的作業(yè)等待隊(duì)列中等待執(zhí)行。而進(jìn)程則是完成用戶任務(wù)的執(zhí)行實(shí)體,是向系統(tǒng)申請(qǐng)分配資源的基本單位。任一進(jìn)程,只要它被創(chuàng)建,總有相應(yīng)的部分存在于內(nèi)存中。
(2)一個(gè)作業(yè)可由多個(gè)進(jìn)程組成。且必須至少由一個(gè)進(jìn)程組成,但反過來不成立。
(3)作業(yè)的概念主要用在批處理系統(tǒng)中。像Unix這樣的分時(shí)系統(tǒng)中,則沒有作業(yè)概念。而進(jìn)程的概念則用在幾乎所有的多道程序系統(tǒng)中。
6.什么是臨界區(qū)?試舉一臨界區(qū)的例子。
答:臨界區(qū)是指不允許多個(gè)并發(fā)進(jìn)程交叉執(zhí)行的一段程序。它是由于不同并發(fā)進(jìn)程的程序段共享公用數(shù)據(jù)或公用數(shù)據(jù)變量而引起的。所以它又被稱為訪問公用數(shù)據(jù)的那段程序。
例如:
getspace:
Begin local g
top=top-1
End
release(ad):
Begin
top’top十1
stack[top]=ad
End
8.什么是進(jìn)程間的互斥?什么是進(jìn)程間同步? 3
答:進(jìn)程間的互斥是指:一組并發(fā)進(jìn)程中的一個(gè)或多個(gè)程序段,因共享某一公有資源而導(dǎo)致它們必須以一個(gè)不許交叉執(zhí)行的單位執(zhí)行,即不允許兩個(gè)以上的共享該資源的并發(fā)進(jìn)程同時(shí)進(jìn)入臨界區(qū)。
進(jìn)程間的同步是指:異步環(huán)境下的一組并發(fā)進(jìn)程因直接制約互相發(fā)送消息而進(jìn)行互相合作、互相等待,各進(jìn)程按一定的速度執(zhí)行的過程。
15.什么是線程?試述線程與進(jìn)程的區(qū)別,答;線程是在進(jìn)程內(nèi)用于調(diào)度和占有處理機(jī)的基本單位,它由線程控制表、存儲(chǔ)線程上下文的用戶棧以及核心棧組成。線程可分為用戶級(jí)線程、核心級(jí)線程以及用戶/核心混合型線程等類型。其中用戶級(jí)線程在用戶態(tài)下執(zhí)行,CPU調(diào)度算法和各線程優(yōu)先級(jí)都由用戶設(shè)置,與操作系統(tǒng)內(nèi)核無關(guān)。核心級(jí)線程的調(diào)度算法及線程優(yōu)先級(jí)的控制權(quán)在操作系統(tǒng)內(nèi)核。混合型線程的控制權(quán)則在用戶和操作系統(tǒng)內(nèi)核二者。線程與進(jìn)程的主要區(qū)別有:
(1)進(jìn)程是資源管理的基本單位,它擁有自己的地址空間和各種資源,例如內(nèi)存空間、外部設(shè)備等;線程只是處理機(jī)調(diào)度的基本單位,它只和其他線程一起共享進(jìn)程資源,但自己沒有任何資源。
(2)以進(jìn)程為單位進(jìn)行處理機(jī)切換和調(diào)度時(shí),由于涉及到資源轉(zhuǎn)移以及現(xiàn)場(chǎng)保護(hù)等問題,將導(dǎo)致處理機(jī)切換時(shí)間變長,資源利用率降低。以線程為單位進(jìn)行處理機(jī)切換和調(diào)度時(shí),由于不發(fā)生資源變化,特別是地址空間的變化,處理機(jī)切換的時(shí)間較短,從而處理機(jī)效率也較高。
(3)對(duì)用戶來說,多線程可減少用戶的等待時(shí)間。提高系統(tǒng)的響應(yīng)速度。例如,當(dāng)一個(gè)進(jìn)程需要對(duì)兩個(gè)不同的服務(wù)器進(jìn)行遠(yuǎn)程過程凋用時(shí),對(duì)于無線程系統(tǒng)的操作系統(tǒng)來說需要順序等待兩個(gè)不同調(diào)用返回結(jié)果后才能繼續(xù)執(zhí)行,且在等待中容易發(fā)生進(jìn)程調(diào)度。對(duì)于多線程系統(tǒng)而言,則可以在同一進(jìn)程中使用不同的線程同時(shí)進(jìn)行遠(yuǎn)程過程調(diào)用,從而縮短進(jìn)程的等待時(shí)間。
(4)線程和進(jìn)程一樣,都有自己的狀態(tài).也有相應(yīng)的同步機(jī)制,不過,由于線程沒有單獨(dú)的數(shù)據(jù)和程序空間,因此,線程不能像進(jìn)程的數(shù)據(jù)與程序那樣,交換到外存存儲(chǔ)空間。從而線程沒有掛起狀態(tài)。
(5)進(jìn)程的調(diào)度、同步等控制大多由操作系統(tǒng)內(nèi)核完成,而線程的控制既可以由操作系統(tǒng)內(nèi)核進(jìn)行,也可以由用戶控制進(jìn)行。第四章 進(jìn)程管理
2.試述作業(yè)調(diào)度的主要功能。
答: 作業(yè)調(diào)度的主要功能是:按一定的原則對(duì)外存輸入井上的大量后備作業(yè)進(jìn)行選擇,給選出的作業(yè)分配內(nèi)存、輸入輸出設(shè)備等必要的資源,并建立相應(yīng)進(jìn)程,使該作業(yè)的相關(guān)進(jìn)程獲得競(jìng)爭(zhēng)處理機(jī)的權(quán)利。另外,當(dāng)作業(yè)執(zhí)行完
畢時(shí),還負(fù)責(zé)回收系統(tǒng)資源。3.作業(yè)調(diào)度的性能評(píng)價(jià)標(biāo)準(zhǔn)有哪些?這些性能評(píng)價(jià)標(biāo)準(zhǔn)在任何情況下都能反映調(diào)度策略的優(yōu)劣嗎? 答:對(duì)于批處理系統(tǒng),由于主要用于計(jì)算,因而對(duì)于作業(yè)的周轉(zhuǎn)時(shí)間要求較高。從而作業(yè)的平均周轉(zhuǎn)時(shí)間或平均帶權(quán)周轉(zhuǎn)時(shí)間被用來衡量調(diào)度程序的優(yōu)劣。但對(duì)于分時(shí)系統(tǒng)來說,平均響應(yīng)時(shí)間又被用來衡量調(diào)度策略的優(yōu)劣。對(duì)于分時(shí)系統(tǒng),除了要保證系統(tǒng)吞吐量大、資源利用率高之外,還應(yīng)保證用戶能夠容忍的響應(yīng)時(shí)間。因此,在分時(shí)系統(tǒng)中,僅僅用周轉(zhuǎn)時(shí)間或帶權(quán)周轉(zhuǎn)時(shí)間來衡量調(diào)度性能是不夠的。對(duì)于實(shí)時(shí)系統(tǒng),衡量調(diào)度算法優(yōu)劣的主要標(biāo)志則是滿足用戶要求的時(shí)限時(shí)間。
4.進(jìn)程調(diào)度的功能有哪些?
答:進(jìn)程調(diào)度的功能有:
(1)記錄和保存系統(tǒng)中所有進(jìn)程的執(zhí)行情況;
(2)選擇占有處理機(jī)的進(jìn)程;
(3)進(jìn)行進(jìn)程上下文切換。5.進(jìn)程調(diào)度的時(shí)機(jī)有哪幾種?
答:進(jìn)程調(diào)度的時(shí)機(jī)有:
(1)正在執(zhí)行的進(jìn)程執(zhí)行完畢。這時(shí)如果不選擇新的就緒進(jìn)程執(zhí)行,將浪費(fèi)處理機(jī)資源。
(2)執(zhí)行中進(jìn)程自己調(diào)用阻塞原語將自己阻塞起來進(jìn)入睡眠等待狀態(tài)。
(3)執(zhí)行中進(jìn)程調(diào)用了P原語操作,從而因資源不足而被阻塞:或調(diào)用了V原語操作激活了等待資源的進(jìn)程隊(duì)列。
(4)執(zhí)行中進(jìn)程提出I/O請(qǐng)求后被阻塞。
(5)在分時(shí)系統(tǒng)中時(shí)間片已經(jīng)用完。
(6)在執(zhí)行完系統(tǒng)調(diào)用等系統(tǒng)程序后返回用戶程序時(shí),可看做系統(tǒng)進(jìn)程執(zhí)行完畢,從而調(diào)度選擇一新的用戶進(jìn)程執(zhí)行。
(7)在CPU執(zhí)行方式是可剝奪時(shí),還有:就緒隊(duì)列中的某進(jìn)程的優(yōu)先級(jí)變得高于當(dāng)前執(zhí)行進(jìn)程的優(yōu)先級(jí),從而也將引發(fā)進(jìn) 程調(diào)度。
6.進(jìn)程上下文切換由哪幾部分組成?描述進(jìn)程上下文切換過程。
答:進(jìn)程上下文切換由以下4個(gè)步驟組成;
(1)決定是否作上下文切換以及是否允許作上下文切換。包括對(duì)進(jìn)程調(diào)度原因的檢查分析,以及當(dāng)前執(zhí)行進(jìn)程的資格和CPU執(zhí)行方式的檢查等。在操作系統(tǒng)中,上下文切換程序并不是每時(shí)每刻都在檢查和分析是否可作上下文切換,它們?cè)O(shè)置有適當(dāng)?shù)臅r(shí)機(jī)。
(2)保存當(dāng)前執(zhí)行進(jìn)程的上下文。這里所說的當(dāng)前執(zhí)行進(jìn)程,實(shí)際上是指調(diào)用上下文切換程序之前的執(zhí)行進(jìn)程。如果上下文切換不是被那個(gè)當(dāng)前執(zhí)行進(jìn)程所調(diào)用,且不屬于該進(jìn)程,則所保存的上下文應(yīng)是先前執(zhí)行進(jìn)程的上下文,或稱為“老”進(jìn)程上下文。顯然,上下文切換程序不能破壞“老”進(jìn)程的上下文結(jié)構(gòu)。(3)使用進(jìn)程調(diào)度算法,選擇一處于就緒狀態(tài)的進(jìn)程。
(4)恢復(fù)或裝配所選進(jìn)程的上下文,將CPU控制權(quán)交到所選進(jìn)程手中。
第五章 處理器管理
2.什么是虛擬存儲(chǔ)器?其特點(diǎn)是什么? 答:由進(jìn)程中的目標(biāo)代碼、數(shù)據(jù)等的虛擬地址組成的虛擬空間稱為虛擬存儲(chǔ)器。虛擬存儲(chǔ)器不考慮物理存儲(chǔ)器的大小和信息存放的實(shí)際位置,只規(guī)定每個(gè)進(jìn)程中相互關(guān)聯(lián)信息的相對(duì)位置。每個(gè)進(jìn)程都擁有自己的虛擬存儲(chǔ)器,且虛擬存儲(chǔ)
器的容量是由計(jì)算機(jī)的地址結(jié)構(gòu)和尋址方式來確定。實(shí)現(xiàn)虛擬存儲(chǔ)器要求有相應(yīng)的地址轉(zhuǎn)換機(jī)構(gòu),以便把指令的虛擬地址變換為實(shí)際物理地址;另外,由于內(nèi)存空間較小,進(jìn)程只有部分內(nèi)容存放于內(nèi)存中,待執(zhí)行時(shí)根據(jù)需要再調(diào)指令入內(nèi)存。3.實(shí)現(xiàn)地址重定位的方法有哪幾類?
答:實(shí)現(xiàn)地址重定位的方法有兩種:靜態(tài)地址重定位和動(dòng)態(tài)地址重定位。
(1)靜態(tài)地址重定位是在虛空間程序執(zhí)行之前由裝配程序完成地址映射工作。靜態(tài)重定位的優(yōu)點(diǎn)是不需要硬件支持,但是用靜態(tài)地址重定位方法進(jìn)行地址變換無法實(shí)現(xiàn)虛擬存儲(chǔ)器。靜態(tài)重定位的另一個(gè)缺點(diǎn)是必須占用連續(xù)的內(nèi)存空間和難以做到程序和數(shù)據(jù)的共享。
(2)動(dòng)態(tài)地址重定位是在程序執(zhí)行過程中,在CPU訪問內(nèi)存之前由硬件地址變換機(jī)構(gòu)將要訪問的程序或數(shù)據(jù)地址轉(zhuǎn)換成內(nèi)存地址。動(dòng)態(tài)地址重定位的主要優(yōu)點(diǎn)有:
①可以對(duì)內(nèi)存進(jìn)行非連續(xù)分配。
②動(dòng)態(tài)重定位提供了實(shí)現(xiàn)虛擬存儲(chǔ)器的基礎(chǔ)。
③動(dòng)態(tài)重定位有利于程序段的共享。
形式化描述:略。
6.動(dòng)態(tài)分區(qū)式管理的常用內(nèi)存分配算法有哪幾種?比較它們各自的優(yōu)缺點(diǎn)。
答:動(dòng)態(tài)分區(qū)式管理的常用內(nèi)存分配算法有最先適應(yīng)法(FF)、最佳適應(yīng)法(BF)和最壞適應(yīng)法(WF)。
優(yōu)缺點(diǎn)比較:
①從搜索速度上看最先適應(yīng)法最佳,最佳適應(yīng)法和最壞適應(yīng)法都要求把不同大小的空閑區(qū)按大小進(jìn)行排隊(duì)。
②從回收過程來看,最先適應(yīng)法也是最佳,因?yàn)樽罴堰m應(yīng)法和最壞適應(yīng)法都必須重新調(diào)整空閑區(qū)的位置。
③最佳適應(yīng)法找到的空閑區(qū)是最佳的,但是會(huì)造成內(nèi)存碎片較多,影響了內(nèi)存利用率,而最壞適應(yīng)法的內(nèi)存碎片最少,但是對(duì)內(nèi)存的請(qǐng)求較多的進(jìn)程有可能分配失敗。
總之,三種算法各有所長,針對(duì)不同的請(qǐng)求隊(duì)列,它們的效率和功能是不一樣的7.5.3節(jié)討論的分區(qū)式管理可以實(shí)現(xiàn)虛存嗎?如果不能,需要怎樣修改?試設(shè)計(jì)一個(gè)分區(qū)式管理實(shí)現(xiàn)虛存的程序流程圖。如果能,試說明理由。
答:5.3節(jié)討論的分區(qū)式管理不能實(shí)現(xiàn)虛存。如果要實(shí)現(xiàn)虛存,可以在分區(qū)的基礎(chǔ)之上對(duì)每個(gè)分區(qū)內(nèi)部進(jìn)行請(qǐng)求調(diào)頁式管理。
8.簡(jiǎn)述什么是覆蓋?什么是交換?覆蓋和交換的區(qū)別是什么? 答:將程序劃分為若干個(gè)功能上相對(duì)獨(dú)立的程序段,按照程序的邏輯結(jié)構(gòu)讓那些不會(huì)同時(shí)執(zhí)行的程序段共享同一塊內(nèi)存區(qū)的內(nèi)存擴(kuò)充技術(shù)就是覆蓋。交換是指先將內(nèi)存某部分的程序或數(shù)據(jù)寫入外存交換區(qū),再從外存交換區(qū)中調(diào)入指定的程序或數(shù)據(jù)到內(nèi)存中來,并讓其執(zhí)行的一種內(nèi)存擴(kuò)充技術(shù)。與覆蓋技術(shù)相比,交換不要求程序員給出程序段之間的覆蓋結(jié)構(gòu),而且,交換主要是在進(jìn)程或作業(yè)之間進(jìn)行,而覆蓋則主要在同一個(gè)作業(yè)或同一個(gè)進(jìn)程內(nèi)進(jìn)行。另外,覆蓋只能覆蓋那 些與覆蓋程序段無關(guān)的程序段。
9.什么是頁式管理?靜態(tài)頁式管理可以實(shí)現(xiàn)虛存嗎? 答:頁式管理就是把各進(jìn)程的虛擬空間劃分為若干長度相等的頁面,把指令按頁面大小劃分后存放在內(nèi)存中執(zhí)行或只在內(nèi)存中存放那些經(jīng)常被執(zhí)行或即將被執(zhí)行的頁面,而那些不被經(jīng)常執(zhí)行以及在近期內(nèi)不可能被執(zhí)行的頁面則存放于外存中,按一定規(guī)則調(diào)入的一種內(nèi)存管理方式。
靜態(tài)頁式管理不能實(shí)現(xiàn)虛存,這是因?yàn)殪o態(tài)頁式管理要求進(jìn)程或作業(yè)在執(zhí)行前全部被裝入內(nèi)存,作業(yè)或進(jìn)程的大小仍受內(nèi)存可用頁面數(shù)的限制。
11.請(qǐng)求頁式管理中有哪幾種常用的頁面置換算法?試比較它們的優(yōu)缺點(diǎn)。
答:比較常用的頁面置換算法有:
(1)隨機(jī)淘汰算法(randomglongram)。即隨機(jī)地選擇某個(gè)用戶頁面并將其換出。
(2)輪轉(zhuǎn)法RR(roundrobin)。輪轉(zhuǎn)法循回?fù)Q出內(nèi)存可用區(qū)內(nèi)一個(gè)可以被換出的頁,無論該頁是剛被換進(jìn)或已經(jīng)換進(jìn)內(nèi)存很長時(shí)間。
(3)先進(jìn)先出法FIFO(firstinfirstout)。FIFO算法選擇在內(nèi)存駐留時(shí)間最長的一頁將其淘汰。
(4)最近最久未使用頁面置換算法I.RU(1east recently unused)。該算法的基本思想是:當(dāng)需要淘汰某一頁時(shí),選擇離當(dāng)前時(shí)間最近的一段時(shí)間內(nèi)最久沒有使用過的頁面先淘汰。
(5)理想型淘汰算法OPT(optimalreplacementalgorithm)。該算法淘汰在訪問串中將來再也不出現(xiàn)的或是在離當(dāng)前最遠(yuǎn)的位置上出現(xiàn)的頁面。15.段式管理可以實(shí)現(xiàn)虛存嗎?如果可以,簡(jiǎn)述實(shí)現(xiàn)方法。
答:段式管理可以實(shí)現(xiàn)虛存。
段式管理把程序按照內(nèi)容或過程(函數(shù))關(guān)系分成段,每段擁有自己的名字。一個(gè)用戶作業(yè)或進(jìn)程所包含的段對(duì)應(yīng)于—個(gè)二維線性虛擬空間(段號(hào)s與段內(nèi)相對(duì)地址w),也就是一個(gè)二維虛擬存儲(chǔ)器。段式管理以段為單位分配內(nèi)存,然后通過地址映射機(jī)構(gòu)把段式虛擬地址轉(zhuǎn)換成實(shí)際的內(nèi)存物理地址。只把那些經(jīng)常訪問的段駐留內(nèi)存,而把那些在將來一段時(shí)間內(nèi)不被訪問的段放入外存,待需要時(shí)產(chǎn)生缺段中斷,自動(dòng)調(diào)入。
18.段頁式管理的主要缺點(diǎn)是什么?有什么改進(jìn)辦法? 答:段頁式管理的主要缺點(diǎn)是對(duì)內(nèi)存中指令或數(shù)據(jù)進(jìn)行存取時(shí),至少需要對(duì)內(nèi)存進(jìn)行三次以上的訪問。第一次是由段表地址寄存器取段表始址后訪問段表,由此取出對(duì)應(yīng)段的頁表在內(nèi)存中的地址。第二次則是訪問頁表得到所要訪問的指令或數(shù)據(jù)的物理地址。只有在訪問了段表和頁表之后,第三次才能訪問真正需要訪問的物理單元。顯然。這將大大降低CPU執(zhí)行指令的速度。改進(jìn)辦法是設(shè)置快速聯(lián)想寄存器。在快速聯(lián)想寄存器中.存放當(dāng)前最常用的段號(hào)s,頁號(hào)p和對(duì)應(yīng)的內(nèi)存頁面地址與其他控制項(xiàng)。當(dāng)需要訪問內(nèi)存空間某一單元時(shí),可在通過段表、頁表進(jìn)行內(nèi)存地址查找的同時(shí),根據(jù)快速聯(lián)想寄存器查找其段號(hào)和頁號(hào)。如果所要訪問的段或頁的地址在快速聯(lián)想寄存器中,則系統(tǒng)不再訪問內(nèi)存中的段表、頁表而直接把快速聯(lián)想寄存器中的值與頁內(nèi)相對(duì)地址d拼接起來得到內(nèi)存地址。
19.什么是局部性原理?什么是抖動(dòng)?你有什么辦法減少系統(tǒng)的抖動(dòng)現(xiàn)象? 答:局部性原理是指在幾乎所有程序的執(zhí)行過程中,在一段時(shí)間內(nèi),CPU總是集中地訪問程序中的某—個(gè)部分而不是對(duì)程序的所有部分具有平均的訪問概率。抖動(dòng)是指當(dāng)給進(jìn)程分配的內(nèi)存小于所要求的工作區(qū)時(shí),由于內(nèi)存外存之間交換頻繁,訪問外存的時(shí)間和輸入輸出處理時(shí)間大大增加,反而造成CPU因等待數(shù)據(jù)而空轉(zhuǎn),使得整個(gè)系統(tǒng)性能大大下降。在物理系統(tǒng)中,為防止抖動(dòng)的產(chǎn)生,在進(jìn)行淘汰或替換時(shí),—般總是把缺頁進(jìn)程鎖住,不讓其換出,從而防止抖動(dòng)發(fā)生。防止抖動(dòng)發(fā)生的另一個(gè)辦法是設(shè)置較大的內(nèi)存工作區(qū)。
第八章 文件系統(tǒng)
1.什么是文件、文件系統(tǒng)?文件系統(tǒng)有哪些功能?
答:在計(jì)算機(jī)系統(tǒng)中,文件被解釋為一組賦名的相關(guān)字符流的集合,或者是相關(guān)記錄的集合。
文件系統(tǒng)是操作系統(tǒng)中與管理文件有關(guān)的軟件和數(shù)據(jù)。
文件系統(tǒng)的功能是用戶建立文件,撤銷、讀寫修改和復(fù)制文件,以及完成對(duì)文件的按名存取和進(jìn)行存取控制。
2.文件系統(tǒng)一般按什么分類?可以分為哪幾類?
答:文件系統(tǒng)一般按性質(zhì)、用途、組織形式、文件中的信息流向或文件的保護(hù)級(jí)別等分類。
按文件的性質(zhì)與用途可以分為系統(tǒng)文件、庫文件和用戶文件。按文件的組織形式可以分為普通文件、目錄文件和特殊文件。按文件中的信息流向可以分為輸入文件、輸出文件和輸入/輸出文件。按文件的保護(hù)級(jí)別可以分為只讀文件、讀寫文件、可執(zhí)行文件和不保護(hù)文件。3.什么是文件的邏輯結(jié)構(gòu)?什么是記錄?
答:文件的邏輯結(jié)構(gòu)就是用戶可見的結(jié)構(gòu),可分為字符流式的無結(jié)構(gòu)文件和記錄式的有結(jié)構(gòu)文件兩大類。
記錄是一個(gè)具有特定意義的信息單位,它由該記錄在文件中的邏輯地址(相對(duì)地址)與記錄名所對(duì)應(yīng)的一組關(guān)鍵字、屬性及其屬性值所組成。
7.文件的物理結(jié)構(gòu)有哪幾種?為什么說串聯(lián)文件結(jié)構(gòu)不適于隨機(jī)存取?
答:文件的物理結(jié)構(gòu)是指文件在存儲(chǔ)設(shè)備上的存放方法。常用的文件物理結(jié)構(gòu)有連續(xù)文件、串聯(lián)文件和索引文件3種。串聯(lián)文件結(jié)構(gòu)用非連續(xù)的物理塊來存放文件信息,這些非連續(xù)的物理塊之間沒有順序關(guān)系,鏈接成一個(gè)串聯(lián)隊(duì)列,搜索時(shí)只能按隊(duì)列中的串聯(lián)指針順序搜索,存取方法應(yīng)該是順序存取的。否則,為了讀取某個(gè)信息塊而造成的磁頭大幅度移動(dòng)將花去較多的時(shí)間。因此,串聯(lián)文件結(jié)構(gòu)不適于隨機(jī)存取 11.什么是文件目錄?文件目錄中包含哪些信息?
答:一個(gè)文件的文件名和對(duì)該文件實(shí)施控制管理的說明信息稱為該文件的說明信息,又稱為該文件的目錄。
文件目錄中包含文件名、與文件名相對(duì)應(yīng)的文件內(nèi)部標(biāo)識(shí)以及文件信息在文件存儲(chǔ)設(shè)備上第一個(gè)物理塊的地址等信息。另外還可能包含關(guān)于文件邏輯結(jié)構(gòu)、物理結(jié)構(gòu)、存取控制和管理等信息。第九章 外部設(shè)備管理
1.設(shè)備管理的目標(biāo)和功能是什么? 答:設(shè)備管理的目標(biāo)是:選擇和分配輸入/輸出設(shè)備以便進(jìn)行數(shù)據(jù)傳輸操作;控制輸入/輸出設(shè)備和CPU(或內(nèi)存)之間交換數(shù)據(jù),為用戶提供一個(gè)友好的透明接口,提高設(shè)備和設(shè)備之間、CPU和設(shè)備之間,以及進(jìn)程和進(jìn)程之間的并行操作,以使操作系統(tǒng)獲得最佳效率。設(shè)備管理的功能是:提供和進(jìn)程管理系統(tǒng)的接口;進(jìn)行設(shè)備分配;實(shí)現(xiàn)設(shè)備和設(shè)備、設(shè)備和CPU等之間的并行操作;進(jìn)行緩沖區(qū)管理。
4. 什么是中斷?什么叫中斷處理?什么叫中斷響應(yīng)?
答: 中斷是指計(jì)算機(jī)在執(zhí)行期間,系統(tǒng)內(nèi)發(fā)生任何非尋常的或非預(yù)期的急需處理事件,使得CPU暫時(shí)中斷當(dāng)前正在執(zhí)行的程序而轉(zhuǎn)去執(zhí)行相應(yīng)的事件處理程序,待處理 完畢后又返回原來被中斷處繼續(xù)執(zhí)行的過程。CPU轉(zhuǎn)去執(zhí)行相應(yīng)的事件處理程序的過程稱為中斷處理。CPU收到中斷請(qǐng)求后轉(zhuǎn)到相應(yīng)的事件處理程序稱為中斷響 應(yīng)。
5.什么叫關(guān)中斷?什么叫開中斷?什么叫中斷屏蔽?
答:把CPU內(nèi)部的處理機(jī)狀態(tài)字PSW的中斷允許位清除從而不允許CPU響應(yīng)中斷叫做關(guān)中斷。設(shè)置CPU內(nèi)部的處理機(jī)狀態(tài)字PSW的中斷允許位從而允許CPU響應(yīng)中斷叫做開中斷。
中斷屏蔽是指在中斷請(qǐng)求產(chǎn)生之后,系統(tǒng)用軟件方式有選擇地封鎖部分中斷而允許其余部分的中斷仍能得到響應(yīng)。
6.什么是陷阱?什么是軟中斷?試述中斷、陷阱和軟中斷之間異同。
答:陷阱指處理機(jī)和內(nèi)存內(nèi)部產(chǎn)生的中斷,它包括程序運(yùn)算引起的各種錯(cuò)誤,如地址非法、校驗(yàn)錯(cuò)、頁面失效。存取訪問控制錯(cuò)、從用戶態(tài)到核心態(tài)的切換等都是陷阱的例子。軟中斷是通信進(jìn)程之間用來模擬硬中斷的一種信號(hào)通信方式。
7.描述中斷控制方式時(shí)的CPU動(dòng)作過程。答:(1)首先,CPU檢查響應(yīng)中斷的條件是否滿足。如果中斷響應(yīng)條件不滿足,則中斷處理無法進(jìn)行。
(2)如果CPU響應(yīng)中斷,則CPU關(guān)中斷。(3)保存被中斷進(jìn)程現(xiàn)場(chǎng)。(4)分析中斷原因,調(diào)用中斷處理子程序。(5)執(zhí)行中斷處理子程序。(6)退出中斷,恢復(fù)被中斷進(jìn)程的現(xiàn)場(chǎng)或調(diào)度新進(jìn)程占據(jù)處理機(jī)。(7)開中斷,CPU繼續(xù)執(zhí)行。8.什么是緩沖?為什么要引入緩沖? 答:緩沖即是使用專用硬件緩沖器或在內(nèi)存中劃出一個(gè)區(qū)域用來暫時(shí)存放輸入輸出數(shù)據(jù)的器件。引入緩沖是為了匹配外設(shè)和CPU之間的處理速度,減少中斷次數(shù)和CPU的中斷處理時(shí)間,同時(shí)解決DMA或通道方式時(shí)的數(shù)據(jù)傳輸瓶頸問題。
第五篇:材料化學(xué)課后題答案
一. 內(nèi)蒙古科技大學(xué)材料化學(xué)課后題答案 二. 應(yīng)用化學(xué)專業(yè)1166129108 三. 什么是納米材料 ?
四. 試闡述納米效應(yīng)及其對(duì)納米材料性質(zhì)的影響?
答: 1.小尺寸效應(yīng);使納米材料較宏觀塊體材料熔點(diǎn)有顯著降低,并使納米材料呈現(xiàn)出全新的聲,光,電磁和熱力學(xué)特性。
2.表面與界面效應(yīng);使納米顆粒表面具有很高的活性和極強(qiáng)的吸附性。
3.量子尺寸效應(yīng);使納米微粒的磁,光,熱,電以及超導(dǎo)電性與宏觀特性有著顯著不同。
4.宏觀量子隧道效應(yīng);使納米電子器件不能無限制縮小,即存在微型化的極限。
三.納米材料的制備方法?
答:1.將宏觀材料分裂成納米顆粒。
2.通過原子,分子,離子等微觀粒子聚集形成微粒,并控制微粒的生長,使其維持在納米尺寸。
四.1.玻璃體:冷卻過程中粘度逐漸增大,并硬化形成不結(jié)晶且沒有固定的化學(xué)組成硅酸鹽材料。
2.陶瓷:凡是用陶土和瓷土這兩種不同性質(zhì)的黏土為原料經(jīng)過配料,成型,干燥,焙燒等工藝流程制成的器物都可叫陶瓷。
3.P-型半導(dǎo)體:參雜元素的價(jià)電子小于純?cè)氐膬r(jià)電子的半導(dǎo)體。4.黑色金屬:是指鐵,鉻,錳金屬及它們的合金。5.有色金屬:除鐵,鉻,錳以外的金屬稱為有色金屬。6.金屬固溶體:一種金屬進(jìn)入到另一種金屬的晶格內(nèi),對(duì)外表現(xiàn)的是溶劑的晶格類型的合金。
7.超導(dǎo)體:具有超低溫下失去電阻性質(zhì)的物質(zhì)。
五.1.簡(jiǎn)述傳統(tǒng)陶瓷制造的主要原料?
答:黏土,長石,石英礦是制造傳統(tǒng)陶瓷的主要原料。
2.陶瓷是否一定含有玻璃相?
答:并非所有的陶瓷材料都含有玻璃相,某些非氧特種陶瓷材料可以近乎100%的晶相形式存在。
3.試討論超導(dǎo)體性質(zhì)的形成原理及超導(dǎo)狀態(tài)時(shí)所表現(xiàn)出來的特殊現(xiàn)象?
答:電子同晶格相互作用,在常溫下形成導(dǎo)體的電阻,但在超低溫下,這種相互作用是產(chǎn)生超導(dǎo)電子對(duì)的原因。溫度越低所產(chǎn)生的這種電子對(duì)越多,超導(dǎo)電子對(duì)不能相互獨(dú)立地運(yùn)動(dòng),只能以關(guān)聯(lián)的形式做集體運(yùn)動(dòng)。于是整個(gè)空間范圍內(nèi)的所有電子對(duì)在動(dòng)量上彼此關(guān)聯(lián)成為有序的整體,超導(dǎo)電子對(duì)運(yùn)動(dòng)時(shí),不像正常電子那樣被晶體缺陷和晶格振動(dòng)散射而產(chǎn)生電阻,從而呈現(xiàn)無電阻的超導(dǎo)現(xiàn)象。物質(zhì)處于超導(dǎo)狀態(tài)時(shí)會(huì)表現(xiàn)出電阻消失和完全抗磁性現(xiàn)象。
4.簡(jiǎn)述形狀記憶合金原理?
答:所謂納米材料,是指微觀結(jié)構(gòu)至少在一維方向上受納米尺度調(diào)制的各種固體超細(xì)材料,或由它們作為基本單元構(gòu)成的材料。
答:形狀記憶合金的形狀記憶效應(yīng)源于某些特殊結(jié)構(gòu)的合金在特定溫度下發(fā)生馬氏體相-奧氏體相組織結(jié)構(gòu)相互轉(zhuǎn)換。熱金屬降溫過程中,面心立方的奧氏體相逐漸變成體心立方或體心四方結(jié)構(gòu)的馬氏體相,這種馬氏體一旦形成,就會(huì)隨著溫度下降而繼續(xù)生長,如果溫度上升,它又會(huì)減少,已完全相反的過程消失。
5.介紹儲(chǔ)氫合金類別,并說明其儲(chǔ)氫,釋氫化學(xué)過程?
答:類別;主要有鈦系儲(chǔ)氫合金,鋯系儲(chǔ)氫合金,鐵系儲(chǔ)氫合金及稀土系儲(chǔ)氫合金。
化學(xué)過程;金屬儲(chǔ)氫材料中一個(gè)金屬原子能與兩個(gè),三個(gè)甚至更多氫原子結(jié)合,生成穩(wěn)定的金屬氫化物,同時(shí)放出熱量。等將其稍稍加熱,氫化物又會(huì)發(fā)生分解,將吸收的氫釋放出來,同時(shí)吸收熱量。
6.一般金屬材料是否為單晶態(tài)金屬結(jié)構(gòu)?
答:不是,金屬材料一般為多晶體材料,多晶體材料是指整塊金屬材料包含著許多小晶體,每個(gè)小晶體的晶格位相是一致的,而各小晶體之間彼此方位不同。六.1.提拉法中控制晶體品質(zhì)的主要因素有哪些?
答:固液界面的溫度梯度,生長速率,晶轉(zhuǎn)速率以及溶體的流體效應(yīng)。
2.單晶硅棒和厚度為1微米的薄膜分別可用什么方法制備?
答:提拉法,真空蒸鍍法。
3.液相外延法和氣相沉淀法都可以制備薄膜,如果要制備納米厚度薄膜,應(yīng)該采用哪種方法?
答:氣相沉淀法;氣相沉淀法制得的薄膜厚度可由數(shù)百埃至數(shù)微米,而液相外延法,由于薄膜生長速率較快,難得到納米厚度的外延材料。
4.CVD法(化學(xué)氣相沉淀法)沉積SiO2可通過那些反應(yīng)實(shí)現(xiàn)?寫出相關(guān)化學(xué)方程式?
答:烷氧化物熱分解;
氧化反應(yīng);
水解反應(yīng);
5.用什么方法可以對(duì)Cu 和Cu2O進(jìn)行分離,寫出相關(guān)化學(xué)方程式?
答:利用做運(yùn)輸氣體可以對(duì)Cu 和Cu2O進(jìn)行分離;
由于從Cu2O生成CuCl為放熱反應(yīng),而從Cu 生成CuCl為吸熱反應(yīng),因此Cu2O在較高溫度處沉積,而Cu 則在較低溫度處沉積。
6.溶膠--凝膠法制備纖維材料,應(yīng)采用怎樣的條件較合適?
答:在拉纖階段控制溶膠粘度為10~100Pa·S;應(yīng)使用酸催化使形成的縮聚中間體為線形分子鏈。
7.怎樣用均勻沉淀法合成硫化鋅顆粒,寫出相關(guān)化學(xué)方程式?
8.有兩種活化能分別為Q1=83.7KJ/mol 和Q2=251KJ/mol 的擴(kuò)散反應(yīng),觀察在溫度從25攝氏度升高到600攝氏度時(shí)對(duì)兩種擴(kuò)散反應(yīng)的影響,并對(duì)結(jié)果作出評(píng)述?
答:溫度從25攝氏度升高到600攝氏度的過程中,兩種擴(kuò)散反應(yīng)的速率均增大,且Q2=251KJ/mol 的擴(kuò)散反應(yīng)速率增加的更快。結(jié)論;溫度變化對(duì)活化能大的反應(yīng)的速率影響
更大。
9.簡(jiǎn)述固相反應(yīng)的影響因素?
答:反應(yīng)物化學(xué)組成與結(jié)構(gòu);
反應(yīng)物顆粒尺寸及分布; 反應(yīng)溫度,壓力與氣氛; 是否有礦化劑。
10.簡(jiǎn)述自蔓延高溫合成法的原理?
答;外部熱源將原料粉或預(yù)先壓制成一定密度的坯件進(jìn)行局部或整體加熱,當(dāng)溫度達(dá)到點(diǎn)燃溫度時(shí),撤掉外部熱源,利用原料顆粒發(fā)生的固體與固體反應(yīng)或固體與氣體反應(yīng)放出的大量反應(yīng)熱,使反應(yīng)得以繼續(xù)進(jìn)行,最后所有原料反應(yīng)完畢原位生成所需材料。
七 1.用固體能帶理論說明什么是導(dǎo)體,半導(dǎo)體,絕緣體?
答:導(dǎo)體;價(jià)帶是未滿帶或價(jià)帶是滿帶,但禁帶寬度為零,價(jià)帶與較高的空帶相交疊,滿帶中的電子能占據(jù)空帶。
半導(dǎo)體;價(jià)帶是滿帶,價(jià)帶與空帶之間存在禁帶,禁帶寬度在0.1~3eV。
絕緣體;價(jià)帶是滿帶,價(jià)帶與空帶之間存在禁帶,禁帶寬度大于5eV。
2.有一長為5m ,直徑為3mm 的鋁線,已知鋁的彈性模量為70GPa ,求在200N的拉力作用下,此線的總長度?
3.是解釋為何鋁不易生銹,而鐵則較易生銹?
答:鋁是一種較活潑的金屬,很容易與空氣中的氧氣發(fā)生反應(yīng),但快速生成的氧化膜很致密,氧分子不能穿過氧化膜,阻止了金屬進(jìn)一步被氧化。而鐵在空氣中易與環(huán)境中的氧氣水和二氧化碳反應(yīng)發(fā)生電化學(xué)銹蝕,因此鐵較易被氧化。4.為什么堿式滴定管不采用玻璃活塞?
答:因?yàn)椴AУ闹饕煞质嵌趸瑁趸杩膳c堿反應(yīng)生成硅酸鹽,阻塞滴定管。5.何種結(jié)構(gòu)的材料具有高硬度,如何提高金屬的硬度?
答:原子之間以共價(jià)鍵和離子鍵結(jié)合的材料具有較高硬度如金剛石;金屬材料的硬度主要受金屬晶體結(jié)構(gòu)的影響,形成固熔體或合金可顯著提高金屬材料的硬度。6.什么是材料的疲勞,有哪些指標(biāo)反應(yīng)材料的疲勞性能?
答:材料疲勞是指材料在循環(huán)受力下,某點(diǎn)或某些點(diǎn)產(chǎn)生局部的永久性損傷,并在一定循環(huán)次數(shù)后形成裂紋或使裂紋進(jìn)一步擴(kuò)展直到完全斷裂的現(xiàn)象;
應(yīng)力水平和疲勞壽命反應(yīng)材料的疲勞性能。
7.熱膨脹受什么因素影響,試用勢(shì)能圖進(jìn)行解釋? 答:材料原子間鍵合力的強(qiáng)弱;材料的組織結(jié)構(gòu)。8.壓電體有什么用途?
答:壓電體可以把應(yīng)力轉(zhuǎn)化成容易測(cè)量的電壓值,因此壓電體可用于制造壓力傳感器;對(duì)壓電體薄膜施加交變電流,則薄膜產(chǎn)生振動(dòng)并發(fā)出聲音,因此壓電體可用于制作音頻發(fā)生器。八.1.固溶體與溶液有何異同,固溶體有幾種類型?
答:相同點(diǎn);固溶體可看成是晶態(tài)固體下的溶液,由溶質(zhì)和溶劑組成,為多組元體系。和溶液一樣固溶體中溶質(zhì)含量可在一定范圍內(nèi)變動(dòng),存在一定的溶解性。
不同點(diǎn);固溶體組元間以原子尺度相混合,所以固溶體一定是均相的。而溶液,若組元間能夠互溶則為均相,不能互溶則為多相。固溶體是固體,溶液是流體可以流動(dòng)。
2.試闡述影響置換型固溶體的固溶度的因素?
答:原子或離子尺寸差;要形成置換型固溶體,必要條件是溶質(zhì)與溶劑的原子或離子半徑相近。
電價(jià)因素;對(duì)于離子置換型固溶體,需滿足兩種固體的離子價(jià)相同或同號(hào)離子的離子價(jià)總和相同。
鍵性影響;化學(xué)鍵性質(zhì)相似,取代前后離子周圍離子間鍵性相近,容易形成置換型固溶體。
晶體結(jié)構(gòu)因素;形成置換型固溶體的另一個(gè)必要條件是晶體結(jié)構(gòu)類型相同。3.說明為什么只有置換型固溶體的兩個(gè)組分之間才能相互完全溶解,而填隙型固溶體則不能?
答:置換型固溶體,溶質(zhì)與溶劑的原子或離子半徑相近,離子價(jià)相同,化學(xué)鍵性質(zhì)相似,晶體結(jié)構(gòu)類型相同,所以置換型固溶體兩組分間可以完全互溶,是一種無限固溶體;填隙型固溶體,由于晶體中的空隙有限,能填入的異質(zhì)原子或離子的數(shù)目也有限,所以填隙型固溶體兩組分間不能完全互溶,是一種有限固溶體。九.1.什么是材料化學(xué),其主要特點(diǎn)是什么?
答:
材料化學(xué)是材料科學(xué)與化學(xué)結(jié)合的產(chǎn)物,它是關(guān)于材料的結(jié)構(gòu),性能,制備和應(yīng)用的化學(xué)。特點(diǎn);跨學(xué)科性,實(shí)踐性。
2.新石器時(shí)代的標(biāo)志是什么?
答:陶器和農(nóng)業(yè)的出現(xiàn)。
3.什么是材料,材料與試劑的主要區(qū)別是什么? 答:材料是可以用來制造有用的構(gòu)件、器件或物品的物質(zhì)
材料是具有使其能夠用于機(jī)械,結(jié)構(gòu),設(shè)備和產(chǎn)品的性質(zhì)的物質(zhì)。材料與化學(xué)試劑不同,后者在使用過程中常常被消耗并轉(zhuǎn)化為別的物質(zhì),而材料一般可重復(fù),持續(xù)使用除了正常的損耗外它不會(huì)不可逆的轉(zhuǎn)化為別的物質(zhì)。
4.材料按其組成和結(jié)構(gòu)可以分為哪幾類?
答:金屬材料,無機(jī)非金屬材料,聚合物材料,復(fù)合材料。
5.材料按尺度角度可分為哪幾類?
答:一維材料纖維、晶須等.,二維材料薄膜、涂層等,三維材料,塊體材料
6.我國對(duì)材料怎樣分類?
答:金屬材料,非金屬材料,合成材料,復(fù)合材料,功能材料。
7.材料的發(fā)展歷程?
答:天然材料---燒煉材料---合成材料---可設(shè)計(jì)材料---智能材料。
8.晶體,非晶體,液晶之間的區(qū)別?
答:本質(zhì)區(qū)別:晶體具有長程有序的點(diǎn)陣結(jié)構(gòu),且也有短程有序的點(diǎn)陣結(jié)構(gòu);非晶體具有短程有序的點(diǎn)陣結(jié)構(gòu)而無長程有序的點(diǎn)陣結(jié)構(gòu);液晶具有長程有序的點(diǎn)陣結(jié)構(gòu)而無短程有序的點(diǎn)陣結(jié)構(gòu)。
宏觀區(qū)別:晶體在宏觀上具有規(guī)則的幾何外形,晶面角恒定,有固定的溶沸點(diǎn),和物理性質(zhì)的各向異性;非晶體無規(guī)則的幾何外形,無固定的溶沸點(diǎn)以及物理性質(zhì)上的各向同性。
9.什么是理想晶體?
答:理想晶體是由全同的稱為基元的結(jié)構(gòu)單元在空間無限重復(fù)而構(gòu)成。
10.液體如何形成晶體,和非晶體?
答:液體在緩慢降溫過程中形成晶體;在急冷過程中形成非晶體。