




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第1章操作系統(tǒng)概論課后習(xí)題解答
1.什么是操作系統(tǒng)?它有哪些基本功能與基本特征?
【解答】操作系統(tǒng)是一個(gè)軟件系統(tǒng),它控制和管理計(jì)算機(jī)系統(tǒng)內(nèi)各種硬件和軟件資
源,提供用戶與計(jì)算機(jī)系統(tǒng)之間的接口。
操作系統(tǒng)的功能有:
(1)提供用戶接口
為方便用戶使用計(jì)算機(jī)系統(tǒng),操作系統(tǒng)提供了用戶接口。操作系統(tǒng)提供兩個(gè)級(jí)別的接
□:作業(yè)控制級(jí)接口(通常又稱為命令接口):提供一組命令供用戶直接或間接控制自己
的作業(yè);程序級(jí)接口:提供一組系統(tǒng)調(diào)用供用戶程序和其他系統(tǒng)程序調(diào)用。
(2)管理計(jì)算機(jī)資源
計(jì)算機(jī)系統(tǒng)中的資源包括硬件資源和軟件資源。硬件資源有:處理機(jī)、存儲(chǔ)器、外部
設(shè)備;軟件資源有:程序和數(shù)據(jù)?,F(xiàn)代計(jì)算機(jī)系統(tǒng)一般采用多任務(wù)并發(fā)執(zhí)行方式,而且有
的計(jì)算機(jī)系統(tǒng)由多個(gè)用戶同時(shí)聯(lián)機(jī)使用。這使得計(jì)算機(jī)的資源不是由一個(gè)程序在運(yùn)行時(shí)獨(dú)
占使用,而是由多個(gè)并發(fā)運(yùn)行的程序共享使用。如果由各并發(fā)運(yùn)行的程序自己決定如何使
用資源,則會(huì)各行其是,造成沖突,混亂,使系統(tǒng)無(wú)法順利高效運(yùn)行。因此,要有一個(gè)地
位高于各應(yīng)用程序之上的軟件來(lái)進(jìn)行自動(dòng)的統(tǒng)一的管理,這個(gè)軟件就是操作系統(tǒng)。操作系
統(tǒng)的目標(biāo)之一就是統(tǒng)一管理分配計(jì)算機(jī)系統(tǒng)資源,在保證各并發(fā)執(zhí)行的應(yīng)用程序順利運(yùn)行
的前提下提高資源利用率。包括處理機(jī)管理、存儲(chǔ)器管理、設(shè)備管理、文件管理。
操作系統(tǒng)的特性有:
(1)并發(fā)
在單處理機(jī)系統(tǒng)中,并發(fā)性是指宏觀上有多道程序在同時(shí)運(yùn)行,但在微觀上是交替執(zhí)
行的。多道程序并發(fā)執(zhí)行能提高資源利用率和系統(tǒng)吞吐量。
(2)共享
共享是指計(jì)算機(jī)系統(tǒng)中的資源被多個(gè)并發(fā)任務(wù)共同使用。
(3)異步
在多道程序系統(tǒng)中,多進(jìn)程并發(fā)執(zhí)行,但在微觀上,進(jìn)程是交替執(zhí)行的,因此進(jìn)程以
“走走停停”的不連續(xù)方式運(yùn)行。由于并發(fā)運(yùn)行環(huán)境的復(fù)雜,每個(gè)進(jìn)程在什么時(shí)候開(kāi)始執(zhí)
行,何時(shí)暫停,以怎樣的速度向前推進(jìn),多長(zhǎng)時(shí)間完成,何時(shí)發(fā)生中斷,都是不可預(yù)知
的。我們稱此種特征為異步性。
(4)虛擬
在操作系統(tǒng)中,虛擬指的是通過(guò)某種技術(shù)把一個(gè)物理實(shí)體映射為多個(gè)邏輯實(shí)體,用戶
程序使用邏輯實(shí)體。邏輯實(shí)體是用戶感覺(jué)上的實(shí)際不存在的事物。例如在分時(shí)系統(tǒng)中,雖
然只有一個(gè)CPU,但是在分時(shí)系統(tǒng)的管理下,每個(gè)終端用戶都認(rèn)為自己獨(dú)占一臺(tái)主機(jī)。此
時(shí),分時(shí)操作系統(tǒng)利用分時(shí)輪轉(zhuǎn)策略把一臺(tái)物理上的CPU虛擬為多臺(tái)邏輯上的CPU。
2.操作系統(tǒng)發(fā)展的動(dòng)力是什么?
【解答】推動(dòng)操作系統(tǒng)發(fā)展的主要?jiǎng)恿τ校?/p>
?2?操作系統(tǒng)實(shí)訓(xùn)
(1)不斷提高計(jì)算機(jī)資源利用率的需要。
(2)方便用戶的需要。
(3)器件不斷更新?lián)Q代的需要。
(4)計(jì)算機(jī)體系結(jié)構(gòu)不斷發(fā)展的需要。
3.批處理系統(tǒng)的目標(biāo)是什么?
【解答】批處理系統(tǒng)旨在實(shí)現(xiàn)作業(yè)步之間以及作業(yè)之間的自動(dòng)過(guò)渡,減少作業(yè)控制及
作業(yè)過(guò)渡時(shí)的手工操作,從而提高計(jì)算機(jī)系統(tǒng)的工作效率。
4.為什么要引入多道程序并發(fā)執(zhí)行技術(shù)?
【解答】在單道批處理系統(tǒng)中任何時(shí)刻只有一道作業(yè)在內(nèi)存中,在一道作業(yè)的運(yùn)行過(guò)
程中,輸入輸出和計(jì)算操作是串行的,因此導(dǎo)致I/O設(shè)備和CPU串行工作,從而導(dǎo)致總有
空閑資源,在I/O設(shè)備工作時(shí)CPU空閑,在CPU工作(指進(jìn)行計(jì)算工作)時(shí)I/O設(shè)備空
閑。即使是在脫機(jī)批處理系統(tǒng)中,內(nèi)存和輸入輸出磁帶之間的數(shù)據(jù)傳輸與CPU的計(jì)算工作
也是串行的。
為了進(jìn)一步提高資源利用率,從而最終提高系統(tǒng)吞吐量(系統(tǒng)在單位時(shí)間內(nèi)完成的總
工作量),在60年代中期引入了多道程序并發(fā)執(zhí)行技術(shù),從而形成了多道批處理系統(tǒng)。
多道程序并發(fā)執(zhí)行的基本思想是:在內(nèi)存中同時(shí)存放多道程序,在操作系統(tǒng)的控制下交替
執(zhí)行。在多道批處理系統(tǒng)中,用戶提交的作業(yè)都先存放在外存中并排成一個(gè)隊(duì)列,稱為后
備隊(duì)列,然后由作業(yè)調(diào)度程序按一定的策略從后備隊(duì)列中選擇若干作業(yè)調(diào)入內(nèi)存,使它們
并發(fā)運(yùn)行,從而共享系統(tǒng)中的各種資源,提高資源利用率,最終提高系統(tǒng)吞吐量。
5.試分析單道與多道批處理系統(tǒng)的優(yōu)缺點(diǎn)。
【解答】批處理系統(tǒng)實(shí)現(xiàn)了作業(yè)步之間以及作業(yè)之間的自動(dòng)過(guò)渡,從而提高了計(jì)算機(jī)
系統(tǒng)的工作效率。多道批處理系統(tǒng)使得CPU與外部設(shè)備并行工作,提高了資源利用率。但
是批處理系統(tǒng)缺少人機(jī)交互,在作業(yè)運(yùn)行過(guò)程中不能人工干預(yù),使得用戶不能靈活控制作
業(yè)過(guò)程。
6.為什么要引入分時(shí)操作系統(tǒng)?
【解答】多道批處理系統(tǒng)充分地提高了計(jì)算機(jī)資源利用率和系統(tǒng)吞吐量,但是它缺少
人機(jī)交互能力,即用戶把作業(yè)提交給計(jì)算機(jī)系統(tǒng)后,就完全脫離了自己的作業(yè),不能干預(yù)
作業(yè)的運(yùn)行,因此不能及時(shí)修正作業(yè)運(yùn)行過(guò)程中出現(xiàn)的錯(cuò)誤,只有當(dāng)作業(yè)運(yùn)行結(jié)束后才能
脫機(jī)修正錯(cuò)誤,因此用戶使用不方便。對(duì)一個(gè)程序員來(lái)說(shuō),每當(dāng)他編寫(xiě)好一個(gè)程序時(shí),都
需要上機(jī)進(jìn)行調(diào)試。由于新編寫(xiě)的程序難免有些錯(cuò)誤或不當(dāng)之處,因此希望能夠進(jìn)行人機(jī)
交互以便能及時(shí)地修改錯(cuò)誤,即用戶希望可以隨意干預(yù)、控制自己作業(yè)的運(yùn)行流程。
因此,人們開(kāi)發(fā)出交互式分時(shí)操作系統(tǒng)。在分時(shí)系統(tǒng)中,一臺(tái)主機(jī)可以連接若干終端,
每個(gè)用戶可以通過(guò)終端與主機(jī)交互。用戶可以方便地編輯和調(diào)試自己的程序,向系統(tǒng)發(fā)出
各種控制命令,系統(tǒng)及時(shí)地響應(yīng)用戶的請(qǐng)求,輸出計(jì)算結(jié)果以及出錯(cuò)、告警、提示信息。
7.分時(shí)系統(tǒng)是怎樣實(shí)現(xiàn)的?
【解答】在分時(shí)系統(tǒng)中,雖然若干用戶通過(guò)各自的終端共享一臺(tái)主機(jī),但是在操作系
統(tǒng)的管理下,每個(gè)用戶都感覺(jué)自己在獨(dú)占一臺(tái)主機(jī)。分時(shí)系統(tǒng)采用的策略是:基于主機(jī)的
高速運(yùn)行,分時(shí)為終端用戶服務(wù)。即主機(jī)按一定次序輪流為各終端用戶服務(wù),每個(gè)用戶一
次僅使用主機(jī)很短的一段時(shí)間(稱為時(shí)間片,毫秒級(jí)),在分得的時(shí)間片內(nèi)若用戶沒(méi)有完
成工作則暫時(shí)中斷,將處理機(jī)分配給下一個(gè)用戶。雖然在一個(gè)用戶使用主機(jī)時(shí)其他用戶處
于等待狀態(tài),但是等待的時(shí)間很短,用戶感覺(jué)不到,從而每個(gè)用戶的各次請(qǐng)求都能得到快
速響應(yīng),給每個(gè)用戶的印象是:他獨(dú)占一臺(tái)計(jì)算機(jī)。
8.實(shí)時(shí)操作系統(tǒng)應(yīng)用在哪些場(chǎng)合?
【解答】實(shí)時(shí)系統(tǒng)應(yīng)用于兩個(gè)領(lǐng)域:
(1)實(shí)時(shí)控制
當(dāng)把計(jì)算機(jī)用于生產(chǎn)過(guò)程的控制,以形成以計(jì)算機(jī)為中心的控制系統(tǒng)時(shí),系統(tǒng)要求能
實(shí)時(shí)采集現(xiàn)場(chǎng)數(shù)據(jù),并對(duì)所采集的數(shù)據(jù)進(jìn)行及時(shí)處理,進(jìn)而自動(dòng)地控制相應(yīng)的執(zhí)行機(jī)構(gòu),
使某些(個(gè))參數(shù)(如溫度、壓力、方位等)能按預(yù)定的規(guī)律變化。類似地,也可將計(jì)算
機(jī)用于武器的控制,如火炮的自動(dòng)控制系統(tǒng)、飛機(jī)的自動(dòng)駕駛系統(tǒng),以及導(dǎo)彈的制導(dǎo)系統(tǒng)
等。通常把要求進(jìn)行實(shí)時(shí)控制的系統(tǒng)稱為實(shí)時(shí)控制系統(tǒng)。
(2)實(shí)時(shí)信息處理
通常,我們把要求對(duì)信息進(jìn)行實(shí)時(shí)處理的系統(tǒng),稱為實(shí)時(shí)信息處理系統(tǒng)。該系統(tǒng)由一
臺(tái)或多臺(tái)主機(jī)通過(guò)通信線路連接成百上千個(gè)遠(yuǎn)程終端,計(jì)算機(jī)接收從遠(yuǎn)程終端發(fā)來(lái)的服務(wù)
請(qǐng)求,對(duì)數(shù)據(jù)進(jìn)行檢索和處理,并及時(shí)將結(jié)果反饋給用戶。典型的實(shí)時(shí)信息處理系統(tǒng)有:
飛機(jī)訂票系統(tǒng)、情報(bào)檢索系統(tǒng)。
9.實(shí)時(shí)系統(tǒng)有哪些特點(diǎn)?
【解答】實(shí)時(shí)系統(tǒng)的特征:
(1)及時(shí)性
系統(tǒng)對(duì)外部實(shí)時(shí)信號(hào)必須能及時(shí)響應(yīng),響應(yīng)的時(shí)間間隔要足以能夠控制發(fā)出實(shí)時(shí)信號(hào)
的那個(gè)環(huán)境。
(2)可靠性
由于實(shí)時(shí)系統(tǒng)的應(yīng)用環(huán)境特殊,在實(shí)時(shí)系統(tǒng)中,任何軟硬件故障都可能給系統(tǒng)帶來(lái)嚴(yán)
重的后果。必須采取相應(yīng)的軟硬件措施,以保證系統(tǒng)高度可靠。常用的硬件措施如采用雙
工機(jī)制,即準(zhǔn)備兩臺(tái)功能相同的計(jì)算機(jī),將其中一臺(tái)作為主機(jī),另一臺(tái)作為后備機(jī)。后備
機(jī)與主機(jī)并行工作,但不產(chǎn)生控制輸出,若主機(jī)發(fā)生故障,后備機(jī)立即代替主機(jī)繼續(xù)工
作,保證系統(tǒng)不間斷運(yùn)行。
10.操作系統(tǒng)的結(jié)構(gòu)有哪些類型?分別闡述。
【解答】一般而言,操作系統(tǒng)有兩種結(jié)構(gòu):層次結(jié)構(gòu)、微內(nèi)核結(jié)構(gòu)。
(1)層次結(jié)構(gòu)
層次結(jié)構(gòu)操作系統(tǒng)的設(shè)計(jì)思想是:按照操作系統(tǒng)各模塊的功能和相互依存關(guān)系,把系
統(tǒng)中的模塊分為若干層次,其中任一層(除底層模塊)都建立在它下面一層的基礎(chǔ)上,每
一層僅使用其下層所提供的服務(wù)。
(2)微內(nèi)核結(jié)構(gòu)
微內(nèi)核結(jié)構(gòu)是20世紀(jì)90年代發(fā)展起來(lái)的。其基本思想是:把操作系統(tǒng)中的基本功能
模塊組織為微內(nèi)核,其他功能模塊盡量放到核外,通過(guò)調(diào)用微內(nèi)核來(lái)實(shí)現(xiàn)。微內(nèi)核結(jié)構(gòu)是
對(duì)傳統(tǒng)內(nèi)核的提煉,它有如下優(yōu)點(diǎn):
簡(jiǎn)化內(nèi)核代碼維護(hù)工作
建構(gòu)靈活
?4?操作系統(tǒng)實(shí)訓(xùn)
安全性高
方便移植
11.處理機(jī)管理有哪些主要功能?它們的主要任務(wù)是什么?
【解答】(1)處理機(jī)調(diào)度
要在單處理機(jī)系統(tǒng)中并發(fā)運(yùn)行多道程序,必須按照一定策略對(duì)處理機(jī)進(jìn)行調(diào)度,就像
在一條鐵路上運(yùn)行多列火車一樣,需要進(jìn)行調(diào)度,要決定在某個(gè)時(shí)刻把處理機(jī)分配給哪個(gè)
進(jìn)程進(jìn)行計(jì)算操作。這是處理機(jī)管理的核心任務(wù)。
(2)進(jìn)程控制
進(jìn)程是程序的一次動(dòng)態(tài)運(yùn)行過(guò)程,在其生存期內(nèi)從產(chǎn)生到消亡經(jīng)過(guò)了一系列狀態(tài)的轉(zhuǎn)
換。在多道程序并發(fā)運(yùn)行的系統(tǒng)中,通常不會(huì)讓一道程序獨(dú)占計(jì)算機(jī)全部資源不間斷地運(yùn)
行完畢,而是讓多個(gè)進(jìn)程交替運(yùn)行。這樣進(jìn)程在其生存期內(nèi)肯定有多種狀態(tài),最起碼有運(yùn)
行和不運(yùn)行兩種狀態(tài)。進(jìn)程的狀態(tài)數(shù)量是操作系統(tǒng)按照一定的管理策略來(lái)設(shè)置的,進(jìn)程狀
態(tài)轉(zhuǎn)換是操作系統(tǒng)實(shí)施進(jìn)程管理的一個(gè)基本操作。操作系統(tǒng)提供了一些原語(yǔ)來(lái)對(duì)進(jìn)程狀態(tài)
的轉(zhuǎn)換進(jìn)行控制。
(3)進(jìn)程通信
在多道程序環(huán)境下,可以由系統(tǒng)為一個(gè)應(yīng)用程序建立多個(gè)進(jìn)程,這些進(jìn)程相互合作去
完成某一共同任務(wù),它們之間要交換信息一一進(jìn)程通信。為保證進(jìn)程之間正確通信,操作
系統(tǒng)提供了一系列通信原語(yǔ)供應(yīng)用進(jìn)程調(diào)用。
(4)進(jìn)程同步
在多道程序系統(tǒng)中,多個(gè)并發(fā)進(jìn)程處在同一運(yùn)行環(huán)境中,必然存在著某種聯(lián)系,如進(jìn)
程之間的資源共享和進(jìn)程之間的協(xié)作。操作系統(tǒng)必須采用一定策略來(lái)處理并發(fā)進(jìn)程之間的
制約關(guān)系,使各進(jìn)程能順利運(yùn)行,即使各進(jìn)程同步協(xié)調(diào)運(yùn)行。操作系統(tǒng)中設(shè)置了同步機(jī)制
來(lái)完成此功能。
12.內(nèi)存管理有哪些主要功能?它們的主要任務(wù)是什么?
【解答】操作系統(tǒng)提供如下存儲(chǔ)管理功能:
(1)內(nèi)存分配
內(nèi)存分配的任務(wù)是為每道程序分配一定的存儲(chǔ)空間。往往會(huì)出現(xiàn)多道程序?qū)?nèi)存的需
求總和超過(guò)實(shí)際內(nèi)存空間,因此在制定分配策略時(shí)應(yīng)以提高內(nèi)存利用率為目標(biāo)。
(2)地址轉(zhuǎn)換
程序必須裝入內(nèi)存才能被CPU訪問(wèn)到并執(zhí)行,程序指令的操作對(duì)象——數(shù)據(jù)也必須裝
入內(nèi)存才能被程序訪問(wèn),程序和數(shù)據(jù)裝入內(nèi)存后占據(jù)一定的物理內(nèi)存地址空間,程序的邏
輯地址空間往往和物理地址空間不重合,而程序最終是在物理地址空間中運(yùn)行,即訪問(wèn)程
序中的指令和數(shù)據(jù)時(shí)是按其所在的實(shí)際內(nèi)存單元的地址來(lái)進(jìn)行的,所以要正確地訪問(wèn)數(shù)據(jù)
和指令,必須把指令中的邏輯地址轉(zhuǎn)換成相應(yīng)的物理地址,這一操作稱為地址轉(zhuǎn)換,又稱
為“重定位”。
(3)內(nèi)存保護(hù)
內(nèi)存保護(hù)的任務(wù)是確保每道用戶程序都在自己的內(nèi)存空間中運(yùn)行,互不干擾。即,不
允許用戶程序訪問(wèn)操作系統(tǒng)的程序和數(shù)據(jù)(只可以通過(guò)系統(tǒng)調(diào)用訪問(wèn)操作系統(tǒng)),也不允
許訪問(wèn)(存取)其他程序的存儲(chǔ)空間。
(4)內(nèi)存擴(kuò)充
在多道程序環(huán)境中,內(nèi)存資源比較緊張,往往會(huì)出現(xiàn)多道程序?qū)?nèi)存的需求總和超過(guò)
實(shí)際內(nèi)存容量的情況。因此在采用合適的內(nèi)存分配策略以提高內(nèi)存利用率的基礎(chǔ)上,要采
用內(nèi)存擴(kuò)充技術(shù)來(lái)為多道程序運(yùn)行提供充足的內(nèi)存空間。這里說(shuō)的內(nèi)存擴(kuò)充是從邏輯角度
而言的,不是指添加物理內(nèi)存,擴(kuò)充物理內(nèi)存容量。
13.設(shè)備管理有哪些主要功能?它們的主要任務(wù)是什么?
【解答】
(1)設(shè)備分配
根據(jù)用戶程序的I/O請(qǐng)求,為之分配所需的設(shè)備。如果在I/O設(shè)備和CPU之間還存在
著設(shè)備控制器和I/O通道時(shí),還要為分配出去的設(shè)備分配相應(yīng)的控制器和通道。
(2)緩沖管理
進(jìn)程在運(yùn)行過(guò)程中要和輸入輸出設(shè)備之間傳輸數(shù)據(jù),在進(jìn)程的數(shù)據(jù)存儲(chǔ)區(qū)和I/O設(shè)備
控制器之間直接傳輸數(shù)據(jù)效率較低或者無(wú)法進(jìn)行,因此操作系統(tǒng)提供了緩沖技術(shù)。緩沖管
理的任務(wù)是解決CPU和外設(shè)速度不匹配的矛盾,使它們能充分并行工作,從而提高CPU
和I/O設(shè)備的利用率,最終達(dá)到提高系統(tǒng)吞吐量的目的。
(3)設(shè)備驅(qū)動(dòng)
設(shè)備驅(qū)動(dòng)程序?qū)崿F(xiàn)CPU與設(shè)備控制器之間的通信。由CPU向設(shè)備控制器發(fā)出I/O指
令,由設(shè)備控制器驅(qū)動(dòng)相應(yīng)設(shè)備進(jìn)行I/O操作;當(dāng)I/O操作完成時(shí),設(shè)備控制器向CPU發(fā)
送中斷信號(hào),由相應(yīng)的中斷處理程序進(jìn)行處理。
(4)設(shè)備無(wú)關(guān)性
又稱設(shè)備獨(dú)立性。即用戶編寫(xiě)的應(yīng)用程序與實(shí)際使用的物理設(shè)備無(wú)關(guān)。用戶編寫(xiě)的應(yīng)
用程序中不直接指定使用哪臺(tái)具體的物理設(shè)備,而是使用操作系統(tǒng)提供的邏輯設(shè)備,然后
由操作系統(tǒng)把用戶程序中使用的邏輯設(shè)備映射到具體的物理設(shè)備,實(shí)施具體的I/O操作。
這樣做的一個(gè)明顯好處是用戶應(yīng)用進(jìn)程的運(yùn)行不取決于某臺(tái)具體物理設(shè)備的狀態(tài),而由操
作系統(tǒng)為其分配一臺(tái)合適的設(shè)備完成I/O操作。這樣會(huì)避免出現(xiàn)有設(shè)備可用但進(jìn)程卻無(wú)法
運(yùn)行的情況.
14.文件管理有哪些主要功能?它們的主要任務(wù)是什么?
【解答】文件管理具體有如下功能:
(1)文件存儲(chǔ)空間的管理
為新文件分配所需的外存存儲(chǔ)空間,回收釋放的文件存儲(chǔ)空間。在進(jìn)行文件存儲(chǔ)空間
的分配和回收時(shí),要考慮到提高外存空間的利用率和提高文件的存取速度。
(2)目錄管理
為了能方便地在外存中找到所需要的文件,要為外存中存放的文件建立目錄,每個(gè)文
件都對(duì)應(yīng)著一個(gè)目錄項(xiàng)。目錄項(xiàng)包含文件名、文件屬性、文件在外存中的存放位置等用戶
和操作系統(tǒng)所需信息。目錄管理的主要任務(wù)是建立外存中文件的目錄結(jié)構(gòu),實(shí)現(xiàn)用戶程序
對(duì)文件的“按名存取”。文件目錄項(xiàng)要按一定結(jié)構(gòu)組織起來(lái),以便于操作系統(tǒng)檢索。在
UNIX/LINUX中采用了樹(shù)型目錄結(jié)構(gòu)。
(3)文件操作
包括文件的創(chuàng)建、刪除、打開(kāi)、關(guān)閉、讀、寫(xiě)等。這其實(shí)是一組文件系統(tǒng)功能調(diào)用,
?6?操作系統(tǒng)實(shí)訓(xùn)
在用戶程序中當(dāng)要對(duì)文件進(jìn)行操作時(shí),可以調(diào)用文件系統(tǒng)提供的這些文件操作功能。
(4)文件的存取權(quán)限控制
為了防止系統(tǒng)中的文件被非法竊取和破壞,操作系統(tǒng)提供了文件的存取權(quán)限控制功
能,以防止未被授權(quán)的用戶存取文件,防止用戶以不正確的方式存取文件。當(dāng)用戶對(duì)某一
文件操作時(shí),首先檢查其對(duì)該文件的操作權(quán)限,如果該用戶具有對(duì)該文件的此種操作權(quán)
限,則允許該用戶存取該文件,否則拒絕用戶對(duì)該文件的此種操作。
15.操作系統(tǒng)提供了哪些人機(jī)接口?
【解答】為方便用戶使用計(jì)算機(jī)系統(tǒng),操作系統(tǒng)提供了用戶接口。操作系統(tǒng)提供兩個(gè)
級(jí)別的接口:
(1)作業(yè)控制級(jí)接口(通常又稱為命令接口):提供一組命令供用戶直接或間接控
制自己的作業(yè)。作業(yè)級(jí)接口由一組用戶可直接使用控制作業(yè)運(yùn)行的命令和命令解釋器構(gòu)
成。如:在DOS系統(tǒng)中有內(nèi)部命令和外部命令,有命令解釋器。該接口又
可進(jìn)一步分為聯(lián)機(jī)用戶接口和脫機(jī)用戶接口。
聯(lián)機(jī)用戶接口:由一組鍵盤字符命令(或鼠標(biāo)命令)和命令解釋器組成,使用戶可以聯(lián)
機(jī)交互方式使用計(jì)算機(jī)。
脫機(jī)用戶接口:操作命令的形式為作業(yè)控制語(yǔ)言,用戶以脫機(jī)批處理方式使用計(jì)算
機(jī)。用戶對(duì)作業(yè)流程的控制意圖是利用作業(yè)控制語(yǔ)言書(shū)寫(xiě)成一份作業(yè)說(shuō)明書(shū)來(lái)表達(dá)的。
(2)程序級(jí)接口:提供一組系統(tǒng)調(diào)用供用戶程序和其他系統(tǒng)程序調(diào)用。程序級(jí)接口
由一組系統(tǒng)功能調(diào)用命令以及完成這些命令的程序模塊組成。為方便用戶編程,提高編程
效率,規(guī)范編程,操作系統(tǒng)提供了完成某些通用功能的程序,供用戶在開(kāi)發(fā)應(yīng)用程序時(shí)調(diào)
用。不同的操作系統(tǒng)提供了不同的系統(tǒng)功能調(diào)用以及調(diào)用方式。
第2章文件管理習(xí)題解答
i.什么是文件和文件系統(tǒng)?文件系統(tǒng)有哪些功能?
【解答】文件是具有符號(hào)名而且在邏輯上具有完整意義的信息項(xiàng)的有序序列。
文件系統(tǒng)是指操作系統(tǒng)系統(tǒng)中實(shí)現(xiàn)對(duì)文件的組織、管理和存取的一組系統(tǒng)程序,它實(shí)
現(xiàn)對(duì)文件的共享和保護(hù),方便用戶“按名存取”。
文件系統(tǒng)的功能“
(1)文件及目錄的管理。如打開(kāi)、關(guān)閉、讀、寫(xiě)等.
(2)提供有關(guān)文件自身的服務(wù)。如文件共享機(jī)制、文件的安全性等。
(3)文件存儲(chǔ)空間的管理。如分配和釋放。主要針對(duì)可改寫(xiě)的外存如磁盤。(4)提
供用戶接口。為方便用戶使用文件系統(tǒng)所提供的服務(wù),稱為接口。文件系統(tǒng)通常向用戶提
供兩種類型的接口:命令接口和程序接口。不同的操作系統(tǒng)提供不同類型的接口,不同的
應(yīng)用程序往往使用不同的接口。
2.Linux文件可以根據(jù)什么分類?可以分為哪幾類?各有什么特點(diǎn)?
【解答】在Linux操作系統(tǒng)中,文件可以根據(jù)內(nèi)部結(jié)構(gòu)和處理方式進(jìn)行分類。
在Linux操作系統(tǒng)中,可以將文件分為普通文件、目錄文件、特別文件三類。
各類文件的特點(diǎn)是:
普通文件:由表示程序、數(shù)據(jù)或正文的字符串構(gòu)成的文件,內(nèi)部沒(méi)有固定的結(jié)構(gòu)。這
種文件既可以是系統(tǒng)文件,也可以是庫(kù)文件或用戶文件。
目錄文件:由文件目錄構(gòu)成的一類文件。對(duì)它的處理(讀、寫(xiě)、執(zhí)行)在形式上與普
通文件相同。
特別文件:特指各種外部設(shè)備,為了便于管理,把所有的輸入/輸出設(shè)備都按文件格式
供用戶使用。這類文件對(duì)于查找目錄、存取權(quán)限驗(yàn)證等的處理與普通文件相似,而其他部
分的處理要針對(duì)設(shè)備特性要求做相應(yīng)的特殊處理。
應(yīng)該指出,按不同的分類方式就有不同的文件系統(tǒng)。
3.什么是文件的邏輯結(jié)構(gòu)?什么是文件的物理結(jié)構(gòu)?Linux文件系統(tǒng)分別采用什么樣
的結(jié)構(gòu)?有什么優(yōu)點(diǎn)和缺點(diǎn)?
【解答】文件的邏輯結(jié)構(gòu):用戶對(duì)文件的觀察的使用是從自身處理文件中數(shù)據(jù)時(shí)采用
的組織方式來(lái)看待文件組織形式。這種從用戶觀點(diǎn)出發(fā)所見(jiàn)到的文件組織方式稱為文件的
邏輯組織。
文件的物理結(jié)構(gòu):從系統(tǒng)的角度考察文件在實(shí)際存儲(chǔ)設(shè)備上的存放形式,又稱為文件
的存儲(chǔ)結(jié)構(gòu).
在Linux系統(tǒng)中,所有文件的邏輯結(jié)構(gòu)都被看作是流式文件,系統(tǒng)不對(duì)文件進(jìn)行格式
處理。
在Linux系統(tǒng)中,文件的物理結(jié)構(gòu)采用的是混合多重索引結(jié)構(gòu),即將文件所占用盤塊
的盤塊號(hào),直接或間接地存放在該文件索引結(jié)點(diǎn)的地址項(xiàng)中。
在Linux系統(tǒng)中,采用混合索引結(jié)構(gòu)的優(yōu)點(diǎn)是,對(duì)于小文件,訪問(wèn)速度快;對(duì)于大中
型的文件,其文件系統(tǒng)也能很好的支持;缺點(diǎn)是會(huì)帶來(lái)因?yàn)槎啻卧L問(wèn)磁盤而影響速度。
4.目前廣泛用的目錄結(jié)構(gòu)形式是哪種?它有什么優(yōu)點(diǎn)?
【解答】廣泛用的目錄結(jié)構(gòu)形式是樹(shù)型目錄結(jié)構(gòu)。
優(yōu)點(diǎn):
(1)能有效的提高對(duì)目錄的檢索速度。
(2)允許文件重名。允許用戶在自己的分目錄中,使用與其他用戶相同的文件名。
(3)便于實(shí)現(xiàn)文件共享。
5.常見(jiàn)的文件存儲(chǔ)空間管理有哪幾種?各自有什么特點(diǎn)?Linux系統(tǒng)的存儲(chǔ)空間管理
采用什么方法?
【解答】常見(jiàn)的文件存儲(chǔ)空間管理有:空閑空間表法、空閑塊鏈接法、位示圖法、空
閑塊成組鏈接法。
空閑空間表法:所有連續(xù)的空閑盤塊在表中占有一項(xiàng),其中每一個(gè)空閑表項(xiàng)包括序
號(hào)、空閑區(qū)的第一個(gè)盤塊號(hào)、該區(qū)的空閑盤塊數(shù)及對(duì)應(yīng)的空閑物理塊號(hào)。利用該表進(jìn)行盤
塊的分配和文件刪除時(shí)盤塊的回收。
空閑塊鏈接法:將磁盤上的所有盤塊拉成一條鏈,用一個(gè)指針指向第一個(gè)空閑塊,而
各個(gè)空閑塊中都含有下一個(gè)空閑區(qū)的塊號(hào),最后一塊的指針項(xiàng)記為NULL,表示鏈尾。分
配和釋放盤塊都在鏈頭進(jìn)行。
位示圖法:利用一串二進(jìn)制位的值來(lái)反映磁盤空間的分配情況,每個(gè)盤塊都對(duì)應(yīng)一
?8?操作系統(tǒng)實(shí)訓(xùn)
位。若盤塊空閑,對(duì)應(yīng)位為0;若盤塊已分配出去,則對(duì)應(yīng)位為1。
空閑塊成組鏈接法:把所有空閑盤塊按固定數(shù)量分組,組與組之間形成鏈接關(guān)系,最
后一組的塊號(hào)通常放在內(nèi)存的一個(gè)專用棧中。因而對(duì)盤塊的分配和回收都在棧中進(jìn)行。
Linux系統(tǒng)的存儲(chǔ)空間管理采用空閑塊成組鏈接法。
6.內(nèi)存管理和外存管理有何異同?
【解答】可以從以下幾個(gè)方面進(jìn)行比較:
(1)主要任務(wù):內(nèi)存管理的主要任務(wù)是為多道程序的運(yùn)行提供良好的環(huán)境,使每到
程序都能順利運(yùn)行。外存管理的主要任務(wù)是為文件提供存儲(chǔ)空間。
(2)基本功能:內(nèi)存管理的基本功能包含了內(nèi)存空間的分配、回收、保護(hù)、擴(kuò)充等
方面。外存管理的基本功能則只是對(duì)外存空間的分配和回收。
(3)分配方式:內(nèi)存和外存管理都可采用連續(xù)或離散分配方式,且都以離散分配方
式為主。
(4)分配算法:對(duì)于連續(xù)分配方式,內(nèi)存與外存管理中的分配和回收算法類似,主
要有首次適應(yīng)算法、循環(huán)首次適應(yīng)算法等。在離散分配方式中,兩者索采用的機(jī)制不同,
內(nèi)存管理只要利用頁(yè)表或段表;在外存管理中,則主要利用文件分配表。
(5)分配單位:內(nèi)存以字節(jié)為單位,外存則以盤塊為單位分配。
7.為什么要打開(kāi)文件?敘述在linux文件系統(tǒng),打開(kāi)文件Zhome/userOl/myfile的過(guò)
程?
【解答】當(dāng)用戶要求對(duì)一個(gè)文件實(shí)施多次讀/寫(xiě)或其他操作時(shí),每次都要從檢索目錄開(kāi)
始。為了避免多次重復(fù)地檢索目錄,在大多數(shù)OS中都引入了“打開(kāi)”(open)這一文件
系統(tǒng)調(diào)用,當(dāng)用戶第一次請(qǐng)求對(duì)某文件進(jìn)行操作時(shí),先利用open系統(tǒng)調(diào)用將該文件打開(kāi)。
在UNIX文件系統(tǒng),打開(kāi)文件/home/userOl/myfHe的過(guò)程四步:
(1)檢索目錄
核心先調(diào)用檢索目錄過(guò)程namei從根目錄或從當(dāng)前目錄開(kāi)始,沿目錄樹(shù)查找指名文件
的索引結(jié)點(diǎn)。在查找時(shí),利用線性檢索法,將文件路徑名中的各分量名,與相應(yīng)目錄文件
中的文件名逐一進(jìn)行比較。若未找到該文件名,或者該文件不允許存取,便做出錯(cuò)處理;
否則,進(jìn)入第二步。
(2)分配內(nèi)存索引結(jié)點(diǎn)
如果該文件己被其他用戶打開(kāi),此時(shí)只需對(duì)在第一步中所找到的i結(jié)點(diǎn),執(zhí)行其引用
計(jì)數(shù)加1的操作;否則,應(yīng)為被打開(kāi)文件分配一個(gè)內(nèi)存i結(jié)點(diǎn),并調(diào)用磁盤讀過(guò)程將磁盤i
結(jié)點(diǎn)的內(nèi)容拷貝到內(nèi)存i結(jié)點(diǎn)中,并設(shè)置i.count為1。
(3)分配文件表
這是指為已打開(kāi)的文件分配一個(gè)文件表項(xiàng),使文件表項(xiàng)中的f.node指向內(nèi)存索引結(jié)
點(diǎn)。通常還將讀寫(xiě)指針f.offset置為0,以表示從頭開(kāi)始讀/寫(xiě)此文件;置讀寫(xiě)標(biāo)志
f.flag,及將文件的引用計(jì)數(shù)f.count加1,并記入該表項(xiàng)的首址fp。
(4)分配用戶文件描述表項(xiàng)
在用戶文件描述表中取得一空表項(xiàng)。若成功,便將fp填入該表項(xiàng)中,并把該表項(xiàng)的序
號(hào)fd作為文件描述符,寫(xiě)入調(diào)用進(jìn)程的U區(qū)中。
8..在Linux系統(tǒng)中,一個(gè)盤塊大小為1KB,每個(gè)盤塊號(hào)占4B,則一個(gè)進(jìn)程要訪問(wèn)一
個(gè)相對(duì)于文件開(kāi)始的偏移量為263168B處的數(shù)據(jù)時(shí),計(jì)算是直接還是索引訪問(wèn),幾級(jí)索
引?
【解答】一次間接。
263168B/1024B=257
即該地址在第257塊。
塊內(nèi)偏移量為:263168-1024*257=0
因10<257<266
故為一次間接。
9.有一個(gè)UNIX文件的權(quán)限為:rwxr_x___,該文件的文件主為uid=12,gid=l,有
一用戶B的uid=6,gid=l,問(wèn):系統(tǒng)是否允許用戶B執(zhí)行該文件?為什么?
【解答】允許。
因?yàn)閁ID為用戶標(biāo)識(shí)符。說(shuō)明用戶B與該文件主為同組用戶。
10.說(shuō)明Linux系統(tǒng)磁盤的結(jié)構(gòu)及各部分的功能。
【解答】(1)
0號(hào)塊1號(hào)塊2號(hào)塊…K號(hào)塊(索引結(jié)點(diǎn)區(qū))文件區(qū)
(2)0號(hào)塊存放引導(dǎo)程序,是引導(dǎo)區(qū),1號(hào)塊是超級(jí)塊,也叫超級(jí)塊,存放文件卷的
管理信息,索引節(jié)點(diǎn)區(qū)存放各文件的索引結(jié)點(diǎn);文件區(qū)存放文件的內(nèi)容。
11.磁盤容量為1.2GB的硬盤,假設(shè)盤塊大小為1KB,每個(gè)盤塊號(hào)在FAT表區(qū)占
4B,你作為磁盤的設(shè)計(jì)人員,應(yīng)設(shè)FAT區(qū)為多長(zhǎng)?
【解答】1.2GB=1.2M*1KB
即1.2GB/1KB=I.2M
磁盤由1.2個(gè)磁盤塊組成。
1.2*4B=4.8MB
所以磁盤的FAT表區(qū)長(zhǎng)度應(yīng)為4.8MB
12.設(shè)在linux中有一進(jìn)程P,P中有一操作需要訪問(wèn)一文件中偏移量為14000處的數(shù)
據(jù);試問(wèn)linux如何實(shí)現(xiàn)地址變換?
【解答】(1)核心將14000換為邏輯塊號(hào)13及塊內(nèi)偏移量688;
(2)判斷,因10<13<266,故為一次間址;
(3)從i.add(lO)中取得盤塊號(hào),設(shè)為x;
(4)調(diào)用bread過(guò)程讀x盤塊;
(5)在一次間址中的文件邏輯塊號(hào)為3(從0編);
(6)從中得實(shí)際塊號(hào),設(shè)為y;
(7)則該塊中的688B即為所求。
13.多操作系統(tǒng)中提供了文件重命名功能,它能賦予文件一個(gè)新名字。若進(jìn)行文件復(fù)
制,并給復(fù)制文件起一個(gè)名字,然后刪除舊文件,也能達(dá)到給文件重命名的目的。試問(wèn)這
兩種方法在實(shí)現(xiàn)上有何不同?
【解答】使用文件重命名功能時(shí),用戶必須提供兩個(gè)參數(shù):舊文件名,新文件名。實(shí)
現(xiàn)該功能時(shí),系統(tǒng)使用舊文件名查找文件目錄,若找到舊文件名所對(duì)應(yīng)的目錄表目,則將
目錄表中文件名字段對(duì)應(yīng)的值改為新文件名值。從實(shí)現(xiàn)過(guò)程看,文件重命名功能完成的工
?10?操作系統(tǒng)實(shí)訓(xùn)
作是修改目錄表中的文件名字段,除文件名外,文件的其它特性都未改變。
在后一種實(shí)現(xiàn)方法中,先進(jìn)行文件復(fù)制并給復(fù)制文件起一個(gè)新名,此時(shí)系統(tǒng)完成了一
次物理文件的復(fù)制操作,然后刪除舊文件。雖然這樣也能實(shí)現(xiàn)給文件重命名的目的,但其
實(shí)現(xiàn)過(guò)程比前一種方式復(fù)雜,并且新文件與舊文件的物理存放地址肯定不同。
14.在利用link系統(tǒng)調(diào)用進(jìn)行連接時(shí),如果path1=/usr/zhang/ff.c,
path2=/usr/li/message/ff.c,試畫(huà)出此時(shí)的樹(shù)型目錄圖。
【解答】在樹(shù)型文件系統(tǒng)中,每一個(gè)文件都有一路徑名。例如,用戶zhang的文件
ff.c的路徑名為/usr/zhang/ff.c。如果用戶li要共享此文件,可利用系統(tǒng)調(diào)用
link(pathl,path2)
與文件ff.c建立連接。其中參數(shù)
path1=/usr/zhang/ff.c
path2=/usr/li/message/ff.c>
即在li的message目錄文件中創(chuàng)建一個(gè)新目錄項(xiàng)。建立連接后的樹(shù)型目錄結(jié)構(gòu)圖如
15.在實(shí)現(xiàn)文件共享時(shí),如果不先進(jìn)行連接,會(huì)產(chǎn)生什么后果?
【解答】建立連接的目的,一方面是為共享該文件的用戶增加一新的文件路徑名,另
一方面是讓系統(tǒng)知道有多少個(gè)用戶需要使用該文件。在每次連接時(shí),該文件的索引結(jié)點(diǎn)訪
問(wèn)計(jì)數(shù)會(huì)增加lo共享該文件時(shí),若無(wú)建立連接的操作,系統(tǒng)就無(wú)法知道是否還有用戶需
要該文件,其后果可能是:當(dāng)用戶要使用該文件時(shí),發(fā)現(xiàn)該文件已被刪除;或者在用戶使
用該文件期間,文件突然比刪除。
第3章進(jìn)程管理課后習(xí)題解答
1.操作系統(tǒng)為什么要引入進(jìn)程的概念?
【解答】程序在并發(fā)執(zhí)行方式下,運(yùn)行時(shí)具有異步性的特征。這樣,就需要一個(gè)數(shù)據(jù)
結(jié)構(gòu)PCB來(lái)記錄程序的狀態(tài),以及控制其狀態(tài)轉(zhuǎn)換所需的一些信息。因此,將PCB、程
序、數(shù)據(jù)三者組成一個(gè)完整的實(shí)體,就是進(jìn)程實(shí)體。進(jìn)程是程序的一次執(zhí)行,引入進(jìn)程的
概念,便于操作系統(tǒng)對(duì)于程序的運(yùn)行進(jìn)行控制。
2.試比較進(jìn)程和程序的區(qū)別。
【解答】進(jìn)程和程序之間存在著密切的聯(lián)系,但它們是兩個(gè)完全不同的概念。它們之
間的主要區(qū)別是:
(1)程序是靜態(tài)的概念,本身可以作為一種軟件資源長(zhǎng)期保存著;而進(jìn)程則是程序
的一次執(zhí)行過(guò)程。它是動(dòng)態(tài)的概念。
(2)進(jìn)程是一個(gè)能獨(dú)立運(yùn)行的單位,能與其它進(jìn)程并發(fā)執(zhí)行。進(jìn)程是作為資源申請(qǐng)
和調(diào)度單位存在的;而通常的程序是不能作為一個(gè)獨(dú)立運(yùn)行的單位而并發(fā)執(zhí)行的。
(3)程序和進(jìn)程無(wú)一一對(duì)應(yīng)的關(guān)系。一個(gè)程序可由多個(gè)進(jìn)程共用;另一方面,一個(gè)
進(jìn)程在其活動(dòng)中又可順序地執(zhí)行若干個(gè)程序。一個(gè)程序,運(yùn)行一次,便創(chuàng)建了一個(gè)進(jìn)程;
同一個(gè)程序,若運(yùn)行十次,就產(chǎn)生了十個(gè)進(jìn)程。
(4)各個(gè)進(jìn)程在并發(fā)執(zhí)行過(guò)程中會(huì)產(chǎn)生相互制約關(guān)系,造成各自前進(jìn)速度的不可預(yù)
測(cè)性。而程序本身是靜態(tài)的,不存在這種異步特征。
3.程序并發(fā)執(zhí)行,為什么會(huì)失去封閉性和可再現(xiàn)性?
【解答】在程序并發(fā)執(zhí)行的環(huán)境下,多個(gè)進(jìn)程共享系統(tǒng)中的資源,這些資源是否被使
用,及每一時(shí)刻由哪個(gè)進(jìn)程使用,將由多個(gè)進(jìn)程的相互作用而決定。這樣,程序的執(zhí)行就
失去了封閉性。某個(gè)進(jìn)程的執(zhí)行必然受到其它進(jìn)程的影響。
由于進(jìn)程在并發(fā)執(zhí)行的過(guò)程中失去了封閉性,當(dāng)下一次再運(yùn)行該程序時(shí),系統(tǒng)中存在
的進(jìn)程及各進(jìn)程的狀態(tài)都可能發(fā)生變化,導(dǎo)致進(jìn)程的執(zhí)行失去可再現(xiàn)性。
4.什么叫進(jìn)程的并發(fā)性?試舉一個(gè)進(jìn)程并發(fā)執(zhí)行的例子。
【解答】多個(gè)進(jìn)程在同一時(shí)間間隔內(nèi)同時(shí)發(fā)生,叫做進(jìn)程的并發(fā)性。
例如:我們?cè)贚inux系統(tǒng)下使用編輯器vi進(jìn)行編輯,而此時(shí)系統(tǒng)正在后臺(tái)運(yùn)行一個(gè)編
譯程序,此時(shí),兩個(gè)進(jìn)程并發(fā)執(zhí)行。
5.舉一個(gè)例子,說(shuō)明一個(gè)程序可能同時(shí)屬于多個(gè)進(jìn)程。
【解答】例如:超市的收銀系統(tǒng)。在每個(gè)終端上,收銀員在運(yùn)行收款程序,因此每個(gè)
收銀員都在執(zhí)行一個(gè)進(jìn)程。超市里同時(shí)有很多收款終端,同一個(gè)程序被并發(fā)執(zhí)行多次,造
成了多個(gè)進(jìn)程并發(fā)執(zhí)行。
6.試說(shuō)明PCB的作用,為什么說(shuō)PCB是進(jìn)程存在的惟一標(biāo)志?
【解答】PCB的作用是:在一個(gè)在多道程序環(huán)境下,集中反映了一個(gè)進(jìn)程的動(dòng)態(tài)特
征。在進(jìn)程并發(fā)執(zhí)行時(shí),由于資源共享,帶來(lái)各進(jìn)程之間的相互制約。顯然,為了反映這
些制約關(guān)系和資源共享關(guān)系,必須使用PCB中的信息,才能對(duì)進(jìn)程實(shí)施有效的管理和控
制。
?12?操作系統(tǒng)實(shí)訓(xùn)
PCB是進(jìn)程實(shí)體的一部分,是操作系統(tǒng)中非常重要的數(shù)據(jù)結(jié)構(gòu),存放著進(jìn)程所需的運(yùn)
行信息和控制信息,系統(tǒng)在創(chuàng)建進(jìn)程時(shí),首先創(chuàng)建PCB,然后通過(guò)PCB感知進(jìn)程的存
在,進(jìn)程在被撤消時(shí),PCB也隨之被撤消。因此,PCB是進(jìn)程存在的惟一標(biāo)志。
7.說(shuō)明進(jìn)程由哪幾部分構(gòu)成?
【解答】進(jìn)程實(shí)體通常就是由程序、數(shù)據(jù)集合和PCB這三部分構(gòu)成,也稱為“進(jìn)程映
像”。
8.什么叫臨界區(qū)?為什么進(jìn)程在進(jìn)入臨界區(qū)之前,要先執(zhí)行申請(qǐng)操作,離開(kāi)臨界
區(qū),要做釋放操作?
【解答】將每個(gè)進(jìn)程中訪問(wèn)臨界資源的那段代碼稱為臨界區(qū),因此也可以說(shuō):不能被
多個(gè)進(jìn)程同時(shí)進(jìn)入的程序或數(shù)據(jù)區(qū)域叫做臨界區(qū)。
因?yàn)榕R界區(qū)不能由多個(gè)進(jìn)程同時(shí)進(jìn)入,因此,在進(jìn)入臨界區(qū)之前,要先執(zhí)行申請(qǐng)操
作,確保在沒(méi)有其它進(jìn)程進(jìn)入的情況下,該進(jìn)程才能進(jìn)入該臨界區(qū);在離開(kāi)臨界區(qū)之前,
要做釋放操作,以便其它進(jìn)程可以進(jìn)入該臨界區(qū)。
9.試說(shuō)明進(jìn)程的基本狀態(tài)及轉(zhuǎn)換的原因。
【解答】在操作系統(tǒng)中,進(jìn)程通常至少有三種基本狀態(tài):就緒狀態(tài)、執(zhí)行狀態(tài)、阻塞
狀態(tài)。
進(jìn)程狀態(tài)轉(zhuǎn)換的原因是:系統(tǒng)中的進(jìn)程是并發(fā)執(zhí)行的。在系統(tǒng)中,CPU在不同的時(shí)
間,按一定的算法為不同的進(jìn)程服務(wù);系統(tǒng)中的資源是有限的;各進(jìn)程之間存在相互作
用。因此,進(jìn)程并非固定處于某個(gè)狀態(tài),它將隨著自身的推進(jìn)和外界條件的變化而發(fā)生變
化。對(duì)于一個(gè)系統(tǒng),處于就緒狀態(tài)的進(jìn)程,在調(diào)度程序?yàn)橹峙淞颂幚頇C(jī)之后,該進(jìn)程便
由就緒態(tài)轉(zhuǎn)變?yōu)閳?zhí)行狀態(tài)。當(dāng)前進(jìn)程,如果因分配給它的時(shí)間片已用完而被暫停執(zhí)行時(shí),
該進(jìn)程便由執(zhí)行狀態(tài)又回到就緒狀態(tài);一個(gè)處在執(zhí)行狀態(tài)的進(jìn)程,因?yàn)榈却惩獠渴录l(fā)
生,而使該進(jìn)程狀態(tài)轉(zhuǎn)變?yōu)樽枞麪顟B(tài)。一個(gè)處于阻塞狀態(tài)的進(jìn)程,當(dāng)它所需的外部事件滿
足,它應(yīng)由阻塞狀態(tài)變?yōu)榫途w狀態(tài)。
10.在創(chuàng)建一個(gè)進(jìn)程時(shí),所要做的工作有哪些?
【解答】操作系統(tǒng)通過(guò)進(jìn)程創(chuàng)建原語(yǔ)來(lái)創(chuàng)建一個(gè)進(jìn)程。創(chuàng)建原語(yǔ)通過(guò)下述步驟創(chuàng)建一
個(gè)進(jìn)程:
(1)申請(qǐng)空白PCBo
(2)為新進(jìn)程分配資源。
(3)初始化進(jìn)程控制塊。
(4)將新建進(jìn)程插入就緒態(tài)隊(duì)列。
11.從概念上說(shuō)明記錄型信號(hào)量的構(gòu)成,描述wait原語(yǔ)和signal原語(yǔ)所進(jìn)行的操作。
【解答】記錄型信號(hào)量的數(shù)據(jù)結(jié)構(gòu)由兩部分構(gòu)成,即:數(shù)值分量和指針?lè)至?。?shù)值表
示系統(tǒng)中可用的該類臨界資源的數(shù)量,而指針?lè)至繛檫M(jìn)程鏈表指針,指向等待該類資源的
PCB隊(duì)列。
申請(qǐng)臨界資源的原語(yǔ)wait操作可描述為:
procedurewait(S)
varS:semaphore;
begin
s:=s-l;
ifs20then本進(jìn)程繼續(xù);
else
將本進(jìn)程放入阻塞態(tài)隊(duì)列;
轉(zhuǎn)進(jìn)程調(diào)度
end
釋放臨界資源的原語(yǔ)signal操作可描述為:
proceduresignal(S)
varS:semaphore;
begin
s:=s+l;
ifsWOthen喚醒指針L所指的阻塞態(tài)進(jìn)程;;
end
12.在生產(chǎn)者一消費(fèi)者問(wèn)題中,如果缺少了signal(fuU)或signal(empty),對(duì)執(zhí)行結(jié)果
將會(huì)有何影響?
【解答】若缺少釋放資源的原語(yǔ)操作,則會(huì)導(dǎo)致生產(chǎn)者或消費(fèi)者進(jìn)程不能再繼續(xù)工
作。
如缺少了signal(full),則消費(fèi)者進(jìn)程可能得不到所需的臨界資源如緩沖區(qū),不能取一
件產(chǎn)品;
同樣地,如果缺少signal(empty),則生產(chǎn)者進(jìn)程又可能得不到所需的資源,不能存放
一件產(chǎn)品。
13.在生產(chǎn)者一消費(fèi)者問(wèn)題中,如果兩個(gè)wait操作即wait(mutex)和wait(empty)位置
互換,會(huì)產(chǎn)生什么后果?
【解答】如果兩個(gè)wait操作即wait(mutex)和wait(empty)位置互換,則有可能產(chǎn)生死
鎖。
14.進(jìn)程的高級(jí)通信方式有哪幾種?
【解答】高級(jí)通信方式可分為三大類:共享存儲(chǔ)器系統(tǒng)、消息傳遞系統(tǒng)和管道通信系
統(tǒng)。
在共享存儲(chǔ)器系統(tǒng)中,相互通信的進(jìn)程共享某些數(shù)據(jù)結(jié)構(gòu)或共享存儲(chǔ)區(qū);消息傳遞系
統(tǒng)中,進(jìn)程間的數(shù)據(jù)交換以消息為單位,用戶直接利用系統(tǒng)提供的一組通信原語(yǔ)來(lái)實(shí)現(xiàn)通
信,消息傳遞系統(tǒng)可分為消息緩沖通信和信箱通信;管道通信通信的方法是,向管道提供
輸入的發(fā)送進(jìn)程以字符流形式將大量的數(shù)據(jù)送入管道,而接受管道輸出的接收進(jìn)程可從管
道中接收數(shù)據(jù)。
15.什么是線程?說(shuō)明它與進(jìn)程的主要區(qū)別。
【解答】線程是進(jìn)程中執(zhí)行運(yùn)算的最小單位,亦即執(zhí)行處理機(jī)調(diào)度的基本單位。
線程與進(jìn)程的的主要區(qū)別:
(1)調(diào)度性方面:進(jìn)程是資源分配的基本單位。而線程是分配處理機(jī)的基本單位,
它與資源分配無(wú)關(guān)。即真正在處理機(jī)上運(yùn)行的是線程。
(2)擁有資源方面:進(jìn)程是擁有資源的獨(dú)立單位,而線程基本是不擁有資源的。同
一進(jìn)程的線程共用該進(jìn)程的資源。
(3)并發(fā)性方面:進(jìn)程和線程都可以并發(fā)執(zhí)行。但同一個(gè)進(jìn)程的線程在并發(fā)執(zhí)行
?14?操作系統(tǒng)實(shí)訓(xùn)
時(shí),狀態(tài)轉(zhuǎn)換速度較快。
(4)系統(tǒng)開(kāi)銷方面:進(jìn)程在創(chuàng)建、狀態(tài)轉(zhuǎn)換、撤消時(shí)開(kāi)銷較大,而對(duì)于同樣的工
作,線程的開(kāi)銷較小。
16.什么是多線程機(jī)制?引入它有什么好處?
【解答】多線程機(jī)制是指操作系統(tǒng)支持在一個(gè)進(jìn)程內(nèi)執(zhí)行多個(gè)線程的能力。
引入線程的好處有以下幾點(diǎn):
(1)易于調(diào)度。由于線程只作為獨(dú)立調(diào)度的基本單位,同一進(jìn)程的多個(gè)線程共享進(jìn)
程的資源,所以線程易于切換。
(2)提高了系統(tǒng)的效率。通過(guò)線程可方便有效地實(shí)現(xiàn)并發(fā)性。進(jìn)程可創(chuàng)建多個(gè)線程
來(lái)執(zhí)行同一程序的不同部分。
(3)創(chuàng)建一個(gè)線程比創(chuàng)建一個(gè)進(jìn)程花費(fèi)的開(kāi)銷少,創(chuàng)建速度快。
(4)在多處理器的系統(tǒng)中,有利于發(fā)揮多處理器的功能,提高進(jìn)程的并行性。
17.在讀者一寫(xiě)者問(wèn)題中,如果修改問(wèn)題中的同步算法,要求對(duì)寫(xiě)進(jìn)程優(yōu)先,即一旦
寫(xiě)進(jìn)程到達(dá),后續(xù)的讀者進(jìn)程必須等待,而無(wú)論是否有讀者進(jìn)程在讀文件。寫(xiě)出相應(yīng)進(jìn)程
的程序段。
【解答】增加一個(gè)信號(hào)量S,用于在寫(xiě)進(jìn)程到達(dá)后封鎖后續(xù)的讀進(jìn)程。
semaphoreS=l;
在讀進(jìn)程開(kāi)頭,增加兩句:
P(S);
V(S);
即所有訪問(wèn)該文件的進(jìn)程,在申請(qǐng)讀以前,先申請(qǐng)信號(hào)量S。如果沒(méi)有寫(xiě)進(jìn)程,則可
以直接通過(guò);如果存在寫(xiě)進(jìn)程,則該信號(hào)量S申請(qǐng)不到,該讀者進(jìn)程等待。
對(duì)于寫(xiě)進(jìn)程,首先該申請(qǐng)信號(hào)量S,由于讀者進(jìn)程申請(qǐng)到以后接著釋放該信號(hào)量,所
以寫(xiě)者進(jìn)程更容易申請(qǐng)到So寫(xiě)者進(jìn)程申請(qǐng)到S以后,直到寫(xiě)操作完成以后才釋放該信號(hào)
量。因此,讀者進(jìn)程和寫(xiě)進(jìn)程改為:
Var:rmutex,wmutex:semaphore:=l,1;
Readcount:integer:=0;
begin
parbegin
讀者進(jìn)程:
Reader:
begin
repeat
wait(s);
signal(s);
wait(rmutex);
ifreadcount=0thenwait(wmutex);
readcount:=Readcount+1;
signal(nnutcx);
進(jìn)行讀操作;
wait(rmutex);
readcount:=readcount-l;
ifreadcount=0thensignal(wmutex);
signal(rmutex);
untilfalse;
end
寫(xiě)者進(jìn)程:
writer:
begin
repeat
wait(s);
wait(wmutex);
執(zhí)行寫(xiě)操作;
signal(wmutex);
signal(s);
untilfalse;
end
parend
end
18.試?yán)糜涗浶托盘?hào)量寫(xiě)出一個(gè)不會(huì)出現(xiàn)死鎖的哲學(xué)家進(jìn)餐問(wèn)題的算法。
【解答】有多種算法可解決該問(wèn)題。
方法(1)至多只允許有四位哲學(xué)家同時(shí)去拿左邊的筷子。
實(shí)現(xiàn)方法:在每個(gè)進(jìn)程的程序段前定義一個(gè)信號(hào)量S,初值為4,每個(gè)哲學(xué)家在使用
筷子之前,先申請(qǐng)信號(hào)量S,吃完放下筷子后,再釋放S。各進(jìn)程執(zhí)行的程序段為:
Pi()
Begin
S:semaphore=4
Varchopstick:array[0,4]ofsemaphore=[1,1,1,1,1];
repeat
wait(s);
wait(chopstick(i]);
wait(chopstick[(i+l)mod5]);
eat;
signal(chopstick[i]);
signal(chopstick[(i+1)mod5]);
signal(s);
think;
untilfalse;
end
方法(2)僅當(dāng)哲學(xué)家的左、右兩只筷子均可用時(shí).,才允許他拿起筷子進(jìn)餐。解決的
方法:可用AND型信號(hào)量。各進(jìn)程執(zhí)行的程序段為:
Pi()
begin
?16?操作系統(tǒng)實(shí)訓(xùn)
Varchopstick:array[0,4]ofsemaphore=[1,1,1,1,1];
repeat
wait(chopstick[i],chopstick[(i+l)mod5]);
eat;
signal(chopstick[i|,chopstick[(i+l)mod5]);
think;
untilfalse;
end
方法(3)規(guī)定奇數(shù)號(hào)哲學(xué)家先拿他左邊的筷子,然后再去拿右邊的筷子;而偶數(shù)號(hào)
哲學(xué)家則相反。
實(shí)現(xiàn)的方法:在第i個(gè)哲學(xué)家所執(zhí)行的程序段中判定i的值是偶數(shù)還是奇數(shù),然后再
做資源申請(qǐng)。各進(jìn)程執(zhí)行的程序段為:
Pi()
begin
Varchopstick:array[0,4]ofsemaphore=[1,1,1,1J];
repeat
ifimod2==1then
)wait(chopstick|i|);
wait(chopstick[(i+l)mod5]);}
else
{wait(chopstickl(i+1)mod5]);
wait(chopstick[i]);)
eat:
signal(chopstick[i]);
signal(chopstick[(i+l)mod5]);
think;
untilfalse;
end
19.設(shè)公共汽車上有一位司機(jī)和一位售票員,它們的活動(dòng)如下:
售票員進(jìn)程:
開(kāi)車門
關(guān)車門
售票
請(qǐng)分析司機(jī)與售票員之間的同步關(guān)系,如何用P、V操作實(shí)現(xiàn)。
【解答】為了安全起見(jiàn),顯然要求:關(guān)車門后才能啟動(dòng)車輛;到站后才能開(kāi)車門。所
以司機(jī)和售票員在到站、開(kāi)門、關(guān)門、啟動(dòng)車輛這幾個(gè)活動(dòng)之間存在著同步關(guān)系。兩個(gè)信
號(hào)量SI、S2分別表示可以開(kāi)車和可以開(kāi)門,S1的初值為1,S2的初值為0。用PV操作實(shí)
現(xiàn)司機(jī)進(jìn)程和售票員進(jìn)程同步的算法描述如下:
semaphoresl,s2:=l,0;
main()
{cobegin
driver();
busman();
coend
)
driver()
{
while(l)
p(sl);
啟動(dòng)車輛;
正常行車:
到站停車;
V(s2);
)
busman()
{while(l)
P(s2);
開(kāi)車門;
等待上下乘客;
關(guān)車門;
V(sl);
售票;
)
[注:為提高系統(tǒng)的效率,提高進(jìn)程的并發(fā)性,將售票放在汽車行駛的過(guò)程中。]
第4章存儲(chǔ)管理課后習(xí)題解答
i.存儲(chǔ)管理的功能是什么?
【解答】存儲(chǔ)管理的主要功能是:
(1)內(nèi)存分配。內(nèi)存分配的任務(wù)是為每道作業(yè)分配一定的內(nèi)存空間。往往會(huì)出現(xiàn)多
道程序?qū)?nèi)存的需求總和超過(guò)實(shí)際內(nèi)存空間,因此,制定分配策略時(shí)應(yīng)以提高內(nèi)存利用率
為目標(biāo)。
(2)地址轉(zhuǎn)換映射。一個(gè)應(yīng)用程序經(jīng)編譯后形成很多目標(biāo)程序,這些目標(biāo)程序經(jīng)過(guò)
連接后形成可執(zhí)行程序。需要把邏輯地址轉(zhuǎn)換成物理地址。
(3)內(nèi)存保護(hù)。內(nèi)存保護(hù)的任務(wù)是確保每道用戶程序都在自己的內(nèi)存空間中運(yùn)行,
?18?操作系統(tǒng)實(shí)訓(xùn)
互不干擾。
(4)內(nèi)存擴(kuò)充。在多道程序環(huán)境中,內(nèi)存資源比較緊張,往往會(huì)出現(xiàn)多道程序?qū)?nèi)
存的需求總和超過(guò)實(shí)際容量的情況。這時(shí)要進(jìn)行內(nèi)存擴(kuò)充,擴(kuò)充的方式采用虛擬存儲(chǔ)器的
方式進(jìn)行。
2.存儲(chǔ)分配的方式有幾種?
【解答】存儲(chǔ)分配的方式有連續(xù)存儲(chǔ)分配和非連續(xù)的存儲(chǔ)方式兩大類。
連續(xù)的存儲(chǔ)分配的方式包括單連續(xù)存儲(chǔ)分配、固定分區(qū)分配方式、動(dòng)態(tài)分區(qū)分配方
式、可重定位的分區(qū)分配方式。非連續(xù)的存儲(chǔ)分配方式包括分段存儲(chǔ)管理、分頁(yè)存儲(chǔ)管
理、段頁(yè)式存儲(chǔ)管理三種方式。
3.什么叫虛擬存儲(chǔ)器?
【解答】基于局部性的原理,作業(yè)在裝入之前,沒(méi)有必要一次性裝入內(nèi)存,僅將要運(yùn)
行的部分裝入到內(nèi)存,其余的仍然放在磁盤上。當(dāng)程序要訪問(wèn)的頁(yè)沒(méi)有裝入到內(nèi)存時(shí),將
它們裝入到內(nèi)存,繼續(xù)運(yùn)行。若內(nèi)存已經(jīng)滿,則將內(nèi)存中暫時(shí)不用的頁(yè)調(diào)出內(nèi)存,釋放所
占的內(nèi)存空間,將要訪問(wèn)的頁(yè)調(diào)入內(nèi)存執(zhí)行。這樣就可以在較大的程序調(diào)到一個(gè)較小的內(nèi)
存空間上運(yùn)行。從用戶角度看,該系統(tǒng)所具有的內(nèi)存容量比實(shí)際的內(nèi)存容量要大的多,人
們把這樣的存儲(chǔ)器稱為虛擬存儲(chǔ)器。
4.簡(jiǎn)述目前常用的幾種分區(qū)分配方式。
【解答】目前常用的分區(qū)分配方式有分頁(yè)存儲(chǔ)管理、分段存儲(chǔ)管理、段頁(yè)式存儲(chǔ)管
理、請(qǐng)求分頁(yè)式存儲(chǔ)管理、請(qǐng)求分段式存儲(chǔ)管理和請(qǐng)求段頁(yè)式存儲(chǔ)管理。
5.簡(jiǎn)述請(qǐng)求頁(yè)式存儲(chǔ)管理的實(shí)現(xiàn)思想。
【解答】請(qǐng)求分頁(yè)式存儲(chǔ)管理是建立在頁(yè)式存儲(chǔ)管理的基礎(chǔ)之上的一種存儲(chǔ)管理方
式。是一種常用的虛擬存儲(chǔ)方式。它需要軟、硬件的支持。換進(jìn)和換出的基本單位是頁(yè)
面。
6.缺頁(yè)中斷和一般中斷的區(qū)別是什么?
【解答】缺頁(yè)中斷作為中斷,同樣要經(jīng)過(guò)CPU現(xiàn)場(chǎng)、分析中斷原因、轉(zhuǎn)缺頁(yè)中斷處理
程序進(jìn)行處理、恢復(fù)CPU現(xiàn)場(chǎng)等步驟。但缺頁(yè)中斷又是一種特殊的中斷,它與一般中斷的
主要區(qū)別是:
(1)在指令執(zhí)行期間產(chǎn)生和處理中斷信號(hào)。通常,CPU都是在一條指令執(zhí)行完后去
檢查是否有中斷請(qǐng)求到達(dá)。若有則去響應(yīng)中斷;否則繼續(xù)執(zhí)行下一條指令。而缺頁(yè)中斷是
在指令執(zhí)行期間,發(fā)現(xiàn)所要訪問(wèn)的指令或數(shù)據(jù)不在內(nèi)存時(shí)產(chǎn)生和處理的。
(2)一條指令在執(zhí)行期間可能產(chǎn)生多次缺頁(yè)中斷。例如,對(duì)于一條讀取數(shù)據(jù)的多字
節(jié)指令,指令本身跨越兩個(gè)頁(yè)面,假定指令后一部分所在頁(yè)面和數(shù)據(jù)所在的頁(yè)面均不在內(nèi)
存,則該指令的執(zhí)行至少產(chǎn)生兩次缺頁(yè)中斷。
7.已知頁(yè)面走向?yàn)?、2、1、3、1、2、4、2、1、3、4,且開(kāi)始執(zhí)行時(shí)主存中沒(méi)有頁(yè)
面。若只給該作業(yè)分配兩個(gè)物理塊,當(dāng)采用FIFO頁(yè)面淘汰算法時(shí)缺頁(yè)率為多少?假定現(xiàn)
在有一種淘汰算法,該算法淘汰頁(yè)面的策略為當(dāng)需要淘汰頁(yè)面時(shí),就把剛使用過(guò)的頁(yè)面作
為淘汰對(duì)象,試問(wèn)相同的頁(yè)面走向,其缺頁(yè)率又為多少?
【解答】在進(jìn)行內(nèi)存訪問(wèn)時(shí),若訪問(wèn)的頁(yè)以在主存,則稱此次訪問(wèn)成功。若訪問(wèn)的頁(yè)
不在主存,則稱此次訪問(wèn)失敗。并產(chǎn)生缺頁(yè)中斷。若程序P在運(yùn)行過(guò)程中訪問(wèn)頁(yè)面的總次
數(shù)為S,其中產(chǎn)生缺頁(yè)中斷的訪問(wèn)次數(shù)為f,則其缺頁(yè)率為f/s.
采用FIFO淘汰算法的頁(yè)面置珈的情詞如表4-1所示:
頁(yè)率為9/11。
若采用后一種頁(yè)面淘汰策略,其頁(yè)面置換的情況為:
8.表給出了某系統(tǒng)中的空閑分區(qū)表,系統(tǒng)采用可變分區(qū)存儲(chǔ)管理策略。現(xiàn)有以下的作業(yè)
序列:96k、20K、200K?若用首次適應(yīng)算法和最佳適應(yīng)算法來(lái)處理這些作業(yè)序列,試問(wèn)
哪一種算法可以滿足該作業(yè)序列的要求?為什么?
表4-3
分區(qū)號(hào)大小起始地址
132k100k
210k150k
35k200k
4218k220k
596k530k
【解答】首次適應(yīng)算法要求空閑分區(qū)按地址遞增的次序排列,在進(jìn)行內(nèi)存分配時(shí),總
是從空閑分區(qū)表首開(kāi)始順序查找,直到找到第一個(gè)能滿足大小要求的空閑分區(qū)為止。然后
再按作業(yè)大小,從該分區(qū)劃出一塊內(nèi)存空間分配給請(qǐng)求者。余下的空閑分區(qū)仍然留在空閑
分區(qū)表中。
最佳適應(yīng)算法要求空閑分區(qū)按大小遞增的次序排列。在進(jìn)行內(nèi)存分配時(shí),總是從空閑
分區(qū)首開(kāi)始順序查尋,直到找到第一個(gè)能滿足其大小的空閑分區(qū)為止。如果該空閑分區(qū)大
于作業(yè)的大小,則與首次適應(yīng)算法相同,將剩余空閑區(qū)仍留在空閑分區(qū)表中。
若采用最佳適用算法,在申請(qǐng)96K存儲(chǔ)區(qū)時(shí),選中的是5號(hào)分區(qū),5號(hào)分區(qū)大小與申
表4-4
?20?操作系統(tǒng)實(shí)訓(xùn)
請(qǐng)空間大小一致,應(yīng)從空閑分區(qū)表中刪去該表項(xiàng);接著申請(qǐng)20K時(shí),選中1號(hào)分區(qū),分配
后2號(hào)分區(qū)還剩12K;最后申請(qǐng)200K,選中4號(hào)分區(qū),分配后剩18K。顯然采用最佳適應(yīng)
算法進(jìn)行內(nèi)存分配,可以滿足該作業(yè)序列的需求。為作業(yè)序列分配了內(nèi)存空間后,空閑分
區(qū)表如表44所示。
分區(qū)號(hào)大小起始地址
112k100k
210k150k
35k200k
418k220k
表4-5
分區(qū)號(hào)大小起始地址
112k100k
210k150k
35k200k
4122k220k
596k530k
9.在某系統(tǒng)中,采用固定分區(qū)分配管理方式中,內(nèi)存分區(qū)(單位字節(jié))情況如下圖所
示?,F(xiàn)有大小為Ik,9k,33K,121k的多個(gè)作業(yè)要求進(jìn)入內(nèi)存,試畫(huà)出它們進(jìn)入內(nèi)存后
的空間分配情況,并說(shuō)明主存浪費(fèi)多大?
【解答】該題有四個(gè)分區(qū),第一分區(qū)大小為8k,第二分區(qū)大小為32k,第三分區(qū)大小為
120k,第四分區(qū)大小為332k.該作業(yè)進(jìn)入系統(tǒng)后的內(nèi)存分配情況如下面的圖形所示。
想作系統(tǒng)第一分區(qū)
第二分區(qū)
.第三分區(qū)
.第四分區(qū)
512k-l
圖4-1圖4-2
從圖中可以看出,作業(yè)進(jìn)入系統(tǒng)后,第一分區(qū)剩余空間為7k,第二分區(qū)剩余空間為
23k,第三個(gè)分區(qū)剩余空間為87k,第四個(gè)分區(qū)剩余空間為211k,主存空間浪費(fèi)328k。
10.有一個(gè)分頁(yè)存儲(chǔ)管理系統(tǒng),頁(yè)面大小為每頁(yè)100字節(jié)。有一個(gè)50X50的整型數(shù)
組,按行連續(xù)存放,每個(gè)整數(shù)占兩個(gè)字節(jié),將數(shù)組初始化為0的程序描述如下:
inta|501(50];
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 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ì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 農(nóng)村水電安裝合同范例
- 傭金合同范例版
- 產(chǎn)品經(jīng)理雇傭合同范例
- 農(nóng)民購(gòu)煙合同范例
- 農(nóng)村荒地承包合同范例
- 公館車位出租合同范例
- 養(yǎng)雞場(chǎng)安全管理合同范例
- 臨沂購(gòu)房合同范例
- 企業(yè)仿真采購(gòu)合同范例
- 俱樂(lè)部公關(guān)合同范例
- 外浮頂儲(chǔ)罐·內(nèi)浮頂儲(chǔ)罐泡沫堰PPT
- 魏晉南北朝時(shí)期園林-課件
- 甘肅省平?jīng)鍪懈骺h區(qū)鄉(xiāng)鎮(zhèn)行政村村莊村名明細(xì)及行政區(qū)劃代碼
- (完整版)初中道德與法治課程標(biāo)準(zhǔn)
- 自動(dòng)化腹膜透析(APD)的臨床應(yīng)用課件
- 滌綸長(zhǎng)絲生產(chǎn)標(biāo)準(zhǔn)工藝簡(jiǎn)介
- 數(shù)字圖像處理-6第六章圖像去噪課件
- 監(jiān)理施工設(shè)計(jì)圖紙簽發(fā)表
- GB∕T 38058-2019 民用多旋翼無(wú)人機(jī)系統(tǒng)試驗(yàn)方法
- DB43∕T 801-2013 二次張拉低回縮鋼絞線豎向預(yù)應(yīng)力短索錨固體系設(shè)計(jì)、施工和驗(yàn)收規(guī)范
- 附表1:網(wǎng)絡(luò)及信息安全自查表
評(píng)論
0/150
提交評(píng)論