版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第一章OS引論
1.設(shè)計(jì)現(xiàn)代os的主要目標(biāo)是什么?
方便性,有效性,可擴(kuò)充性和開(kāi)放性.
2.OS的作用可表現(xiàn)為哪幾個(gè)方面?
a.OS作為用戶(hù)與計(jì)算機(jī)硬件系統(tǒng)之間的接口;
b.OS作為計(jì)算機(jī)系統(tǒng)資源的管理者;
c.OS作為擴(kuò)充機(jī)器.
3.試說(shuō)明推動(dòng)多道批處理系統(tǒng)形成和發(fā)展的主要?jiǎng)恿κ鞘裁矗?/p>
不斷提高計(jì)算機(jī)資源利用率和系統(tǒng)吞吐量的需要;
4.何謂脫機(jī)I/O和聯(lián)機(jī)I/O?
a.脫機(jī)輸入輸出方式(Off-LineI/O)是為了解決人機(jī)矛盾及CPU和I/O設(shè)備之
間速度不匹配而提出的.它減少了CPU的空閑等待時(shí)間,提高了I/O速度.具體內(nèi)
容是將用戶(hù)程序和數(shù)據(jù)在一臺(tái)外圍機(jī)的控制下,預(yù)先從低速輸入設(shè)備輸入到磁帶
上,當(dāng)CPU需要這些程序和數(shù)據(jù)時(shí),在直接從磁帶機(jī)高速輸入到內(nèi)存,從而大大
加快了程序的輸入過(guò)程,減少了CPU等待輸入的時(shí)間,這就是脫機(jī)輸入技術(shù);當(dāng)
程序運(yùn)行完畢或告一段落,CPU需要輸出時(shí),無(wú)需直接把計(jì)算結(jié)果送至低速輸出
設(shè)備,而是高速把結(jié)果輸出到磁帶上,然后在外圍機(jī)的控制下,把磁帶上的計(jì)算
結(jié)果由相應(yīng)的輸出設(shè)備輸出,這就是脫機(jī)輸出技術(shù).
b.若這種輸入輸出操作在主機(jī)控制下進(jìn)行則稱(chēng)之為聯(lián)機(jī)輸入輸出方式.
5.試說(shuō)明推動(dòng)分時(shí)系統(tǒng)形成和發(fā)展的主要?jiǎng)恿κ鞘裁矗?/p>
用戶(hù)的需要.即對(duì)用戶(hù)來(lái)說(shuō),更好的滿(mǎn)足了人-機(jī)交互,共享主機(jī)以及便于用戶(hù)上
機(jī)的需求.
6.試說(shuō)明實(shí)時(shí)任務(wù)的類(lèi)型和實(shí)時(shí)系統(tǒng)的類(lèi)型.
a.實(shí)時(shí)任務(wù)的類(lèi)型按任務(wù)執(zhí)行時(shí)是否呈現(xiàn)周期性來(lái)劃分,分為周期性實(shí)時(shí)任務(wù)
和非周期性實(shí)時(shí)任務(wù);
--根據(jù)對(duì)截止時(shí)間的要求來(lái)劃分,分為硬實(shí)時(shí)任務(wù)和軟實(shí)時(shí)任務(wù);
b.通常把要同達(dá)行實(shí)時(shí)控制的系統(tǒng)統(tǒng)稱(chēng)為實(shí)時(shí)控制系統(tǒng),把要求對(duì)信息進(jìn)行實(shí)
時(shí)處理的系統(tǒng)成為實(shí)時(shí)
信息處理系統(tǒng).
7.實(shí)現(xiàn)多道程序應(yīng)解決哪些問(wèn)題?
a.處理機(jī)管理問(wèn)題;
b.內(nèi)存管理問(wèn)題;
c.I/O設(shè)備管理問(wèn)題;
d.文件管理問(wèn)題;
e.作業(yè)管理問(wèn)題.
8.試比較單道與多道批處理系統(tǒng)的特點(diǎn)及優(yōu)缺點(diǎn).
a.單道批處理系統(tǒng)是最早出現(xiàn)的一種OS,它具有自動(dòng)性,順序性和單道性的特
點(diǎn);
--多道批處理系統(tǒng)則具有調(diào)度性,無(wú)序性和多道性的特點(diǎn);
b.單道批處理系統(tǒng)是在解決人機(jī)矛盾及CPU和I/O設(shè)備之間速度不匹配的矛盾
中形成的,旨在提高系統(tǒng)
資源利用率和系統(tǒng)吞吐量,但是仍然不能很好的利用系統(tǒng)資源;
-多道批處理系統(tǒng)是對(duì)單道批處理系統(tǒng)的改進(jìn),其主要優(yōu)點(diǎn)是資源利用率高,
系統(tǒng)吞吐量大;缺點(diǎn)是
平均周轉(zhuǎn)時(shí)間長(zhǎng),無(wú)交互能力.
9.實(shí)現(xiàn)分時(shí)系統(tǒng)的關(guān)鍵問(wèn)題是什么?應(yīng)如何解決?
a.關(guān)鍵問(wèn)題:及時(shí)接收,及時(shí)處理;
b.對(duì)于及時(shí)接收,只需在系統(tǒng)中設(shè)置一多路卡,多路卡作用是使主機(jī)能同時(shí)接
收用戶(hù)從各個(gè)終端上輸
入的數(shù)據(jù);
一對(duì)于及時(shí)處理,應(yīng)使所有的用戶(hù)作業(yè)都直接進(jìn)入內(nèi)存,在不長(zhǎng)的時(shí)間內(nèi),能
使每個(gè)作業(yè)都運(yùn)行
—
10為什么要引入實(shí)時(shí)操作系統(tǒng)?
更好地滿(mǎn)足實(shí)時(shí)控制領(lǐng)域和實(shí)時(shí)信息處理領(lǐng)域的需要.
110S具有哪幾大特征?它的最基本特征是什么?
a.并發(fā)(Concurrence),共享(Sharing),虛擬(Virtual),異步性(Asynchronism).
b.其中最基本特征是并發(fā)和共享.
12內(nèi)存管理有哪些主要功能?它們的主要任務(wù)是什么?
a.主要功能:內(nèi)存分配,內(nèi)存保護(hù),地址映射和內(nèi)存擴(kuò)充等.
b.內(nèi)存分配的主要任務(wù)是為每道程序分配內(nèi)存空間,提高存儲(chǔ)器利用率,以減
少不可用的內(nèi)存空間,
允許正在運(yùn)行的程序申請(qǐng)附加的內(nèi)存空間,以適應(yīng)程序和數(shù)據(jù)動(dòng)態(tài)增長(zhǎng)的需要.
一內(nèi)存保護(hù)的主要任務(wù)是確保每道用戶(hù)程序都在自己的內(nèi)存空間中運(yùn)行,互不
干擾.
一地址映射的主要任務(wù)是將地址空間中的邏輯地址轉(zhuǎn)換為內(nèi)存空間中與之對(duì)應(yīng)
的物理地址.
―內(nèi)存擴(kuò)充的主要任務(wù)是借助虛擬存儲(chǔ)技術(shù),從邏輯上去擴(kuò)充內(nèi)存容量.
13處理機(jī)管理具有哪些功能?它們的主要任務(wù)是什么?
a.進(jìn)程控制,進(jìn)程同步,進(jìn)程通信和調(diào)度.
b.進(jìn)程控制的主要任務(wù)是為作業(yè)創(chuàng)建進(jìn)程,撤銷(xiāo)已結(jié)束的進(jìn)程,以及控制進(jìn)程
在運(yùn)行過(guò)程中的狀態(tài)
轉(zhuǎn)換.
-一進(jìn)程同步的主要任務(wù)是對(duì)諸進(jìn)程的運(yùn)行進(jìn)行調(diào)節(jié).
--進(jìn)程通信的任務(wù)是實(shí)現(xiàn)在相互合作進(jìn)程之間的信息交換.
-一調(diào)度分為作業(yè)調(diào)度和進(jìn)程調(diào)度.作業(yè)調(diào)度的基本任務(wù)是從后備隊(duì)列中按照一
定的算法,選擇出若干個(gè)
作業(yè),為它們分配必要的資源;而進(jìn)程調(diào)度的任務(wù)是從進(jìn)程的就緒隊(duì)列中,按照
一定的算法選出一新
進(jìn)程,把處理機(jī)分配給它,并為它設(shè)置運(yùn)行現(xiàn)場(chǎng),是進(jìn)程投入運(yùn)行.
14設(shè)備管理有哪些主要功能?其主要任務(wù)是什么?
a.主要功能:緩沖管理,設(shè)備分配和設(shè)備處理,以及虛擬設(shè)備等.
b.主要任務(wù):完成用戶(hù)提出的I/O請(qǐng)求,為用戶(hù)分配I/O設(shè)備;提高CPU和I/O
設(shè)備的利用率;提高I/O速
度;以及方便用戶(hù)使用I/O設(shè)備.
15文件管理有哪些主要功能?其主要任務(wù)是什么?
a.主要功能:對(duì)文件存儲(chǔ)空間的管理,目錄管理,文件的讀,寫(xiě)管理以及文件
的共享和保護(hù).
b.主要任務(wù):對(duì)用戶(hù)文件和系統(tǒng)文件進(jìn)行管理,以方便用戶(hù)使用,并保證文件
的安全性.
16試在交互性,及時(shí)性和可靠性方面,將分時(shí)系統(tǒng)與實(shí)時(shí)系統(tǒng)進(jìn)行比較.
a.分時(shí)系統(tǒng)是一種通用系統(tǒng),主要用于運(yùn)行終端用戶(hù)程序,因而它具有較強(qiáng)的
交互能力;而實(shí)時(shí)系統(tǒng)
雖然也有交互能力,但其交互能力不及前者.
b.實(shí)時(shí)信息系統(tǒng)對(duì)實(shí)用性的要求與分時(shí)系統(tǒng)類(lèi)似,都是以人所能接收的等待時(shí)
間來(lái)確定;而實(shí)時(shí)控制
系統(tǒng)的及時(shí)性則是以控制對(duì)象所要求的開(kāi)始截止時(shí)間和完成截止時(shí)間來(lái)確定的.
c.實(shí)時(shí)系統(tǒng)對(duì)系統(tǒng)的可靠性要求要比分時(shí)系統(tǒng)對(duì)系統(tǒng)的可靠性要求高.
17是什么原因使操作系統(tǒng)具有異步性特征?
a.程序執(zhí)行結(jié)果是不確定的,即程序是不可再現(xiàn)的.
b.每個(gè)程序在何時(shí)執(zhí)行,多個(gè)程序間的執(zhí)行順序以及完成每道程序所需的時(shí)間
都是不確定的,即不可
預(yù)知性.
18試說(shuō)明在MS-DOS3.X以前的版本中,其局限性表現(xiàn)在哪幾個(gè)方面?
a.在尋址范圍上,DOS只有1MB,遠(yuǎn)遠(yuǎn)不能滿(mǎn)足用戶(hù)需要.
b.DOS試單用戶(hù)單任務(wù)操作系統(tǒng),不支持多任務(wù)并發(fā)執(zhí)行,與實(shí)際應(yīng)用相矛盾.
19MS-DOS由哪幾部分組成?每部分的主要功能是什么?
略.
20為什么Microsoft在開(kāi)發(fā)OS/2時(shí),選中了80286芯片?
設(shè)計(jì)OS/2的主要目標(biāo)之一是既能充分發(fā)揮80286處理器的能力,又能運(yùn)行在
8086處理器環(huán)境下開(kāi)發(fā)的
程序.因?yàn)樵?0286內(nèi)部提供了兩種工作方式:實(shí)方式和保護(hù)方式,使得Intel
80286處理器不僅提供了多
任務(wù)并發(fā)執(zhí)行的硬件支持,而且還能運(yùn)行所有在8086下編寫(xiě)的程序。
21OS/2的主要功能是什么?
a.多任務(wù).
b.進(jìn)程管理.
c.存儲(chǔ)器管理.
d.文件管理.
e.應(yīng)用程序接口API.
f.表示管理.
22多處理機(jī)OS有哪幾種模式?各有何優(yōu)缺點(diǎn)?
a.2種模式:非對(duì)稱(chēng)多處理模式(AsymmetricMultiprocessingModel)和對(duì)稱(chēng)
多處理模式(Symmetric
MultiprocesingModel).
b.前者易于實(shí)現(xiàn),但資源利用率低.
一后者優(yōu)點(diǎn)是允許多個(gè)進(jìn)程同時(shí)運(yùn)行,缺點(diǎn)是必須小心控制1/0,以保證能將
數(shù)據(jù)送至適當(dāng)?shù)奶幚砥鳎?/p>
同時(shí)還必須注意使各CPU的負(fù)載平衡.
23試說(shuō)明網(wǎng)絡(luò)OS的主要功能.
a.網(wǎng)絡(luò)通信;
b.資源管理;
C.網(wǎng)絡(luò)服務(wù);
d.網(wǎng)絡(luò)管理;
e.互操作能力.
24試比較網(wǎng)絡(luò)OS和分布式OS.
a.網(wǎng)絡(luò)OS是基于由一些互聯(lián)的自主計(jì)算機(jī)系統(tǒng)組成的計(jì)算機(jī)網(wǎng)絡(luò),以計(jì)算機(jī)技
術(shù)和通信技術(shù)高度發(fā)展為
基礎(chǔ),能實(shí)現(xiàn)相互通信和相互合作功能的系統(tǒng).分布式OS是指多個(gè)分散的處理單
元,經(jīng)互聯(lián)網(wǎng)絡(luò)連接而
形成的系統(tǒng).
b.在分布性上,兩者都具有分布處理功能,但網(wǎng)絡(luò)OS的控制功能大多集中在某
個(gè)(些)主機(jī)或網(wǎng)絡(luò)服務(wù)器
中,即集中式,而分布式OS則是較均勻地分布在系統(tǒng)的各個(gè)站點(diǎn)上,是完全分
布式的.
――在并行性上,分布式OS的任務(wù)分配程序可將多個(gè)任務(wù)分配到多個(gè)處理單元上
而實(shí)現(xiàn)并行,網(wǎng)絡(luò)OS中
通常無(wú)任務(wù)分配功能,每個(gè)用戶(hù)的任務(wù)通常在自己(本地)的計(jì)算機(jī)上處理.
一在透明性上,兩者都具透明性,但網(wǎng)絡(luò)OS指在操作實(shí)現(xiàn)上的透明性,而分布
式OS則在系統(tǒng)內(nèi)部的細(xì)
節(jié)上實(shí)現(xiàn)了很好的隱藏,即具有物理上的透明性.
--在共享性上,分布式OS是比較完全的實(shí)現(xiàn)共享,而網(wǎng)絡(luò)OS共享的資源大多
是在主機(jī)或網(wǎng)絡(luò)服務(wù)器中.
-在健壯性上,分布式系統(tǒng)由于處理和控制功能是分布的,還擁有容錯(cuò)技術(shù)實(shí)
現(xiàn)系統(tǒng)重構(gòu),因而具有
很強(qiáng)的健壯性;而網(wǎng)絡(luò)OS的控制功能大多集中在主機(jī)或服務(wù)器中,是系統(tǒng)具有
潛在的不可靠性,健
壯性差.
第二章
1.試畫(huà)出下面條語(yǔ)句的前趨圖:
S1:a=5-x;S2:b=a*x;S3:c=4*x;S4:d=b+c;S5:e=d+3.
S1->S2->S4->S5
.....S3
2.試?yán)肂ernstein條件證明上題中的S2和S3語(yǔ)句是可以并發(fā)執(zhí)行的,而S3
和S4語(yǔ)句是不能并發(fā)執(zhí)行的?
證明:
R(S2)={x,a},W(S2)=,R(S3)={x}>W(S3)={c};
可見(jiàn),S2與S3的讀集與寫(xiě)集兩兩不相交,S2與S3的讀集之間也不相交,因而,
他們滿(mǎn)足Bernstein條件,
S2與S3語(yǔ)句是可以并發(fā)執(zhí)行的.
同理可證S3和S4不能滿(mǎn)足Bernstein條件,是不能并發(fā)執(zhí)行的.
3.程序并發(fā)執(zhí)行為什么會(huì)產(chǎn)生間斷性?
因?yàn)槌绦蛟诓l(fā)執(zhí)行過(guò)程中存在相互制約性.
4.程序并發(fā)執(zhí)行為何會(huì)失去封閉性和可再現(xiàn)性?
因?yàn)槌绦虿l(fā)執(zhí)行時(shí),多個(gè)程序共享系統(tǒng)中的各種資源,資源狀態(tài)需要多個(gè)程序
來(lái)改變,即存在資源共
享性使程序失去封閉性;而失去了封閉性導(dǎo)致程序失去可再現(xiàn)性.
5.在操作系統(tǒng)中為什么要引入進(jìn)程概念?它會(huì)產(chǎn)生什么樣的影響?
為了使程序在多道程序環(huán)境下能并發(fā)執(zhí)行,并能對(duì)并發(fā)執(zhí)行的程序加以控制和描
述,而引入了進(jìn)程概念.
影響:使程序的并發(fā)執(zhí)行得以實(shí)行.
6.試從動(dòng)態(tài)性,并發(fā)性和獨(dú)立性上比較進(jìn)程和程序?
a.動(dòng)態(tài)性是進(jìn)程最基本的特性,可表現(xiàn)為由創(chuàng)建而產(chǎn)生,由調(diào)度而執(zhí)行,因得
不到資源而暫停執(zhí)行,
以及由撤銷(xiāo)而消亡,因而進(jìn)程由一定的生命期;而程序只是一組有序指令的集合,
是靜態(tài)實(shí)體.
b.并發(fā)性是進(jìn)程的重要特征,同時(shí)也是OS的重要特征.引入進(jìn)程的目的正是為
了使其程序能和其它進(jìn)程
的程序并發(fā)執(zhí)行,而程序是不能并發(fā)執(zhí)行的.
c.獨(dú)立性是指進(jìn)程實(shí)體是一個(gè)能獨(dú)立運(yùn)行的基本單位,同時(shí)也是系統(tǒng)中獨(dú)立獲
得資源和獨(dú)立調(diào)度的基本
單位.而對(duì)于未建立任何進(jìn)程的程序,都不能作為一個(gè)獨(dú)立的單位參加運(yùn)行.
7.試說(shuō)明PCB的作用?為什么說(shuō)PCB是進(jìn)程存在的唯一標(biāo)志?
a.PCB是進(jìn)程實(shí)體的一部分,是操作系統(tǒng)中最重要的記錄型數(shù)據(jù)結(jié)構(gòu).PCB中記
錄了操作系統(tǒng)所需的用于
描述進(jìn)程情況及控制進(jìn)程運(yùn)行所需的全部信息.因而它的作用是使一個(gè)在多道程
序環(huán)境下不能獨(dú)立運(yùn)行
的程序(含數(shù)據(jù)),成為一個(gè)能獨(dú)立運(yùn)行的基本單位,一個(gè)能和其它進(jìn)程并發(fā)執(zhí)行
的進(jìn)程.
b.在進(jìn)程的整個(gè)生命周期中,系統(tǒng)總是通過(guò)其PCB對(duì)進(jìn)程進(jìn)行控制,系統(tǒng)是根
據(jù)進(jìn)程的PCB而不是任何別
的什么而感知到該進(jìn)程的存在的,所以說(shuō),PCB是進(jìn)程存在的唯一標(biāo)志.
8.試說(shuō)明進(jìn)程在三個(gè)基本狀態(tài)之間轉(zhuǎn)換的典型原因.
a.處于就緒狀態(tài)的進(jìn)程,當(dāng)進(jìn)程調(diào)度程序?yàn)橹峙淞颂幚頇C(jī)后,該進(jìn)程便由就
緒狀態(tài)變?yōu)閳?zhí)行狀態(tài).
b.當(dāng)前進(jìn)程因發(fā)生某事件而無(wú)法執(zhí)行,如訪(fǎng)問(wèn)已被占用的臨界資源,就會(huì)使進(jìn)
程由執(zhí)行狀態(tài)轉(zhuǎn)變?yōu)樽枞麪顟B(tài).
c.當(dāng)前進(jìn)程因時(shí)間片用完而被暫停執(zhí)行,該進(jìn)程便由執(zhí)行狀態(tài)轉(zhuǎn)變?yōu)榫途w狀態(tài).
9.為什么要引入掛起狀態(tài)?該狀態(tài)具有哪些性質(zhì)?
a.引入掛起狀態(tài)處于5中需要:終端用戶(hù)的需要,父進(jìn)程的需要,操作系統(tǒng)的
需要,對(duì)換的需要和負(fù)荷
調(diào)節(jié)的需要.
b.處于掛起狀態(tài)的進(jìn)程不能接收處理機(jī)調(diào)度.
10在進(jìn)行進(jìn)程切換時(shí),所要保存的處理機(jī)狀態(tài)信息主要有哪些?
a.進(jìn)程當(dāng)前暫存信息;
b.下一條指令地址信息;
C.進(jìn)程狀態(tài)信息;
d.過(guò)程和系統(tǒng)調(diào)用參數(shù)及調(diào)用地址信息.
11試說(shuō)明引起進(jìn)程創(chuàng)建的主要事件.
a.用戶(hù)登陸;
b.作業(yè)調(diào)度;
c.提供服務(wù);
d.應(yīng)用請(qǐng)求.
12試說(shuō)明引起進(jìn)程撤消的主要事件.
a.正常結(jié)束;
b.異常結(jié)束;
c.外界干預(yù);
13在創(chuàng)建一個(gè)進(jìn)程時(shí),需完成的主要工作是什么?
a.操作系統(tǒng)發(fā)現(xiàn)請(qǐng)求創(chuàng)建新進(jìn)程事件后,調(diào)用進(jìn)程創(chuàng)建原語(yǔ)CreatO;
b.申請(qǐng)空白PCB;
c.為新進(jìn)程分配資源;
d.初始化進(jìn)程控制塊;
e.將新進(jìn)程插入就緒隊(duì)列.
14在撤消一個(gè)進(jìn)程時(shí),需完成的主要工作是什么?
a.OS調(diào)用進(jìn)程終止原語(yǔ);
b.根據(jù)被終止進(jìn)程的標(biāo)志符,從PCB集合中檢索出該進(jìn)程的PCB,從中讀出該
進(jìn)程的狀態(tài);
c.若被終止進(jìn)程正處于執(zhí)行狀態(tài),應(yīng)立即中止該進(jìn)程的執(zhí)行,并設(shè)置調(diào)度標(biāo)志
為真;
d.若該進(jìn)程還有子孫進(jìn)程,還應(yīng)將其所有子孫進(jìn)程予以終止;
e.將該進(jìn)程所擁有的全部資源,或者歸還給其父進(jìn)程,或者歸還給系統(tǒng);
f.將被終止進(jìn)程(它的PCB)從所在隊(duì)列(或鏈表)中移出,等待其它程序來(lái)搜集
信息
試說(shuō)明引起進(jìn)程阻塞或被喚醒的主要事件是什么?
a.請(qǐng)求系統(tǒng)服務(wù);
b.啟動(dòng)某種操作;
c.新數(shù)據(jù)尚未到達(dá);
d.無(wú)新工作可做.
16試從調(diào)度性,并發(fā)性,擁有資源及系統(tǒng)開(kāi)銷(xiāo)幾個(gè)方面,對(duì)進(jìn)程和線(xiàn)程進(jìn)行比
較.
a.在引入線(xiàn)程的OS中,把線(xiàn)程作為調(diào)度和分派的基本單位,而把進(jìn)程作為資源
擁有的基本單位;
b.在引入線(xiàn)程的OS中,不僅進(jìn)程之間可以并發(fā)執(zhí)行,而且在一個(gè)進(jìn)程中的多個(gè)
線(xiàn)程之間,亦可并發(fā)
執(zhí)行,因而使OS具有更好的并發(fā)性;
c.進(jìn)程始終是擁有資源的一個(gè)獨(dú)立單位,線(xiàn)程自己不擁有系統(tǒng)資源,但它可以
訪(fǎng)問(wèn)其隸屬進(jìn)程的資源;
d.在創(chuàng)建,撤消和切換進(jìn)程方面,進(jìn)程的開(kāi)銷(xiāo)遠(yuǎn)遠(yuǎn)大于線(xiàn)程的開(kāi)銷(xiāo).
17什么是用戶(hù)級(jí)線(xiàn)程和內(nèi)核級(jí)線(xiàn)程?并對(duì)它們進(jìn)行比較.
a.內(nèi)核級(jí)線(xiàn)程是依賴(lài)于內(nèi)核的,它存在于用戶(hù)進(jìn)程和系統(tǒng)進(jìn)程中,它們的創(chuàng)建,
撤消和切換都由內(nèi)核
實(shí)現(xiàn);
一用戶(hù)級(jí)線(xiàn)程僅存在于用戶(hù)級(jí)中,它們的創(chuàng)建,撤消和切換不利用系統(tǒng)調(diào)用來(lái)
實(shí)現(xiàn),因而與內(nèi)核無(wú)關(guān),
內(nèi)核并不知道用戶(hù)級(jí)線(xiàn)程的存在.
b.內(nèi)核級(jí)線(xiàn)程的調(diào)度和切換與進(jìn)程十分相似,調(diào)度方式采用搶占式和非搶占式,
調(diào)度算法采用時(shí)間輪轉(zhuǎn)
法和優(yōu)先權(quán)算法等,當(dāng)由線(xiàn)程調(diào)度選中一個(gè)線(xiàn)程后,再將處理器分配給它;而用
戶(hù)級(jí)線(xiàn)程通常發(fā)生在
一個(gè)應(yīng)用程序的諸線(xiàn)程之間,無(wú)需終端進(jìn)入OS內(nèi)核,切換規(guī)則也較簡(jiǎn)單,因而,
用戶(hù)級(jí)線(xiàn)程的切換
速度較快.
一用戶(hù)級(jí)線(xiàn)程調(diào)用系統(tǒng)調(diào)用和調(diào)度另一個(gè)進(jìn)程執(zhí)行時(shí),內(nèi)核把它們看作是整個(gè)
進(jìn)程的行為,內(nèi)核級(jí)線(xiàn)程
調(diào)用是以線(xiàn)程為單位,內(nèi)核把系統(tǒng)調(diào)用看作是該線(xiàn)程的行為.
一對(duì)于用戶(hù)級(jí)線(xiàn)程調(diào)用,進(jìn)程的執(zhí)行速度隨著所含線(xiàn)程數(shù)目的增加而降低,對(duì)
于內(nèi)核級(jí)線(xiàn)程則相反.
18在SolarisOS中,設(shè)置了哪幾種線(xiàn)程?輕型線(xiàn)程的作用是什么?
a.用戶(hù)級(jí)線(xiàn)程,內(nèi)核級(jí)線(xiàn)程和輕型線(xiàn)程;
b.作用:由LWP實(shí)現(xiàn)了在內(nèi)核與用戶(hù)級(jí)線(xiàn)程之間的隔離,從而使用戶(hù)級(jí)線(xiàn)程與
內(nèi)核無(wú)關(guān).
19在SolarisOS中,用戶(hù)級(jí)線(xiàn)程是通過(guò)什么方式來(lái)訪(fǎng)問(wèn)內(nèi)核的?
通過(guò)LWP來(lái)訪(fǎng)問(wèn)內(nèi)核.LWP可為內(nèi)核所識(shí)別,但不能識(shí)別用戶(hù)級(jí)線(xiàn)程,通過(guò)建立
用戶(hù)級(jí)線(xiàn)程與LWP之間的
連接,可以實(shí)現(xiàn)用戶(hù)級(jí)線(xiàn)程與內(nèi)核的通信.
第三章1.什么是臨界資源和臨界區(qū)?
a.一次僅允許一個(gè)進(jìn)程使用的資源成為臨界資源.
b.在每個(gè)進(jìn)程中,訪(fǎng)問(wèn)臨界資源的那段程序稱(chēng)為臨界區(qū).
2.為什么進(jìn)程在進(jìn)入臨界區(qū)之前,應(yīng)先執(zhí)行〃進(jìn)入?yún)^(qū)〃代碼,在退出臨界區(qū)后又
執(zhí)行"退出區(qū)”代碼?
為了實(shí)現(xiàn)多個(gè)進(jìn)程對(duì)臨界資源的互斥訪(fǎng)問(wèn),必須在臨界區(qū)前面增加一段用于檢
查欲訪(fǎng)問(wèn)的臨界資源是否正被訪(fǎng)問(wèn)的代碼,如果未被訪(fǎng)問(wèn),該進(jìn)程便可進(jìn)入臨界
區(qū)對(duì)資源進(jìn)行訪(fǎng)問(wèn),并設(shè)置正被訪(fǎng)問(wèn)標(biāo)志,如果正被訪(fǎng)問(wèn),則本進(jìn)程不能進(jìn)入
臨界區(qū),實(shí)現(xiàn)這一功能的代碼成為“進(jìn)入?yún)^(qū)”代碼;在退出臨界區(qū)后,必須執(zhí)行〃
退出區(qū)”代碼,用于恢復(fù)未被訪(fǎng)問(wèn)標(biāo)志.
3.同步機(jī)構(gòu)應(yīng)遵循哪些基本準(zhǔn)則?為什么?
a.空閑讓進(jìn).
b.忙則等待.
c.有限等待.
d.讓權(quán)等待.
4.試從物理概念上來(lái)說(shuō)明記錄型信號(hào)量和wait和signal操作?
(有待討論).
5.你認(rèn)為整型信號(hào)量機(jī)制和記錄型信號(hào)量機(jī)制,是否完全遵循了同步機(jī)構(gòu)的四
條準(zhǔn)則?
a.在整型信號(hào)量機(jī)制中,未遵循〃讓權(quán)等待〃的準(zhǔn)則.
b.記錄型信號(hào)量機(jī)制完全遵循了同步機(jī)構(gòu)的〃空閑讓進(jìn),忙則等待,有限等待,讓
權(quán)等待〃四條準(zhǔn)則.
6.在生產(chǎn)者一消費(fèi)者問(wèn)題中,如果缺少了signal(full)或signal(empty),對(duì)
執(zhí)行結(jié)果會(huì)有何影響?
生產(chǎn)者一消費(fèi)者問(wèn)題可描述如下:
varmutex,empty,full:semaphore:=1,n,0;
buffer:array[0,...,n-1]ofitem;
in,out:integer:=0,0;
begin
parbegin
producer:begin
repeat
produceaniteminnextp;
wait(empty);
wait(mutex);
buffer(in):=nextp;
in:=(in+l)modn;
signal(mutex);
signal(full);
untilfalse;
end
consumer:begin
repeat
wait(full);
wait(mutex);
nextc:=buffer(out);
out:=(out+l)modn;
signal(mutex);
signal(empty);
consumetheiteminnextc;
untilfalse;
end
parend
end
可見(jiàn),生產(chǎn)者可以不斷地往緩沖池送消息,如果緩沖池滿(mǎn),就會(huì)覆蓋原有數(shù)據(jù),
造成數(shù)據(jù)混亂.而
消費(fèi)者始終因wait(full)操作將消費(fèi)進(jìn)程直接送入進(jìn)程鏈表進(jìn)行等待,無(wú)法訪(fǎng)
問(wèn)緩沖池,造成無(wú)限
等待.
7.在生產(chǎn)者一消費(fèi)者問(wèn)題中,如果將兩個(gè)wait操作即wait(full)和
wait(mutex)互換位置;或者是將signal(mutex)與signal(full)互換位置結(jié)果
會(huì)如何?
varmutex,empty,full:semaphore:=1,n,0;
buffer:array[0,...,n-l]ofitem;
in,out:integer:=0,0;
begin
parbegin
producer:begin
repeat
produceaniteminnextp;
wait(empty);
wait(mutex);
buffer(in):=nextp;
in:=(in+l)modn;
signal(full);
signal(mutex);
untilfalse;
end
consumer:begin
repeat
wait(mutex);
wait(full);
nextc:=buffer(out);
out:=(out+l)modn;
signal(mutex);
signal(empty);
consumetheiteminnextc;
untilfalse;
end
parend
end
a.wait(full)和wait(mutex)互換位置后,因?yàn)閙utex在這兒是全局變量,執(zhí)
行完wait(mutex),則mutex
賦值為0,倘若full也為0,則該生產(chǎn)者進(jìn)程就會(huì)轉(zhuǎn)入進(jìn)程鏈表進(jìn)行等待,而生
產(chǎn)者進(jìn)程會(huì)因全局變量
mutex為0而進(jìn)行等待,使full始終為0,這樣就形成了死鎖.
b.而signal(mutex)與signal(full)互換位置后,從邏輯上來(lái)說(shuō)應(yīng)該是一樣的.
8.我們?yōu)槟撑R界區(qū)設(shè)置一把鎖W,當(dāng)W=1時(shí),表示關(guān)鎖;W=0時(shí),表示鎖已打
開(kāi).試寫(xiě)出開(kāi)鎖原語(yǔ)和關(guān)鎖原語(yǔ),并利用它們?nèi)?shí)現(xiàn)互斥.
開(kāi)鎖原語(yǔ):
unlock(W):
W=0;
關(guān)鎖原語(yǔ):
lock(W);
if(W==l)dono_op;
W=l;
利用開(kāi)關(guān)鎖原語(yǔ)實(shí)現(xiàn)互斥:
varW:semaphore:=0;
begin
parbegin
process:
begin
repeat
lock(W);
criticalsection
unlock(W);
remaindersection
untilfalse;
end
parend
9.試修改下面生產(chǎn)者一消費(fèi)者問(wèn)題解法中的錯(cuò)誤:
producer:
begin
repeat
produceraniteminnextp;
wait(mutex);
wait(full);/*應(yīng)為wait(empty),而且還應(yīng)該在wait(mutex)的前面*/
buffer(in):=nextp;
/*緩沖池?cái)?shù)組游標(biāo)應(yīng)前移:in:=(in+l)modn;*/
signal(mutex);
/*signal(full);*/
untilfalse;
end
consumer:
begin
repeat
wait(mutex);
wait(empty);/*應(yīng)為wait(full),而且還應(yīng)該在wait(mutex)的前面*/
nextc:=buffer(out);
out:=out+l;/*考慮循環(huán),應(yīng)改為:out:=(out+l)modn;*/
signal(mutex);
/*signal(empty);*/
consumeriteminnextc;
untilfalse;
end
10試?yán)糜涗浶托盘?hào)量寫(xiě)出一個(gè)不會(huì)出現(xiàn)死鎖的哲學(xué)家進(jìn)餐問(wèn)題的算法.
設(shè)初始值為1的信號(hào)量為口表示I號(hào)筷子被拿(1=1,2,3,4,...,2n),其中n為自
然數(shù).
send(I):
Begin
ifImod2==1then
(
P(cLU);
P(c[I-lmod5]);
Eat;
V(c[I-lmod5]);
V(c[I]);
)
else
(
P(c[I-lmod5]);
P(c[I]);
Eat;
V(c[I]);
V(c[I-lmod5]);
}
End
11在測(cè)量控制系統(tǒng)中的數(shù)據(jù)采集任務(wù),把所采集的數(shù)據(jù)送一單緩沖區(qū);計(jì)算任
務(wù)從該單緩沖中取出數(shù)據(jù)
進(jìn)行計(jì)算.試寫(xiě)出利用信號(hào)量機(jī)制實(shí)現(xiàn)兩者共享單緩沖的同步算法.
intmutex=l;
intempty=n;
intfull=0;
intin=0;
intout=0;
mainO
(
cobegin
send();
obtain();
coend
}
send()
{
while(1)
collectdatainnextp;
wait(empty);
wait(mutex);
buffer(in)=nextp;
in=(in+l)modn;
signal(mutex);
signal(full);
}
}//send
obtain()
(
while(1)
(
wait(full);
wait(mutex);
nextc:=buffer(out);
out:=(out+l)modn;
signal(mutex);
signal(empty);
calculatethedatainnextc;
}//while
}//obtain
12畫(huà)圖說(shuō)明管程由哪幾部分組成?為什么要引入條件變量?
管程由三部分組成:局部于管程的共享變量說(shuō)明;對(duì)該數(shù)據(jù)結(jié)構(gòu)進(jìn)行操作的一組
過(guò)程;對(duì)局部于管程的
數(shù)據(jù)設(shè)置初始值的語(yǔ)句.(圖見(jiàn)P80)
因?yàn)檎{(diào)用wait原語(yǔ)后,使進(jìn)程等待的原因有多種,為了區(qū)別它們,引入了條件
變量.
13如何利用管程來(lái)解決生產(chǎn)者一消費(fèi)者問(wèn)題?
(見(jiàn)P82)
14什么是AND信號(hào)量?試?yán)肁ND信號(hào)量寫(xiě)出生產(chǎn)者一消費(fèi)者問(wèn)題的解法.
為解決并行所帶來(lái)的死鎖問(wèn)題,在wait操作中引入AND條件,其基本思想是將
進(jìn)程在整個(gè)運(yùn)行過(guò)程中所
需要的所有臨界資源,一次性地全部分配給進(jìn)程,用完后一次性釋放.
解決生產(chǎn)者一消費(fèi)者問(wèn)題可描述如下:
varmutex,empty,full:semaphore:=1,n,0;
buffer:array[0,...,n-l]ofitem;
in,out:integer:=0,0;
begin
parbegin
producer:begin
repeat
produceaniteminnextp;
wait(empty);
wait(si,s2,s3,...,sn);//si,s2,...,sn為執(zhí)行生產(chǎn)者進(jìn)程除empty外其余的
條件
wait(mutex);
buffer(in):=nextp;
in:=(in+l)modn;
signal(mutex);
signal(full);
signal(si,s2,s3,...,sn);
untilfalse;
end
consumer:begin
repeat
wait(full);
wait(kl,k2,k3,...,kn);//kl,k2,...,kn為執(zhí)行消費(fèi)者進(jìn)程除full外其余的
條件
wait(mutex);
nextc:=buffer(out);
out:=(out+l)modn;
signal(mutex);
signal(empty);
signal(kl,k2,k3,...,kn);
consumetheiteminnextc;
untilfalse;
end
parend
end
15在單處理機(jī)環(huán)境下,進(jìn)程間有哪幾種通信方式?
a.共享存儲(chǔ)器系統(tǒng)通信方式;
b.消息傳遞系統(tǒng)通信方式;
c.管道通信方式.
16試比較進(jìn)程間的低級(jí)通信工具與高級(jí)通信工具.
用戶(hù)用低級(jí)通信工具實(shí)現(xiàn)進(jìn)程通信很不方便,因?yàn)槠湫实?通信對(duì)用戶(hù)不透明,
所有的操作都必須
由程序員來(lái)實(shí)現(xiàn).而高級(jí)通信工具則可彌補(bǔ)這些缺陷,用戶(hù)可直接利用操作系統(tǒng)
所提供的一組通信命令,
高效地傳送大量的數(shù)據(jù).
17消息隊(duì)列通信機(jī)制應(yīng)有哪幾方面功能?
略
18試比較消息隊(duì)列與管道通信機(jī)制.
a.所謂管道,是指用于連接?個(gè)讀進(jìn)程和一個(gè)寫(xiě)進(jìn)程,以實(shí)現(xiàn)它們之間通信的
共享文件,又稱(chēng)pipe文件.
管道通信是屬于共享存儲(chǔ)器系統(tǒng)的.
b.消息隊(duì)列通信機(jī)制屬于消息傳遞系統(tǒng)通信機(jī)制,存在通信鏈路,有消息的格
式,有若干緩沖隊(duì)列,
采用獨(dú)特的發(fā)送原語(yǔ)和接收原語(yǔ).(詳見(jiàn)P89—90)
第四章
1.高級(jí)調(diào)度與低級(jí)調(diào)度的主要任務(wù)是什么?為什么要引入中級(jí)調(diào)度?
a.作業(yè)調(diào)度又稱(chēng)宏觀調(diào)度或高級(jí)調(diào)度,其主要任務(wù)是按一定的原則對(duì)外存上處
于后備狀態(tài)的作業(yè)進(jìn)行
一選擇,給選中的作業(yè)分配內(nèi)存,輸入輸出設(shè)備等必要的資源,并建立相應(yīng)的
進(jìn)程,以使該作業(yè)的進(jìn)
---程獲得競(jìng)爭(zhēng)處理機(jī)的權(quán)利.
b.進(jìn)程調(diào)度又稱(chēng)微觀調(diào)度或低級(jí)調(diào)度,其主要任務(wù)是按照某種策略和方法選取
一個(gè)處于就緒狀態(tài)的進(jìn)
-一程,將處理機(jī)分配給它.
c.為了提高內(nèi)存利用率和系統(tǒng)吞吐量,引入了中級(jí)調(diào)度.
2.在作業(yè)調(diào)度中需做出哪兩個(gè)決定?
a.接納多少個(gè)作業(yè);
b.接納哪些作業(yè).
3.在剝奪調(diào)度方式中,有哪些剝奪原則?
a.時(shí)間片原則;
b.優(yōu)先權(quán)原則;
c.短作業(yè)(進(jìn)程)優(yōu)先原則.
4.在OS中引起進(jìn)程調(diào)度的主要因素有哪些?
(有待討論)
5.選擇調(diào)度方式和調(diào)度算法時(shí),應(yīng)遵循的準(zhǔn)則是什么?
a.面向用戶(hù)的準(zhǔn)則有周轉(zhuǎn)時(shí)間短,響應(yīng)時(shí)間快,截止時(shí)間的保證,以及優(yōu)先權(quán)
準(zhǔn)則.
b.面向系統(tǒng)的準(zhǔn)則有系統(tǒng)吞吐量高,處理機(jī)利用率好,各類(lèi)資源的平衡利用.
6.在批處理系統(tǒng),分時(shí)系統(tǒng)和實(shí)時(shí)系統(tǒng)中,各采用哪幾種進(jìn)程(作業(yè))調(diào)度算法?
(有待討論)
7.為什么說(shuō)多級(jí)反饋隊(duì)列能較好地滿(mǎn)足各種用戶(hù)的需要?
a.對(duì)于終端型作業(yè)用戶(hù),由于終端型作業(yè)用戶(hù)所提交的作業(yè),大都屬于交互型
作業(yè),系統(tǒng)只要能使
這些作業(yè)(進(jìn)程)在第一隊(duì)列所規(guī)定的時(shí)間片內(nèi)完成,便可使終端型作業(yè)用戶(hù)都感
到滿(mǎn)意.
b.對(duì)于短批處理作業(yè)用戶(hù),很短的批處理型作業(yè)如果僅在第一隊(duì)列中執(zhí)行一個(gè)
時(shí)間片即可完成,便可
--獲得與終端型作業(yè)一樣的相應(yīng)時(shí)間.對(duì)于稍長(zhǎng)的作業(yè),通常也只需在第二隊(duì)列
和第三隊(duì)列中各執(zhí)行
——個(gè)時(shí)間片即可完成,其周轉(zhuǎn)時(shí)間仍然很短.
c.對(duì)于長(zhǎng)批處理作業(yè)用戶(hù),用戶(hù)也不必?fù)?dān)心其作業(yè)長(zhǎng)期得不到處理.
8.在按時(shí)間片輪轉(zhuǎn)調(diào)度算法中,在確定時(shí)間片的大小時(shí),應(yīng)考慮哪些因素?
a.系統(tǒng)對(duì)相應(yīng)時(shí)間的要求;
b.就緒隊(duì)列中進(jìn)程的數(shù)目;
c.系統(tǒng)的處理能力.
9.為實(shí)現(xiàn)實(shí)時(shí)調(diào)度,對(duì)實(shí)時(shí)系統(tǒng)提出了哪些要求?
a.要提供必要的調(diào)度信息;
b.在調(diào)度方式上要具體情況具體分析;
c.要具有快速響應(yīng)外部中斷的能力;
d.快速任務(wù)分派.
10目前常用的調(diào)度方式和算法,能否應(yīng)用到實(shí)時(shí)系統(tǒng)中?
a.對(duì)于時(shí)間片輪轉(zhuǎn)調(diào)度算法,是一種常用于分時(shí)系統(tǒng)的調(diào)度算法;
b.對(duì)于非搶占式優(yōu)先權(quán)調(diào)度算法,可用于要求不太嚴(yán)格的實(shí)時(shí)控制系統(tǒng)中;
c.對(duì)于基于時(shí)鐘中斷搶占的優(yōu)先權(quán)調(diào)度算法,有很好的響應(yīng)效果,可用于大多
數(shù)的實(shí)時(shí)系統(tǒng)中;
d.對(duì)于立即搶占(ImmediatePreemption)的優(yōu)先權(quán)調(diào)度,要求操作系統(tǒng)具有快
速響應(yīng)外部時(shí)間的能力.
11在多處理機(jī)系統(tǒng)中,比較有代表性的線(xiàn)程調(diào)度方式有哪幾種?
a.自調(diào)度方式;
b.成組調(diào)度;
c.專(zhuān)用處理機(jī)分配調(diào)度方式.
12試比較自調(diào)度和成組調(diào)度?
a.自調(diào)度方式是系統(tǒng)中有一個(gè)公共的線(xiàn)程或進(jìn)程的就緒隊(duì)列,所有的處理機(jī)在
空閑時(shí),都可自己從
--該隊(duì)列中取出一個(gè)進(jìn)程或線(xiàn)程運(yùn)行;
b.成組調(diào)度是由系統(tǒng)將一組相關(guān)的進(jìn)程或線(xiàn)程,同時(shí)分配到一組處理機(jī)上運(yùn)行,
進(jìn)程或線(xiàn)程與處理機(jī)
-----■一對(duì)應(yīng);
c.在一般情況下,成組調(diào)度的性能優(yōu)于自調(diào)度,因?yàn)樽哉{(diào)度存在瓶頸,低效,
線(xiàn)程切換頻繁等問(wèn)題,而
—成組調(diào)度可減少線(xiàn)程的切換和調(diào)度的開(kāi)銷(xiāo),因而目前得到了廣泛的認(rèn)可.
13在OS/2中采用哪種調(diào)度方式和調(diào)度算法?
在OS/2中采用的是搶占式調(diào)度方式,多優(yōu)先級(jí)的搶占式調(diào)度算法.
14何謂死鎖?產(chǎn)生死鎖的原因和必要條件是什么?
a.死鎖是指多個(gè)進(jìn)程因競(jìng)爭(zhēng)資源而造成的?種僵局,若無(wú)外力作用,這些進(jìn)程
都將永遠(yuǎn)不能再向前推進(jìn);
b.產(chǎn)生死鎖的原因有二,一是競(jìng)爭(zhēng)資源,二是進(jìn)程推進(jìn)順序非法;
c.必要條件是:互斥條件,請(qǐng)求和保持條件,不剝奪條件和環(huán)路等待條件.
15在解決死鎖問(wèn)題的幾個(gè)方法中,哪種方法最容易實(shí)現(xiàn)?哪種方法使資源的利
用率最局?
a.解決死鎖可歸納為四種方法:預(yù)防死鎖,避免死鎖,檢測(cè)死鎖和解除死鎖;
b.其中,預(yù)防死鎖是最容易實(shí)現(xiàn)的;
c.避免死鎖使資源的利用率最高.
16請(qǐng)?jiān)敿?xì)說(shuō)明可通過(guò)哪些途徑預(yù)防死鎖?
a.推棄“請(qǐng)求和保持”條件,就是如果系統(tǒng)有足夠的資源,便一次性地把進(jìn)程所需
的所有資源分配給它;
b.挨棄"不剝奪”條件,就是已經(jīng)保持了資源的進(jìn)程,當(dāng)它提出新的資源請(qǐng)求而
不能立即得到滿(mǎn)足時(shí),
一必須釋放它已經(jīng)保持的所有資源,待以后需要時(shí)再重新申請(qǐng);
c.挨棄''環(huán)路等待”條件,就是將所有資源按類(lèi)型排序標(biāo)號(hào),所有進(jìn)程對(duì)資源的
請(qǐng)求必須嚴(yán)格按序號(hào)遞增
—的次序提出.
17在銀行家算法的例子中,如果P0發(fā)出的請(qǐng)求向量由Request。(0,2,0)改為
Request。(0,1,0),問(wèn)系統(tǒng)可否將資源分配給它?
可以.
首先,RequestO(0,1,0)<=NeedO(7,4,3),RequestO(0,1,0)<=Available(2,3,0);
分配后可修改得一資源數(shù)據(jù)表(表略),進(jìn)行安全性檢查,可以找到一個(gè)安全序列
{P1,P4,P3,P2,P0},
或{Pl,P4,P3,P0,P2},因此,系統(tǒng)是安全的,可以立即將資源分配給P0.
第五章
1.可采用哪幾種方式將程序裝入內(nèi)存?它們分別適用于何種場(chǎng)合?
a.首先由編譯程序?qū)⒂脩?hù)源代碼編譯成若干目標(biāo)模塊,再由鏈接程序?qū)⒕幾g后
形成的目標(biāo)模塊和所需的
一庫(kù)函數(shù)鏈接在一起,組成一個(gè)裝入模塊,再由裝入程序?qū)⒀b入模塊裝入內(nèi)存;
b.裝入模塊的方式有:絕對(duì)裝入方式,可重定位方式和動(dòng)態(tài)運(yùn)行時(shí)裝入方式;
c.絕對(duì)裝入方式適用于單道程序環(huán)境下;
d.可重定位方式適用于多道程序環(huán)境下;
e.動(dòng)態(tài)運(yùn)行時(shí)裝入方式也適用于多道程序環(huán)境下.
2.何謂靜態(tài)鏈接及裝入時(shí)動(dòng)態(tài)鏈接和運(yùn)行時(shí)的動(dòng)態(tài)鏈接?
a.靜態(tài)鏈接是指事先進(jìn)行鏈接形成一個(gè)完整的裝入模塊,以后不再拆開(kāi)的鏈接
方—式;
b.裝入時(shí)動(dòng)態(tài)鏈接是指目標(biāo)模塊在裝入內(nèi)存時(shí),邊裝入邊鏈接的鏈接方式;
c.運(yùn)行時(shí)的動(dòng)態(tài)鏈接是將某些目標(biāo)模塊的鏈接推遲到執(zhí)行時(shí)才進(jìn)行.
3.在進(jìn)行程序鏈接時(shí),應(yīng)完成哪些工作?
a.對(duì)相對(duì)地址進(jìn)行修改;
b.變換外部調(diào)用符號(hào).
4.在動(dòng)態(tài)分區(qū)分配方式中,可利用哪些分區(qū)分配算法?
a.首次適應(yīng)算法;
b.循環(huán)首次適應(yīng)算法;
c.最佳適應(yīng)算法.
5.在動(dòng)態(tài)分區(qū)分配方式中,應(yīng)如何將各空閑分區(qū)鏈接成空閑分區(qū)鏈?
應(yīng)在每個(gè)分區(qū)的起始地址部分,設(shè)置一些用于控制分區(qū)分配的信.息,以及用于鏈
接各分區(qū)的前向指針;
在分區(qū)尾部則設(shè)置一后向指針,通過(guò)前,后向指針將所有的分區(qū)鏈接成一個(gè)雙向
鏈.
6.為什么要引入動(dòng)態(tài)重定位?如何實(shí)現(xiàn)?
a.為了在程序執(zhí)行過(guò)程中,每當(dāng)訪(fǎng)問(wèn)指令或數(shù)據(jù)時(shí),將要訪(fǎng)問(wèn)的程序或數(shù)據(jù)的
邏輯地址轉(zhuǎn)換成物理地
-一址,引入了動(dòng)態(tài)重定位.
b.可在系統(tǒng)中增加一個(gè)重定位寄存器,用它來(lái)裝入(存放)程序在內(nèi)存中的起始
地址,程序在執(zhí)行時(shí),真
-正訪(fǎng)問(wèn)的內(nèi)存地址是相對(duì)地址與重定位寄存器中的地址相加而形成的,從而
實(shí)現(xiàn)動(dòng)態(tài)重定位.
7.試用類(lèi)Pascal語(yǔ)言來(lái)描述首次適應(yīng)算法進(jìn)行內(nèi)存分配的過(guò)程.
(略)
8.在采用首次適應(yīng)算法回收內(nèi)存時(shí),可能出現(xiàn)哪幾種情況?應(yīng)怎樣處理這些情
況?
a.回收區(qū)與插入點(diǎn)的前一個(gè)分區(qū)相鄰接,此時(shí)可將回收區(qū)與插入點(diǎn)的前一分區(qū)
合并,不再為回收分區(qū)
-一分配新表項(xiàng),而只修改前鄰接分區(qū)的大小;
b.回收分區(qū)與插入點(diǎn)的后一分區(qū)相鄰接,此時(shí)合并兩區(qū),然后用回收區(qū)的首址
作為新空閑區(qū)的首址,大
—小為兩者之和;
c.回收區(qū)同時(shí)與插入點(diǎn)的前后兩個(gè)分區(qū)鄰接,此時(shí)將三個(gè)分區(qū)合并,使用前鄰
接分區(qū)的首址,大小為
一-三區(qū)之和,取消后鄰接分區(qū)的表項(xiàng);
d.回收區(qū)沒(méi)有鄰接空閑分區(qū),則應(yīng)為回收區(qū)單獨(dú)建立一個(gè)新表項(xiàng),填寫(xiě)回收區(qū)
的首址和大小,并根據(jù)
-—其首址,插入到空閑鏈中的適當(dāng)位置.
9.在系統(tǒng)中引入對(duì)換后帶有哪些好處?
能將內(nèi)存中暫時(shí)不運(yùn)行的進(jìn)程或暫時(shí)不用的程序和數(shù)據(jù),換到外存上,以騰出足
夠的內(nèi)存空間,把已
具備運(yùn)行條件的進(jìn)程或進(jìn)程所需的程序和數(shù)據(jù)換入內(nèi)存,從而大大地提高了內(nèi)存
的利用率.
10為實(shí)現(xiàn)對(duì)換,系統(tǒng)應(yīng)具備哪幾方面功能?
a.對(duì)對(duì)換空間的管理;
b.進(jìn)程的換出;
C.進(jìn)程的換入.
11在以進(jìn)程為單位進(jìn)行對(duì)換時(shí),每次是否都將整個(gè)進(jìn)程換出?為什么?
a.以進(jìn)程為單位進(jìn)行對(duì)換時(shí),每次都將整個(gè)進(jìn)程換出;
b.目的為了解決內(nèi)存緊張的問(wèn)題,提高內(nèi)存的利用率.
12為實(shí)現(xiàn)分頁(yè)存儲(chǔ)管理,需要哪些硬件支持?你認(rèn)為以Intel8086,MC68000,
Intel80286為芯片的微機(jī),是否適合于實(shí)現(xiàn)分頁(yè)管理?
(有待討論)
13請(qǐng)較詳細(xì)地說(shuō)明,引入分頁(yè)存儲(chǔ)管理(估計(jì)印錯(cuò)了,是分段存儲(chǔ)管理)是為了
滿(mǎn)足用戶(hù)哪幾方面的需要?
a.方便了編程;
b.實(shí)現(xiàn)了分段共享;
c.實(shí)現(xiàn)了分段保護(hù);
d.實(shí)現(xiàn)了動(dòng)態(tài)鏈接;
e.實(shí)現(xiàn)了動(dòng)態(tài)增長(zhǎng).
14在具有快表的段頁(yè)式存儲(chǔ)管理方式中,如何實(shí)現(xiàn)地址變換?
首先,必須配置一段表寄存器,在其中存放段表始址和段長(zhǎng)TL.進(jìn)行地址變換
時(shí),先利用段號(hào)S,與段長(zhǎng)TL
進(jìn)行比較,若S〈TL,表示未越界,(若S〉=TL,表示段號(hào)太大,訪(fǎng)問(wèn)越界,產(chǎn)生越
界中斷信號(hào))于是利用段表
始址和段號(hào)來(lái)求出該段對(duì)應(yīng)的段表項(xiàng)在段表中的位置,從中求出該段的頁(yè)表始址,
并利用邏輯地址中的段
內(nèi)頁(yè)號(hào)P來(lái)獲得對(duì)應(yīng)頁(yè)的頁(yè)表項(xiàng)位置,從中讀出該頁(yè)所在的物理塊號(hào)b,再用塊
號(hào)b和頁(yè)內(nèi)地址構(gòu)成物理地址.
15為什么說(shuō)分段系統(tǒng)較之分頁(yè)系統(tǒng)更易于實(shí)現(xiàn)信息共享和保護(hù)?
a.對(duì)于分頁(yè)系統(tǒng),每個(gè)頁(yè)面是分散存儲(chǔ)的,為了實(shí)現(xiàn)信息共享和保護(hù),則頁(yè)面
之間需要---對(duì)應(yīng)起來(lái),為此
--需要建立大量的頁(yè)表項(xiàng);
b.而對(duì)于分段系統(tǒng),每個(gè)段都從0開(kāi)始編址,并采用一段連續(xù)的地址空間,這
樣在實(shí)現(xiàn)共享和保護(hù)時(shí),只需
一為所要共享和保護(hù)的程序設(shè)置一個(gè)段表項(xiàng),將其中的基址與內(nèi)存地址一一對(duì)
應(yīng)起來(lái)即可.
16分頁(yè)和分段有何區(qū)別?
a.分頁(yè)和分段都采用離散分配的方式,且都要通過(guò)地址映射機(jī)構(gòu)來(lái)實(shí)現(xiàn)地址變
換,這是它們的共同點(diǎn);
b.對(duì)于它們的不同點(diǎn)有三,第一,從功能上看,頁(yè)是信息的物理單位,分頁(yè)是
為實(shí)現(xiàn)離散分配方式,以消減
—內(nèi)存的外零頭,提高內(nèi)存的利用率,即滿(mǎn)足系統(tǒng)管理的需要,而不是用戶(hù)的
需要;而段是信息的邏輯單位,
一它含有一組其意義相對(duì)完整的信息,目的是為了能更好地滿(mǎn)足用戶(hù)的需要;
c.頁(yè)的大小固定且由系統(tǒng)確定,而段的長(zhǎng)度卻不固定,決定于用戶(hù)所編寫(xiě)的程
序;
d.分頁(yè)的作業(yè)地址空間是一維的,而分段的作業(yè)地址空間是二維的.
17試全面比較連續(xù)分配和離散分配方式.
a.連續(xù)分配是指為一個(gè)用戶(hù)程序分配一個(gè)連續(xù)的地址空間,包括單一連續(xù)分配
方式和分區(qū)式分配方式,前者
將內(nèi)存分為系統(tǒng)區(qū)和用戶(hù)區(qū),系統(tǒng)區(qū)供操作系統(tǒng)使用,用戶(hù)區(qū)供用戶(hù)使用,
是最簡(jiǎn)單的一種存儲(chǔ)方式,
—但只能用于單用戶(hù)單任務(wù)的操作系統(tǒng)中;分區(qū)式分配方式分為固定分區(qū)和動(dòng)
態(tài)分區(qū),固定分區(qū)是最簡(jiǎn)單的
一多道程序的存儲(chǔ)管理方式,由于每個(gè)分區(qū)的大小固定,必然會(huì)造成存儲(chǔ)空間
的浪費(fèi);動(dòng)態(tài)分區(qū)是根據(jù)進(jìn)程
的實(shí)際需要,動(dòng)態(tài)地為之分配連續(xù)的內(nèi)存空間,常用三種分配算法:首次適
應(yīng)算法FF,該法容易留下許多
難以利用的小空閑分區(qū),加大查找開(kāi)銷(xiāo);循環(huán)首次適應(yīng)算法,該算法能使內(nèi)
存中的空閑分區(qū)分布均勻,但
-一會(huì)致使缺少大的空閑分區(qū);最佳適應(yīng)算法,該算法也易留下許多難以利用的
小空閑區(qū);
b.離散分配方式基于將一個(gè)進(jìn)程直接分散地分配到許多不相鄰的分區(qū)中的思想,
分為分頁(yè)式存儲(chǔ)管理,分段
--存儲(chǔ)管理和段頁(yè)式存儲(chǔ)管理.分頁(yè)式存儲(chǔ)管理旨在提高內(nèi)存利用率,滿(mǎn)足系
統(tǒng)管理的需要,分段式存儲(chǔ)管
-一理則旨在滿(mǎn)足用戶(hù)(程序員)的需要,在實(shí)現(xiàn)共享和保護(hù)方面優(yōu)于分頁(yè)式存儲(chǔ)
管理,而段頁(yè)式存儲(chǔ)管理則是
—將兩者結(jié)合起來(lái),取長(zhǎng)補(bǔ)短,即具有分段系統(tǒng)便于實(shí)現(xiàn),可共享,易于保護(hù),
可動(dòng)態(tài)鏈接等優(yōu)點(diǎn),又能像
一分頁(yè)系統(tǒng)那樣很好的解決外部碎片的問(wèn)題,以及為各個(gè)分段可離散分配內(nèi)存
等問(wèn)題,顯然是一種比較有效
--的存儲(chǔ)管理方式;
c.綜上可見(jiàn),連續(xù)分配方式和離散分配方式各有各自的特點(diǎn),應(yīng)根據(jù)實(shí)際情況
加以改進(jìn)和利用.
第六章
1.在請(qǐng)求分頁(yè)系統(tǒng)中,其頁(yè)表項(xiàng)中包含那些數(shù)據(jù)項(xiàng)?它們的作用是什么?
a.在請(qǐng)求分頁(yè)系統(tǒng)中,其頁(yè)表項(xiàng)中包含的數(shù)據(jù)項(xiàng)有頁(yè)號(hào),物理塊號(hào),狀態(tài)位P,
訪(fǎng)問(wèn)字段A,修改位M和
---外存地址;
b.其中狀態(tài)位P指示該頁(yè)是否調(diào)入內(nèi)存,供程序訪(fǎng)問(wèn)時(shí)參考;
c.訪(fǎng)問(wèn)字段A用于記錄本頁(yè)在一段時(shí)間內(nèi)被訪(fǎng)問(wèn)的次數(shù),或最近已有多長(zhǎng)時(shí)間
未被訪(fǎng)問(wèn),提供給置換算法
---選擇換出頁(yè)面時(shí)參考;
d.修改位M表示該頁(yè)在調(diào)入內(nèi)存后是否被修改過(guò);
e.外存地址用于指出該頁(yè)在外存上的地址,通常是物理塊號(hào),供調(diào)入該頁(yè)時(shí)使
用.
2.一個(gè)計(jì)算機(jī)系統(tǒng)的虛擬存儲(chǔ)器,其最大容量和實(shí)際容量分別由什么決定?
a.最大容量由內(nèi)存和外存之和決定;
b.實(shí)際容量由內(nèi)存決定.
3.虛擬存貯器有那些特征?其中最本質(zhì)的特征是什么?
a.虛擬存儲(chǔ)器具有離散性,多次性,對(duì)換性和虛擬性的特征;
b.其中最本質(zhì)的特征是離散性,在此基礎(chǔ)上又形成了多次性和對(duì)換性,所表現(xiàn)
出來(lái)的最重要的特征是
--虛擬性.
4.實(shí)現(xiàn)虛擬存儲(chǔ)器要那些硬件支持?
a.對(duì)于為實(shí)現(xiàn)請(qǐng)求分頁(yè)存儲(chǔ)管理方式的系統(tǒng),除了需要一臺(tái)具有一定容量的內(nèi)
存及外存的計(jì)算機(jī)外,還
--需要有頁(yè)表機(jī)制,缺頁(yè)中斷機(jī)構(gòu)以及地址變換機(jī)構(gòu);
b.對(duì)于為實(shí)現(xiàn)請(qǐng)求分段存儲(chǔ)管理方式的系統(tǒng),除了需要一臺(tái)具有一定容量的內(nèi)
存及外存的計(jì)算機(jī)外,還
--需要有段表機(jī)制,缺段中斷機(jī)構(gòu)以及地址變換機(jī)構(gòu);
5.在實(shí)現(xiàn)虛擬存儲(chǔ)器時(shí)的幾個(gè)關(guān)鍵技術(shù)是什么?
(有待討論)
6.在請(qǐng)求分頁(yè)系統(tǒng)中,頁(yè)表應(yīng)包括那些數(shù)據(jù)項(xiàng)?每項(xiàng)的作用是什么?
(同第一題)
7.在請(qǐng)求分頁(yè)系統(tǒng)中,應(yīng)從何處將所需頁(yè)面調(diào)入內(nèi)存?
a.在進(jìn)行地址變換時(shí),首先去檢索快表,試圖從中找出所要訪(fǎng)問(wèn)的頁(yè),若找到,
便修改頁(yè)表項(xiàng)中的訪(fǎng)問(wèn)
一位,對(duì)于寫(xiě)指令,還須將修改位置1,然后利用頁(yè)表項(xiàng)中給出的物理塊號(hào)和
頁(yè)內(nèi)地址,形成物理地址;
b.如果在快表中未找到該頁(yè)的頁(yè)表項(xiàng),則應(yīng)再到內(nèi)存中去查找頁(yè)表,再?gòu)恼业?/p>
的頁(yè)表項(xiàng)中的狀態(tài)位來(lái)
--了解該頁(yè)是否已調(diào)入內(nèi)存,如果該頁(yè)已調(diào)入內(nèi)存,應(yīng)將此頁(yè)的頁(yè)表項(xiàng)寫(xiě)入快
表,當(dāng)快表已滿(mǎn)時(shí),應(yīng)先
--調(diào)出按某種算法所確定的頁(yè)的頁(yè)表項(xiàng),然后再寫(xiě)入該頁(yè)的頁(yè)表項(xiàng);
c.如果該頁(yè)尚未調(diào)入內(nèi)存,這時(shí)便應(yīng)產(chǎn)生缺頁(yè)中斷,請(qǐng)求OS從外存中把該頁(yè)調(diào)
入內(nèi)存;
d.外存分為文件區(qū)和對(duì)換區(qū),若系統(tǒng)有足夠的對(duì)換區(qū)空間,可在進(jìn)程運(yùn)行前,
將與該進(jìn)程有關(guān)的文件
--拷貝到對(duì)換區(qū),需要時(shí)從對(duì)換區(qū)調(diào)入;
e.若系統(tǒng)缺少足夠的對(duì)換區(qū)空間,則凡是不會(huì)被修改的文件,可直接從文件區(qū)
調(diào)入,需換出時(shí)可不必
寫(xiě)入外存,但對(duì)于可能被修改的部分,在將它們換出時(shí),便須調(diào)到對(duì)換區(qū),
以后需要時(shí)再?gòu)膶?duì)換區(qū)
--調(diào)入.
8.在請(qǐng)求分頁(yè)系統(tǒng)中,常采用哪幾種頁(yè)面置換算法?
a.最佳置換算法;
b.先進(jìn)先出算法;
c.最近最久未使用LRU置換算法;
d.Clock置換算法;
e.此外,還有最少使用置換算法和頁(yè)面緩沖算法.
9.某虛擬存儲(chǔ)器的用戶(hù)空間共有32個(gè)頁(yè)面,每頁(yè)1KB,主存16KB.假定某時(shí)
刻
--為用戶(hù)的第0,1,2,3頁(yè)分別分配的物理塊號(hào)為5,10,4,7,試將虛擬地
址
—0A5C和093C變換為物理地址.
a.將OA5c變換為2進(jìn)制為:0000,1010,0101,1100,由于頁(yè)面大小為1KB約為2
的10次方,所以O(shè)A5c的頁(yè)號(hào)
-一為2,對(duì)應(yīng)的物理塊號(hào)為:4,所以虛擬地址OA5c的物理地址為125C;
b.將093c變換為2進(jìn)制為:0000,1001,0011,1100,頁(yè)號(hào)也為2,對(duì)應(yīng)的物理
塊號(hào)也為4,此時(shí)虛擬地址
-—093C的物理地址為113c.
10在請(qǐng)求分頁(yè)系統(tǒng)中,通常采用那種頁(yè)面分配方式?為什么?
a.在請(qǐng)求分頁(yè)系統(tǒng)中,有固定和可變分配兩種分配方式;
b.采用固定分配方式是基于進(jìn)程的類(lèi)型(交互型)或根據(jù)程序員,系統(tǒng)管理員的
建議,為每個(gè)進(jìn)程分配
——固定頁(yè)數(shù)的內(nèi)存空間,在整個(gè)運(yùn)行期間不再改變;
c.采用可變分配方式有全局置換和局部置換兩種,前者易于實(shí)現(xiàn),后者效率高.
11在一個(gè)請(qǐng)求分頁(yè)系統(tǒng)中,采用LRU頁(yè)面置換算法時(shí),假如一個(gè)作業(yè)的頁(yè)面走
向
-—為4,3,2,1,4,3,5,4,3,2,1,5,當(dāng)分配給該作業(yè)的物理塊數(shù)M分
別
-一為3和4時(shí),試計(jì)算訪(fǎng)問(wèn)過(guò)程中所發(fā)生的缺頁(yè)次數(shù)和缺頁(yè)率?比較所得結(jié)果?
a.當(dāng)分配給該作業(yè)的物理塊數(shù)M為3時(shí),所發(fā)生的缺頁(yè)率為7,缺頁(yè)率為:
7/12=0.583;
b.當(dāng)分配給該作業(yè)的物理塊數(shù)M為4時(shí),所發(fā)生的缺頁(yè)率為4,缺頁(yè)率為:
4/12=0.333.
12在置換算法中,LRU和LFU哪個(gè)更常用?為什么?
a.LRU與LFU置換算法的頁(yè)面的訪(fǎng)問(wèn)圖完全相同,即使用的硬件是相同的;
b.但是LFU并不能真正訪(fǎng)問(wèn)反映出頁(yè)面的使用情況.
13實(shí)現(xiàn)LRU算法所需的硬件支持是什么?
a.寄存器,用于記錄某進(jìn)程在內(nèi)存中各頁(yè)的使用情況;
b.棧,用于保存當(dāng)前使用的各個(gè)頁(yè)面的頁(yè)面號(hào).
14試說(shuō)明改進(jìn)型Clock置換算法的基本原理.
a.因?yàn)閷?duì)于修改過(guò)的頁(yè)面在換出時(shí)所付出的開(kāi)銷(xiāo)將比未被修改過(guò)的頁(yè)面的開(kāi)銷(xiāo)
大,所以在改進(jìn)型Clock
一算法中,出了須考慮到頁(yè)面的使用情況外,還須再增加一個(gè)置換代價(jià)這一因
素;
b.在選擇頁(yè)面作為淘汰頁(yè)面時(shí),把同時(shí)滿(mǎn)足未使用過(guò)和未被修改作為首選淘汰
頁(yè)面.
15什么是抖動(dòng)?產(chǎn)生抖動(dòng)的原因是什么?
a.抖動(dòng)(Thrashing)就是指當(dāng)內(nèi)存中已無(wú)空閑空間而又發(fā)生缺頁(yè)中斷時(shí),需要從
內(nèi)存中調(diào)出一頁(yè)程序或
一數(shù)據(jù)送磁盤(pán)的對(duì)換區(qū)中,如果算法不適當(dāng),剛被換出的頁(yè)很快被訪(fǎng)問(wèn),需重
新調(diào)入,因此需再選一頁(yè)
-調(diào)出,而此時(shí)被換出的頁(yè)很快又要被訪(fǎng)問(wèn),因而又需將它調(diào)入,如此頻繁更
換頁(yè)面,以致花費(fèi)大量的
-一時(shí)間,我們稱(chēng)這種現(xiàn)象為''抖動(dòng)";
b.產(chǎn)生抖動(dòng)的原因是由于CPU的利用率和多道程序度的對(duì)立統(tǒng)一矛盾關(guān)系引起
的,為了提高CPU利用率,
-可提高多道程序度,但單純提高多道程序度又會(huì)造成缺頁(yè)率的急劇上升,導(dǎo)
致CPU的利用率下降,而
系統(tǒng)的調(diào)度程序又會(huì)為了提高CPU利用率而繼續(xù)提高多道程序度,形成惡性
循環(huán),我們稱(chēng)這時(shí)的進(jìn)程
是處于“抖動(dòng)”狀態(tài).
16試說(shuō)明請(qǐng)求分段系統(tǒng)中的缺頁(yè)中斷處理過(guò)程?
(見(jiàn)P185圖6-12)
17如何實(shí)現(xiàn)分段共享?
a.可在每個(gè)進(jìn)程的段表中,用相應(yīng)的表項(xiàng)來(lái)指向共享段在內(nèi)存中起始地址;
b.配置相應(yīng)的數(shù)據(jù)結(jié)構(gòu)作為共享段表,可在段表項(xiàng)中設(shè)置共享進(jìn)程計(jì)數(shù)Count,
每調(diào)用一次該共享段,
-Count指增1,每當(dāng)一個(gè)進(jìn)程釋放一個(gè)共享段時(shí),Count執(zhí)行減1操作,若減
為0,則由系統(tǒng)回收該共享
一段的物理內(nèi)存,以及取消在共享段表中該段所對(duì)應(yīng)的表項(xiàng);
c.對(duì)于一個(gè)共享段,應(yīng)給不同的進(jìn)程以不同的存取權(quán)限;
d.不同的進(jìn)程可以使用不同的段號(hào)去共享該段.
18Intel80386芯片可支持哪幾種方式的存儲(chǔ)管理?
a.不分段也不分頁(yè)的存儲(chǔ)管理方式;
b.分頁(yè)不分段的存儲(chǔ)管理方式;
c.分段不分頁(yè)的存儲(chǔ)管理方式;
d.分段分頁(yè)存儲(chǔ)管理方式.
19試說(shuō)明80386的分段地址變換機(jī)構(gòu)的工作原理.
a.采用段寄存器和虛地址結(jié)構(gòu);
b.在分段部件中,地址變換是將邏輯地址變換為線(xiàn)性地址,然后送分頁(yè)部件
中.(具體見(jiàn)P191)
20試說(shuō)明80386的兩級(jí)分頁(yè)地址變換機(jī)構(gòu)的原理.
(見(jiàn)P193)
21可通過(guò)哪些途徑來(lái)提高內(nèi)存利用率?
(有待討論,該題可以看成是對(duì)本章的本質(zhì)內(nèi)容的全面概括和總結(jié))
第七章
1.試畫(huà)出微機(jī)和主機(jī)中常采用的I/O系統(tǒng)結(jié)構(gòu)圖。
微機(jī)中常采用的I/O系統(tǒng)結(jié)構(gòu)圖為:
主機(jī)中常采用的I/O系統(tǒng)結(jié)構(gòu)圖為:
2.試說(shuō)明設(shè)備控制器的構(gòu)成。
設(shè)備控制器的構(gòu)成如圖所示:
由上圖可見(jiàn),設(shè)備控制器由以下三部分組成:(1)設(shè)備控制器與處理機(jī)的接口,
該接口用于實(shí)現(xiàn)CPU與設(shè)備控制器之間的通信,提供有三類(lèi)信號(hào)線(xiàn):數(shù)據(jù)線(xiàn)、地
址線(xiàn)和控制線(xiàn)。(2)設(shè)備控制器與設(shè)備的接口,可以有一個(gè)或多個(gè)接口,且每
個(gè)接口連接一臺(tái)設(shè)備。每個(gè)接口都存在數(shù)據(jù)、控制和狀態(tài)三種類(lèi)型的信號(hào)。(3)
I/O邏輯,用于實(shí)現(xiàn)對(duì)設(shè)備的控制。其通過(guò)一組控制線(xiàn)與處理機(jī)交互,處理機(jī)利
用該邏輯向控制器發(fā)送I/O命令,I/O邏輯對(duì)收到的命令進(jìn)行譯碼。
3.為了實(shí)現(xiàn)CPU與設(shè)備控制器之間的通信,設(shè)備控制器應(yīng)具有哪些功能?
為了實(shí)現(xiàn)CPU與設(shè)備控制器之間的通信,設(shè)備控制器應(yīng)具有如下功能:(1)接
受和識(shí)別命令。CPU可以向控制器發(fā)送多種不同的命令,設(shè)備控制器應(yīng)能接收并
識(shí)別這些命令。設(shè)置控制寄存器來(lái)存放所接收的命令和參數(shù)。(2)數(shù)據(jù)交換,
指實(shí)現(xiàn)CPU與控制器之間、控制器與設(shè)備之間的數(shù)據(jù)交換。設(shè)置數(shù)據(jù)寄存器來(lái)存
放有關(guān)數(shù)據(jù)。(3)設(shè)備狀態(tài)的了解和報(bào)告??刂破饔涗浵滤B接設(shè)備的狀態(tài)以
供CPU了解。為此,要在控制器中設(shè)置一狀態(tài)寄存器,用其中的每一位反映設(shè)備
的某一狀態(tài)。(4)地址識(shí)別。配置地址譯碼器以便于正確識(shí)別設(shè)備地址。
4.分別就字節(jié)多路通道、數(shù)據(jù)選擇通道和數(shù)組多路通道進(jìn)行解釋。
①字節(jié)多路通道含有許多非分配型子通道分別連接在低、中速I(mǎi)/O設(shè)備上,子
通道按時(shí)間片輪轉(zhuǎn)方式共享主通道,按字節(jié)方式進(jìn)行數(shù)據(jù)傳送。具體而言,當(dāng)?shù)?/p>
一個(gè)子通道控制其I/O設(shè)備完成一個(gè)字節(jié)的交換后,便立即騰出字節(jié)多路通道
(主通道),讓給第二個(gè)子通道使用;當(dāng)?shù)诙€(gè)子通道也交換完一個(gè)字節(jié)后,又
依樣把主通道讓給第三個(gè)子通道使用,以此類(lèi)推。轉(zhuǎn)輪一周后,重又返回由第
一個(gè)子通道去使用主通道。②數(shù)組選擇通道只含有一個(gè)分配型子通道,一段時(shí)
間內(nèi)只能執(zhí)行一道通道程序、控制一臺(tái)設(shè)備按數(shù)組方式進(jìn)行數(shù)據(jù)傳送。通道被某
臺(tái)設(shè)備占用后,便一直處于獨(dú)占狀態(tài),直至設(shè)備數(shù)據(jù)傳輸完畢釋放該通道,故
而通道利用率較低,主要用于連接多臺(tái)高速設(shè)備。③數(shù)組多路通道是將數(shù)組選擇
通道傳輸速率高和字節(jié)多路通道能使各子通道分時(shí)并行操作的優(yōu)點(diǎn)相結(jié)合而形
成的一種新通道。其含有多個(gè)非分配型子通道分別連接在高、中速I(mǎi)/O設(shè)備上,
子通道按時(shí)間片輪轉(zhuǎn)方式共享主通道,按數(shù)組方式進(jìn)行數(shù)據(jù)傳送,因而既具有
很高的數(shù)據(jù)傳輸速率,又能獲得令人滿(mǎn)意的通道利用率。
5.如何解決因通道不足而產(chǎn)生的瓶頸問(wèn)題?
解決因通道不足而產(chǎn)生的瓶頸問(wèn)題的最有效方法是增加設(shè)備到主機(jī)間的通路而
不是增加通道。換言之,就是把一個(gè)設(shè)備連接到多個(gè)控制器上,而一個(gè)控制器又
連接到多個(gè)通道上。這種多通路方式不僅可以解決該瓶頸問(wèn)題,而且能夠提高
系統(tǒng)的可靠性,也即不會(huì)因?yàn)閭€(gè)別通道或控制器的故障而使設(shè)備與存儲(chǔ)器之間無(wú)
法建立通路進(jìn)行數(shù)據(jù)傳輸。
6.試說(shuō)明I/O控制發(fā)展的主要推動(dòng)因素是什么?
推動(dòng)I/O控制發(fā)展的主要?jiǎng)恿υ谟诒M量減少主機(jī)對(duì)I/O控制的干預(yù),把主機(jī)從繁
雜的I/O控制事務(wù)中解脫出來(lái),以有更多的時(shí)間和精力去完成其數(shù)據(jù)處理任務(wù)。
同時(shí),中斷機(jī)制在計(jì)算機(jī)系統(tǒng)中的引入、DMA控制器的出現(xiàn)和通道研制的成功使
I/O控制的發(fā)展具備了技術(shù)支持和成為可能。
7.有哪幾種I/O控制方式?
有四種I/O控制方式,即程序I/O控制方式、中斷驅(qū)動(dòng)I/O控制方式、直接存儲(chǔ)
器訪(fǎng)問(wèn)DMA控制方式及I/O通道控制方式。
8.試說(shuō)明DMA的工作流程。
以從磁盤(pán)讀入數(shù)據(jù)為例來(lái)說(shuō)明DMA方式的工作流程:當(dāng)CPU要從磁盤(pán)讀入一數(shù)
據(jù)塊時(shí),便向磁盤(pán)控制器發(fā)送一條讀命令,該命令被送入DMA控制器的命令寄存
器CR中。同時(shí),還需發(fā)送本次要將數(shù)據(jù)讀入的內(nèi)存起始目標(biāo)地址,該地址被送
入DMA控制器的內(nèi)存地址寄存器MAR中;本次要讀的字(節(jié))數(shù)則送至DMA控制
器的數(shù)據(jù)計(jì)數(shù)器DC中。另外,還需將磁盤(pán)中數(shù)據(jù)讀取的源地址直接送到DMA控
制器的I/O控制邏輯上。然后,啟動(dòng)DMA控制器進(jìn)行數(shù)據(jù)傳送。此后,CPU便可
去處理其它任務(wù),而整個(gè)的數(shù)據(jù)傳送便由DMA控制器負(fù)責(zé)控制。當(dāng)DMA控制器已
從磁盤(pán)中讀入一個(gè)字(節(jié))的數(shù)據(jù),并送入DMA控制器的數(shù)據(jù)寄存器DR后,再
挪用一個(gè)存儲(chǔ)器周期,將該字(節(jié))傳送到MAR所指示的內(nèi)存單元中。接著,便
對(duì)MAR內(nèi)容加1和將DC內(nèi)容減1。若DC內(nèi)容減1后不為0,表示傳送未完,便
準(zhǔn)備再傳送下一個(gè)字(節(jié)),否則,由DMA控制器發(fā)出中斷請(qǐng)求。參圖所示:
9.引入緩沖的主要原因是什么?
操作系統(tǒng)引入緩沖機(jī)制的主要原因可歸結(jié)為以下幾點(diǎn):(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í),先從磁盤(pán)把一塊數(shù)據(jù)輸入到緩沖區(qū),耗時(shí)為T(mén);然后由操作
系統(tǒng)將緩沖區(qū)數(shù)據(jù)傳送給用戶(hù)區(qū),耗時(shí)為M;接下來(lái)便由CPU對(duì)這一塊數(shù)據(jù)進(jìn)行
計(jì)算,耗時(shí)為Co在單緩沖情況下,磁盤(pán)把數(shù)據(jù)輸入到緩沖區(qū)的操作和CPU對(duì)
數(shù)據(jù)的計(jì)算過(guò)程可以并行展開(kāi),所以系統(tǒng)對(duì)每一整塊數(shù)據(jù)的處理時(shí)間為max(C,T)
+Mo
11.為什么在雙緩沖情況下,系統(tǒng)對(duì)一塊數(shù)據(jù)的處理時(shí)間為max(C,T)
該方式又稱(chēng)緩沖對(duì)換方式。寫(xiě)入者花費(fèi)時(shí)間T將數(shù)據(jù)寫(xiě)滿(mǎn)一個(gè)緩沖區(qū)后再寫(xiě)另
一個(gè)緩沖區(qū);讀出者花費(fèi)時(shí)間M將一個(gè)緩沖區(qū)數(shù)據(jù)送到用戶(hù)區(qū)后再傳送另一個(gè)緩
沖區(qū)數(shù)據(jù),運(yùn)算者讀出用戶(hù)區(qū)進(jìn)行處理。由于將數(shù)據(jù)從緩沖區(qū)傳送到用戶(hù)區(qū)操
作必須與讀用戶(hù)區(qū)數(shù)據(jù)進(jìn)行處理串行進(jìn)行,而且它們又可以與從外存?zhèn)魉蛿?shù)據(jù)填
滿(mǎn)緩沖區(qū)的操作并行。因此耗時(shí)大約為max(C+M,T)??紤]到M是內(nèi)存中數(shù)據(jù)塊
的''搬家”耗時(shí),非常短暫可以省略,因此近似地認(rèn)為是:max(C,T)o
12.試?yán)L圖說(shuō)明把多緩沖用于輸出時(shí)的情況。
把多緩沖用于輸出時(shí)的情況如圖所示:
13.試說(shuō)明收容輸入工作緩沖區(qū)和提取輸出工作緩沖區(qū)的工作情況。
①收容輸入工作緩沖區(qū)的工作情況為:在輸入進(jìn)程需要輸入數(shù)據(jù)時(shí),調(diào)用
GetBuf(EmptyQueue)過(guò)程,從EmptyQueue隊(duì)列的隊(duì)首摘下??個(gè)空緩沖區(qū),把它
作為收容輸入工作緩沖區(qū)Hino然后,把數(shù)據(jù)輸入其中,裝滿(mǎn)后再調(diào)用
PutBuf(InputQueue,Hin)過(guò)程,將該緩沖區(qū)掛在輸入隊(duì)列InputQueue的隊(duì)尾。
②提取輸出工作緩沖區(qū)的工作情況為:當(dāng)要輸出數(shù)據(jù)時(shí),調(diào)用
GetBuf(OutputQueue)過(guò)程,從輸出隊(duì)列的隊(duì)首取得一裝滿(mǎn)輸出數(shù)據(jù)的緩沖區(qū)作
為提取輸出的工作緩沖區(qū)Sout。在數(shù)據(jù)提取完后,再調(diào)用PutBuf(EmptyQueue,
Sout)過(guò)程,將該緩沖區(qū)掛到空緩沖隊(duì)列EmptyQueue的隊(duì)尾。
14.什么是安全分配方式和不安全分配方式?
①所謂安全分配方式,是指每當(dāng)進(jìn)程發(fā)出I/O請(qǐng)求后,便進(jìn)入阻塞狀態(tài),直到
其I/O操作完成時(shí)才被喚醒。在采用這種分配策略時(shí),一旦進(jìn)程已經(jīng)獲得某種設(shè)
備(資源)后便阻塞,使它不可能再請(qǐng)求任何資源,而在它運(yùn)行時(shí)又不保持任
何資源。因此,這種分配方式已經(jīng)摒棄了造成死鎖的四個(gè)必要條件之一的“請(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)是分配不安全,因?yàn)樗赡芫哂小罢?qǐng)求
和保持”條件,所以可能造成死鎖。因此,在設(shè)備分配程序中還需增加一個(gè)功
能,用于對(duì)本次的設(shè)備分配是否會(huì)發(fā)生死鎖進(jìn)行安全性計(jì)算,僅當(dāng)計(jì)算結(jié)果說(shuō)明
分配是安全的情況下才進(jìn)行分配。
15.為什么要引入設(shè)備獨(dú)立性?如何實(shí)現(xiàn)設(shè)備獨(dú)立性?
在現(xiàn)代操作系統(tǒng)中,為了提高系統(tǒng)的可適應(yīng)性和可擴(kuò)展性,都毫無(wú)例外地實(shí)現(xiàn)
了設(shè)備獨(dú)立性,也即設(shè)備無(wú)關(guān)性。其基本含義是,應(yīng)用程序獨(dú)立于具體使用的物
理設(shè)備,即應(yīng)用程序以邏輯設(shè)備名稱(chēng)來(lái)請(qǐng)求使用某類(lèi)設(shè)備。進(jìn)一步說(shuō),在實(shí)現(xiàn)
了設(shè)備獨(dú)立性的功能后,可帶來(lái)兩方面的好處:(1)設(shè)備分配時(shí)的靈活性;(2)
易于實(shí)現(xiàn)I/O重定向(指用于I/O操作的設(shè)備可以更換即重定向,而不必改變應(yīng)
用程序)。
為了實(shí)現(xiàn)設(shè)備的獨(dú)立性,應(yīng)引入邏輯設(shè)備和物理設(shè)備兩個(gè)概念。在應(yīng)用程序中,
使用邏輯設(shè)備名稱(chēng)來(lái)請(qǐng)求使用某類(lèi)設(shè)備;而系統(tǒng)執(zhí)行時(shí),是使用物理設(shè)備名稱(chēng)。
鑒于驅(qū)動(dòng)程序是一個(gè)與硬件(或設(shè)備)緊密相關(guān)的軟件,必須在驅(qū)動(dòng)程序之上
設(shè)置一層軟件,稱(chēng)為設(shè)備獨(dú)立性軟件,以執(zhí)行所有設(shè)備的
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度物業(yè)人員雇用與社區(qū)綠化養(yǎng)護(hù)服務(wù)協(xié)議
- 高效客戶(hù)服務(wù)流程提高客戶(hù)滿(mǎn)意度和忠誠(chéng)度
- 移動(dòng)辦公應(yīng)用創(chuàng)業(yè)項(xiàng)目設(shè)計(jì)與商業(yè)模式探索
- 新時(shí)代背景下的家庭教育與親子關(guān)系構(gòu)建
- 教育信息化的推動(dòng)下優(yōu)化農(nóng)村培訓(xùn)資源配置的實(shí)踐探索
- 現(xiàn)代教育技術(shù)在小學(xué)生數(shù)學(xué)教育中的應(yīng)用
- 教育機(jī)構(gòu)中綠色展覽的建設(shè)經(jīng)驗(yàn)分享
- 現(xiàn)代教育中實(shí)驗(yàn)教學(xué)與學(xué)生創(chuàng)新能力的關(guān)聯(lián)性
- 職業(yè)規(guī)劃從小培養(yǎng)孩子的職業(yè)意識(shí)與規(guī)劃能力
- 2025年福建農(nóng)業(yè)職業(yè)技術(shù)學(xué)院高職單招職業(yè)適應(yīng)性測(cè)試近5年??及鎱⒖碱}庫(kù)含答案解析
- 2023年6月浙江高考政治試卷真題解讀及答案解析(課件)
- 銷(xiāo)售部廉政培訓(xùn)課件
- 七年級(jí)下冊(cè)英語(yǔ)Unit1單元綜合測(cè)試題-人教版(含答案)
- 三年級(jí)計(jì)算題三位數(shù)乘一位數(shù)練習(xí)300題帶答案
- 商務(wù)服務(wù)業(yè)的市場(chǎng)細(xì)分和定位策略
- 財(cái)政學(xué)論文我國(guó)財(cái)政支出存在的問(wèn)題及改革建議
- 2022年湖南高速鐵路職業(yè)技術(shù)學(xué)院?jiǎn)握袛?shù)學(xué)模擬試題及答案解析
- 小學(xué)生必備古詩(shī)
- 人教版英語(yǔ)八年級(jí)上冊(cè)單詞默寫(xiě)表
- 幼兒剪紙-打印版
- 如何提高和加強(qiáng)人力資源隊(duì)伍的建設(shè)
評(píng)論
0/150
提交評(píng)論