




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、-作者xxxx-日期xxxx操作系第3版(孟慶昌)答案【精品文檔】部分習(xí)題參考答案針對(duì)書中習(xí)題的重點(diǎn)和難點(diǎn)部分給出參考答案,而其余習(xí)題可在書中相應(yīng)章節(jié)處得到答案。第 1 章3操作系統(tǒng)是裸機(jī)之上的第一層軟件,它只在核心態(tài)模式下運(yùn)行,受硬件保護(hù),與硬件關(guān)系尤為密切。操作系統(tǒng)是整個(gè)計(jì)算機(jī)系統(tǒng)的控制管理中心,其他所有軟件都建立在操作系統(tǒng)之上。操作系統(tǒng)對(duì)它們既具有支配權(quán)力,又為其運(yùn)行建造必備環(huán)境。4脫機(jī)I/O是指輸入/輸出工作不受主機(jī)直接控制,而由衛(wèi)星機(jī)專門負(fù)責(zé)完成I/O,主機(jī)專門完成快速計(jì)算任務(wù),從而二者可以并行操作。聯(lián)機(jī)I/O是指作業(yè)的輸入、調(diào)入內(nèi)存及結(jié)果輸出都在CPU直接控制下進(jìn)行。8硬件 是指計(jì)
2、算機(jī)物理裝置本身,它是計(jì)算機(jī)系統(tǒng)的物理基礎(chǔ)。如CPU、內(nèi)存、設(shè)備等。軟件 是相對(duì)硬件而言的,它是與數(shù)據(jù)處理系統(tǒng)的操作有關(guān)的計(jì)算機(jī)程序、過程、規(guī)則及相關(guān)文檔資料的總稱。簡單地說,軟件是計(jì)算機(jī)執(zhí)行的程序。多道程序設(shè)計(jì) 在這種設(shè)計(jì)技術(shù)下,內(nèi)存中能同時(shí)存放多道程序,在管理程序的控制下交替地執(zhí)行。這些作業(yè)共享CPU和系統(tǒng)中的其他資源。并發(fā) 是指兩個(gè)或多個(gè)活動(dòng)在同一給定的時(shí)間間隔中進(jìn)行。它是宏觀上的概念。吞吐量 在一段給定的時(shí)間內(nèi),計(jì)算機(jī)所能完成的總工作量。分時(shí) 就是對(duì)時(shí)間的共享。在分時(shí)系統(tǒng)中,分時(shí)主要是指若干并發(fā)程序?qū)PU時(shí)間的共享。實(shí)時(shí) 表示“及時(shí)”或“即時(shí)”。系統(tǒng)調(diào)用 是用戶在程序中能以“函數(shù)調(diào)用
3、”形式調(diào)用的、由操作系統(tǒng)提供的子功能的集合。每一個(gè)子功能稱做一條系統(tǒng)調(diào)用命令。它是操作系統(tǒng)對(duì)外的接口,是用戶級(jí)程序取得操作系統(tǒng)服務(wù)的唯一途徑。10通常,大家會(huì)熟悉以下操作系統(tǒng):Windows 2000,Windows XP,UNIX或Linux。在上機(jī)工作過程中,操作系統(tǒng)為用戶提供的服務(wù)包括:命令和數(shù)據(jù)輸入/輸出的管理,內(nèi)存的分配,用戶文件的管理,CPU的分配,設(shè)備管理等。12當(dāng)執(zhí)行操作系統(tǒng)程序時(shí),處理機(jī)處于核心態(tài)。它有較高的特權(quán),可以執(zhí)行所有的指令,包括一般用戶程序中不能使用的特權(quán)指令,從而能對(duì)所有寄存器和內(nèi)存進(jìn)行訪問、啟動(dòng)I/O操作等。用戶程序是在用戶態(tài)下執(zhí)行,它的權(quán)限較低,只能執(zhí)行指令集
4、中非特權(quán)指令。設(shè)置這兩種不同狀態(tài)的目的是為了保護(hù)操作系統(tǒng)程序(特別是其內(nèi)核部分),防止受到用戶程序的損害。13只在核心態(tài)下執(zhí)行的指令有:屏蔽所有中斷。設(shè)置時(shí)鐘日期。啟動(dòng)打印機(jī)。清內(nèi)存。14實(shí)時(shí)系統(tǒng)的一個(gè)重要特征就是對(duì)時(shí)間的嚴(yán)格限制和要求。實(shí)時(shí)系統(tǒng)的首要任務(wù)是調(diào)度一切可利用的資源完成實(shí)時(shí)控制任務(wù),其次才著眼于提高計(jì)算機(jī)系統(tǒng)的使用效率。所以,設(shè)計(jì)實(shí)時(shí)操作系統(tǒng)必須首先考慮處理各種事件的時(shí)間限制。15特權(quán)指令是一類只能在核心態(tài)下執(zhí)行的機(jī)器指令。而系統(tǒng)調(diào)用不是機(jī)器指令,它往往以函數(shù)調(diào)用的形式出現(xiàn),實(shí)現(xiàn)操作系統(tǒng)提供的子功能,它是操作系統(tǒng)與用戶的編程接口。在用戶程序中可以使用系統(tǒng)調(diào)用來獲得操作系統(tǒng)服務(wù)。在系
5、統(tǒng)調(diào)用代碼中可以使用特權(quán)指令。16結(jié)構(gòu)關(guān)系清晰,提高系統(tǒng)的可靠性和安全性。各層模塊的功能明確,提高系統(tǒng)的可擴(kuò)充性和可移植性。各層間具有單向依賴性,增強(qiáng)系統(tǒng)的可維護(hù)性。符合軟件工程的思想,便于實(shí)施研制開發(fā)。18精減核心的功能,提供了一種簡單的高度模塊化的體系結(jié)構(gòu),提高了系統(tǒng)設(shè)計(jì)及使用的靈活性。可移植性好。所有與具體機(jī)器特征相關(guān)的代碼,全部隔離在微內(nèi)核中??缮炜s性好。操作系統(tǒng)能方便地進(jìn)行定制、擴(kuò)充或縮減,以適應(yīng)硬件的快速更新和應(yīng)用需求的不斷變化。實(shí)時(shí)性好。微內(nèi)核可以方便地支持實(shí)時(shí)處理。提供多線程機(jī)制,支持多處理器的體系結(jié)構(gòu)和分布式系統(tǒng)及計(jì)算機(jī)網(wǎng)絡(luò)。系統(tǒng)安全性好。傳統(tǒng)的操作系統(tǒng)將安全性功能建立在內(nèi)核
6、之外,因而它并不是很安全的。而微內(nèi)核則將安全性作為系統(tǒng)內(nèi)特性來進(jìn)行設(shè)計(jì)。第 2 章1由于多道程序并發(fā)執(zhí)行時(shí)共享系統(tǒng)資源,共同決定這些資源的狀態(tài),因此系統(tǒng)中各程序在執(zhí)行過程中就出現(xiàn)了相互制約的新關(guān)系,程序的執(zhí)行出現(xiàn)“走走停停”的新狀態(tài)。用程序這個(gè)靜態(tài)概念已不能如實(shí)反映程序并發(fā)執(zhí)行過程中的這些特征。為此,人們引入了“進(jìn)程(Process)”這一概念來描述程序動(dòng)態(tài)執(zhí)行過程的性質(zhì)。進(jìn)程和程序是兩個(gè)完全不同的概念。進(jìn)程與程序的主要區(qū)別如表C-1所示。表C-1進(jìn) 程程 序進(jìn)程是動(dòng)態(tài)概念程序是靜態(tài)概念進(jìn)程具有并發(fā)性,宏觀上同時(shí)運(yùn)行程序本身具有順序性,程序的并發(fā)執(zhí)行是通過進(jìn)程實(shí)現(xiàn)的進(jìn)程具有獨(dú)立性,是一個(gè)能獨(dú)立
7、運(yùn)行的單位,是系統(tǒng)資源分配的基本單位,是運(yùn)行調(diào)度的基本單位程序本身沒有此特性程序和進(jìn)程無一一對(duì)應(yīng)關(guān)系,一個(gè)進(jìn)程可順序執(zhí)行多個(gè)程序一個(gè)程序可由多個(gè)進(jìn)程共用進(jìn)程異步前進(jìn),會(huì)相互制約程序不具備此特性然而,進(jìn)程與程序之間存在密切關(guān)系,進(jìn)程的功能是通過程序的運(yùn)行得以實(shí)現(xiàn)的,進(jìn)程活動(dòng)的主體是程序。進(jìn)程不能脫離開具體程序而獨(dú)自存在。2PCB是進(jìn)程組成中最關(guān)鍵的部分。每個(gè)進(jìn)程有唯一的進(jìn)程控制塊;操作系統(tǒng)根據(jù)PCB對(duì)進(jìn)程實(shí)施控制和管理,進(jìn)程的動(dòng)態(tài)、并發(fā)等特征是利用PCB表現(xiàn)出來的;PCB是進(jìn)程存在的唯一標(biāo)志。PCB中有表明進(jìn)程狀態(tài)的信息,該進(jìn)程的狀態(tài)包括運(yùn)行態(tài)、就緒態(tài)和阻塞態(tài),它利用狀態(tài)信息來描述進(jìn)程的動(dòng)態(tài)性質(zhì)
8、。4(1)就緒運(yùn)行:CPU空閑,就緒態(tài)進(jìn)程被調(diào)度程序選中。運(yùn)行阻塞:運(yùn)行態(tài)進(jìn)程因某種條件未滿足而放棄對(duì)CPU的占用,如等待讀文件。阻塞就緒:阻塞態(tài)進(jìn)程所等待的事件發(fā)生了,例如讀數(shù)據(jù)的操作完成。運(yùn)行就緒:正在運(yùn)行的進(jìn)程用完了本次分配給它的CPU時(shí)間片。(2)下述狀態(tài)變遷:(A)21,可以。運(yùn)行進(jìn)程用完了本次分配給它的時(shí)間片,讓出CPU,從就緒隊(duì)列中選一個(gè)進(jìn)程投入運(yùn)行。(B)32,不行。任何時(shí)候一個(gè)進(jìn)程只能處于一種狀態(tài),它既然由運(yùn)行態(tài)變?yōu)樽枞麘B(tài),就不能再變?yōu)榫途w態(tài)。(C)41,可以。某一阻塞態(tài)進(jìn)程等待的事件出現(xiàn)了,而且此時(shí)就緒隊(duì)列為空,該進(jìn)程進(jìn)入就緒隊(duì)列后馬上又被調(diào)度運(yùn)行。8不是所有的共享資源都是
9、臨界資源。因?yàn)榕R界資源是一次僅允許一個(gè)進(jìn)程使用的資源,而系統(tǒng)中有很多資源可以讓多個(gè)進(jìn)程同時(shí)使用,例如硬盤、正文段等。10因?yàn)榇蛴C(jī)是一種臨界資源,所以這三個(gè)進(jìn)程只能互斥使用這臺(tái)打印機(jī),即一個(gè)用戶的計(jì)算結(jié)果打印完之后,另一個(gè)用戶再打印。設(shè)三個(gè)進(jìn)程分別為A, B和C,如圖C-1所示。設(shè)一個(gè)互斥信號(hào)量為mutex,其初值為1。圖C-111(1)這個(gè)算法不對(duì)。因?yàn)锳, B兩進(jìn)程共用一個(gè)緩沖區(qū)Q,如果A先運(yùn)行,且信息數(shù)量足夠多,那么緩沖區(qū)Q中的信息就會(huì)發(fā)生后面的沖掉前面的,造成信息丟失,B就不能從Q中讀出完整的信息。改正:A, B兩進(jìn)程要同步使用緩沖區(qū)Q。為此,設(shè)立兩個(gè)信號(hào)量。empty 緩沖區(qū)Q為空,
10、初值為1。full 緩沖區(qū)Q為滿,初值為0。算法框圖如圖C-2所示。(2)這個(gè)算法不對(duì)。因?yàn)锳, B兩個(gè)進(jìn)程是并發(fā)的,它們共享一個(gè)臨界資源,所以二者應(yīng)互斥地使用該臨界資源,在進(jìn)入臨界區(qū)時(shí)不存在A先B后的時(shí)序關(guān)系,而是哪個(gè)進(jìn)程先到一步就先進(jìn)入自己的臨界區(qū)。改正:A, B兩個(gè)進(jìn)程應(yīng)互斥地進(jìn)入臨界區(qū)。為此,設(shè)立一個(gè)信號(hào)量:互斥信號(hào)量為mutex,其初值為1。算法框圖如圖C-3所示。 圖C-2 圖C-312(1)如圖C-4所示,系統(tǒng)可設(shè)三個(gè)進(jìn)程來完成這個(gè)任務(wù):R進(jìn)程負(fù)責(zé)從卡片輸入機(jī)上讀入卡片信息,輸入到緩沖區(qū)B1中;C進(jìn)程負(fù)責(zé)從緩沖區(qū)B1中取出信息,進(jìn)行加工處理,之后將結(jié)果送到緩沖區(qū)B2中;P進(jìn)程負(fù)責(zé)
11、從緩沖區(qū)B2中取出信息,并在打印機(jī)上印出。圖C-4(2)R進(jìn)程受C進(jìn)程影響,B1放滿信息后R進(jìn)程要等待,等到C進(jìn)程將其中信息全部取走,才能繼續(xù)讀入信息;C進(jìn)程受R進(jìn)程和P進(jìn)程的約束,B1中信息放滿后C進(jìn)程才可從中取出它們,且B2被取空后C進(jìn)程才可將加工結(jié)果送入其中;P進(jìn)程受C進(jìn)程的約束,B2中信息放滿后P進(jìn)程才可從中取出它們,進(jìn)行打印。(3)信號(hào)量含義及初值:B1full 緩沖區(qū)B1滿,初值為0。B1empty 緩沖區(qū)B1空,初值為1。B2full 緩沖區(qū)B2滿,初值為0。B2empty 緩沖區(qū)B2空,初值為1。13(1) 輸入、輸出兩組進(jìn)程讀/寫緩沖區(qū)需要的條件是: 所有進(jìn)程都要互斥使用緩沖
12、區(qū)。 所有輸入進(jìn)程連續(xù)寫入緩沖區(qū)的個(gè)數(shù)不能超過緩沖區(qū)的總?cè)萘浚╪)。 輸出進(jìn)程不能超前輸入進(jìn)程。 設(shè)置三個(gè)信號(hào)量:full 放有信息的緩沖區(qū)數(shù),其初值為0。empty 可供使用的緩沖區(qū)數(shù),其初值為n。mutex 互斥信號(hào)量,初值為1,表示各進(jìn)程互斥進(jìn)入臨界區(qū),即保證任何時(shí)候只有一個(gè)進(jìn)程使用緩沖區(qū)。兩個(gè)計(jì)數(shù)變量:in和out分別是輸入進(jìn)程和輸出進(jìn)程使用的計(jì)數(shù)量,表示下面使用的緩沖區(qū)編號(hào),初值都是0。 輸入進(jìn)程: 輸出進(jìn)程: while(TRUE) while(TRUE) P(empty); P(full); P(mutex); P(mutex); 信息送往buffer(in); 從buffer(
13、out)中取出信息 in=(in+1)mod n; /*以n為模*/ out=(out+1)mod n; /*以n為模*/ V(mutex); V(mutex); V(full); V(empty); (2) 輸入、輸出兩組進(jìn)程讀/寫緩沖區(qū)需要的條件是所有進(jìn)程都要互斥使用緩沖區(qū);輸出進(jìn)程不能超前輸入進(jìn)程。 信號(hào)量:full 緩沖區(qū)滿的情況,初值為0。mutex 互斥信號(hào)量,初值為1。計(jì)數(shù)器:i=0, j=0 (i, j分別為輸入進(jìn)程和輸出進(jìn)程使用的緩沖區(qū)號(hào)碼)。 輸入進(jìn)程: 輸出進(jìn)程: while(TRUE) while(TRUE) P(mutex); P(full); 信息送往buffer(
14、i); P(mutex); i=i+1; 從buffer(j)中取出信息; V(mutex); j=j+1; V(full); V(mutex); 14(1)完成此項(xiàng)工作可編寫一個(gè)程序(函數(shù))或者兩個(gè)程序(函數(shù))。每個(gè)讀者對(duì)應(yīng)一個(gè)進(jìn)程。當(dāng)一個(gè)讀者進(jìn)入閱覽室時(shí),就為他建立一個(gè)進(jìn)程;當(dāng)讀者離開閱覽室時(shí),就終止該進(jìn)程??梢?,有多少個(gè)讀者到來就要有多少個(gè)進(jìn)程。而完成工作的程序代碼可以是一個(gè),或者二個(gè),這是各個(gè)讀者進(jìn)程共用的。(2)信號(hào)量:S 座位情況,初值為100。mutex 互斥使用登記表,初值為1。有兩種解法,分別對(duì)應(yīng)利用一個(gè)程序(函數(shù))編寫和利用二個(gè)程序(函數(shù))編寫。第一種解法 第二種解法(一個(gè)
15、函數(shù),用自然語言描述) (二個(gè)函數(shù),用C語言描述) 每位讀者進(jìn)程 typedef struct /* 定義結(jié)構(gòu)型信號(hào)量 */ int value; struct PCB *list; semaphore; semaphore s=100; P(S)semaphore mutex=1; P(mutex)void main() 查表,登記 V(mutex)register( ); /*查表并登記*/ 入室,閱讀reading( ); /*閱讀*/ P(mutex)delete( ); /*查表并刪除登記項(xiàng)*/ 出室查表,刪除登記項(xiàng) V(mutex)void register( ) V(S) P(S
16、); P(mutex); Check_register( ); V(mutex); void delete( ) P(mutex); Check_delete( ); V(mutex); V(S); 15在生產(chǎn)者-消費(fèi)者問題中,如果對(duì)調(diào)生產(chǎn)者進(jìn)程中的兩個(gè)P操作,形如:生產(chǎn)者進(jìn)程Producer: while(TRUE) P(mutex); P(empty); V(mutex); V(full);當(dāng)緩沖區(qū)全滿時(shí),只要有一個(gè)生產(chǎn)者進(jìn)程試圖進(jìn)入臨界區(qū),并在empty信號(hào)量上阻塞,所有消費(fèi)者進(jìn)程都無法進(jìn)入自己的臨界區(qū),從而無法使該進(jìn)程醒來。于是,所有生產(chǎn)者進(jìn)程和消費(fèi)者進(jìn)程都無限期地處于阻塞狀態(tài),從而出
17、現(xiàn)死鎖。然而,如果對(duì)調(diào)生產(chǎn)者進(jìn)程中的兩個(gè)V操作,并不出現(xiàn)任何故障,只是從進(jìn)程退出臨界區(qū)的角度考慮,應(yīng)越快越好。如果對(duì)調(diào)消費(fèi)者進(jìn)程中的兩個(gè)P操作,也會(huì)產(chǎn)生同樣問題。16信號(hào)量所能傳遞的信息量是非常有限的,通信效率低。如果用它實(shí)施進(jìn)程間數(shù)據(jù)的傳送就會(huì)增加程序的復(fù)雜性,使用起來也很不方便,甚至?xí)蚴褂貌划?dāng)而產(chǎn)生死鎖。為了解決進(jìn)程間消息通信問題,人們研究和設(shè)計(jì)了高級(jí)通信機(jī)構(gòu)。其主要優(yōu)點(diǎn)是:不僅能較好地解決進(jìn)程間的同步互斥問題,還能交換大量信息;由操作系統(tǒng)隱藏了進(jìn)程通信的實(shí)現(xiàn)細(xì)節(jié),即通信過程對(duì)用戶是透明的,從而大大簡化了編制通信程序的復(fù)雜性。當(dāng)某個(gè)進(jìn)程需要向另一個(gè)進(jìn)程發(fā)送消息時(shí),就向系統(tǒng)申請(qǐng)一個(gè)消息緩沖
18、區(qū),并把要發(fā)送的數(shù)據(jù)送到消息緩沖區(qū),然后把該消息緩沖區(qū)插入到接收進(jìn)程的消息隊(duì)列中。接收進(jìn)程在接收消息時(shí),只需從本進(jìn)程的消息隊(duì)列中摘下該緩沖區(qū),并從中取出所需的信息,然后把該緩沖區(qū)交還給系統(tǒng)。17設(shè)隧道一端為A,另一端為B。每輛汽車為一個(gè)進(jìn)程。A、B兩端的汽車進(jìn)程分別用P_Ai和P_Bi(i=1,2 ,3)表示。雙方通過隧道的方式相同:首先提出申請(qǐng);獲準(zhǔn)后進(jìn)入隧道,本方進(jìn)入隧道的汽車計(jì)數(shù)加1;如果是本方第一輛車過隧道,則阻塞對(duì)方汽車過隧道;若對(duì)方無車輛等待,則本方可以連續(xù)放行多臺(tái)車輛進(jìn)入隧道;汽車通過隧道;本方進(jìn)入隧道的汽車計(jì)數(shù)減1;如果是目前本方最后一輛車(即目前本方無車輛過隧道),則放行對(duì)方
19、汽車通過。設(shè)置信號(hào)量:wait: 等待申請(qǐng)的互斥信號(hào)量,初值為1;mutexA: 放行A方汽車過隧道的互斥信號(hào)量,初值為1;mutexB: 放行B方汽車過隧道的互斥信號(hào)量,初值為1;計(jì)數(shù)變量:count1=0;count2=0;過隧道算法描述:P_Ai : P_Bi :P(wait); P(wait); P(mutexA); P(mutexB); count1=count1+1; count2=count2+1; if(count1=1) if(count2=1)P(mutexB); P(mutexA); V(mutexA); V(mutexB); V(wait); V(wait); 汽車通過
20、隧道; 汽車通過隧道; P(mutexA); P(mutexB); count1=count1-1; count2=count2-1; if(count1=0) if(count2=0)V(mutexB); V(mutexA); V(mutexA); V(mutexB);18本題是典型的讀者-寫者問題。查詢信息的用戶是讀者,訂票用戶是寫者,并且要求寫者優(yōu)先?!窘夥?】讀者-寫者按先后順序交叉訪問數(shù)據(jù)庫,如圖C-5所示。圖C-5 計(jì)數(shù)變量:rc 正在運(yùn)行的查詢者進(jìn)程數(shù)目,初值為0。信號(hào)量:Sw 控制訂票者進(jìn)程的活動(dòng),初值為1。Src 互斥使用rc變量,初值為1。S 當(dāng)訂票者到達(dá)時(shí)封鎖后續(xù)的讀進(jìn)程
21、,初值為1?!窘夥?】保證寫者優(yōu)先于讀者,即一旦有寫者到達(dá)時(shí),則新讀者要等待。信號(hào)量:rmutex當(dāng)至少有一個(gè)寫者到達(dá)時(shí),阻止所有讀者訪問的互斥操作信號(hào)量,初值為1。wmutex寫者間以及讀者與寫者間互斥操作信號(hào)量,初值為1。x控制readcount變量修改的互斥信號(hào)量,初值為1。y控制writecount變量修改的互斥信號(hào)量,初值為1。z有寫者時(shí),只允許一個(gè)讀者在rmutex上排隊(duì),其他讀者在信號(hào)量z上排隊(duì),初值為1。計(jì)數(shù)變量:readcount讀者計(jì)數(shù)器,初值為0。它控制對(duì)wmutex的設(shè)置。writecount寫者數(shù)目,初值為0。它控制對(duì)rmutex的設(shè)置。 讀者進(jìn)程 寫者進(jìn)程 whil
22、e(TRUE) while(TRUE) P(z); P(y); P(rmutex); writecount +; P(x); if(writecount = =1) readcount +; P(rmutex); if(readcount = =1) V(y); P(wmutex); P(wmutex); V(x); 執(zhí)行寫操作 V(rmutex); V(wmutex); V(z); P(y); 執(zhí)行讀操作 writecount -; P(x); if(writecount = =0) readcount-; V(rmutex); if(readcount = =0) V(y); V(wmut
23、ex); V(x); 19除學(xué)生進(jìn)程、教師進(jìn)程外,為保證系統(tǒng)控制流程,需另設(shè)一個(gè)監(jiān)控進(jìn)程,用于控制學(xué)生的進(jìn)入和計(jì)算機(jī)的分配,如圖C-6所示。信號(hào)量:student 學(xué)生到達(dá)情況,初值為0。computer 計(jì)算機(jī)分配情況,初值為2m。enter 能否進(jìn)入機(jī)房情況,初值為0。finish 學(xué)生完成情況,初值為0。check 檢查工作完成情況,初值為0。圖C-620如圖C-7所示。信號(hào)量:S_M0=1,S_M1=2,S_M2=3,S_M3=2各個(gè)信箱中可用格子的信號(hào)量。S0=2,S1=0,S2=0,S3=0 各個(gè)信箱中信息的信號(hào)量。mutex0,mutex1,mutex2,mutex3 互斥使用各
24、信箱的信號(hào)量,初值均為1。圖C-726用一個(gè)信號(hào)量表示一根筷子,五個(gè)信號(hào)量構(gòu)成信號(hào)量數(shù)組chopstick5,所有信號(hào)量初值為1。第i個(gè)哲學(xué)家的進(jìn)餐過程可描述如下:while(TRUE) 思考問題 P(chopsticki); P(chopstick(i+1)mod 5); 進(jìn)餐 V(chopsticki; V(chopstick(i+1)mod 5); #define N 5 #define LEFT (i-1)%N #define RIGHT (i+1)%N #define THINKING 0 #define HUNGRY 1 #define EATING 2 typedef struc
25、t /* 定義結(jié)構(gòu)型信號(hào)量 */ int value; struct PCB *list; semaphore; int stateN; semaphore chopstick 5 =1,1,1,1,1; semaphore mutex=1; /* 互斥進(jìn)入臨界區(qū) */ semaphore sN; /* 每位哲學(xué)家一個(gè)信號(hào)量 */ void philosopher(int i) while (TRUE) think(); /* 哲學(xué)家在思考問題 */ take_chopstick(i); /* 拿到兩根筷子或者等待 */ eat(); /* 進(jìn)餐 */ put_chopstick(i); /*
26、 把筷子放回原處 */ void take_chopstick(int i) P(mutex); statei=HUNGRY; test(i); /* 試圖拿兩根筷子 */ V(mutex); P(si); void put_chopstick(int i) P(mutex); statei=THINKING; test(LEFT); /* 查看左鄰,現(xiàn)在能否進(jìn)餐 */ test(RIGHT); /* 查看右鄰,現(xiàn)在能否進(jìn)餐 */ V(mutex); void test(int i) if (statei=HUNGRY & stateLEFT!=EATING & stateRIGHT!=EAT
27、ING) statei=EATING; V(si ); 第 3 章4解決死鎖的一般方法有:死鎖的預(yù)防、死鎖的避免、死鎖的檢測(cè)與恢復(fù)等三種。5死鎖預(yù)防的基本思想是:要求進(jìn)程申請(qǐng)資源時(shí)遵循某種協(xié)議,從而打破產(chǎn)生死鎖的4個(gè)必要條件中的一個(gè)或幾個(gè),保證系統(tǒng)不會(huì)進(jìn)入死鎖狀態(tài)。6死鎖避免的基本思想是:對(duì)進(jìn)程所發(fā)出的每一個(gè)申請(qǐng)資源命令加以動(dòng)態(tài)地檢查,并根據(jù)檢查結(jié)果決定是否進(jìn)行資源分配。就是說,在資源分配過程中若預(yù)測(cè)有發(fā)生死鎖的可能性,則加以避免。這種方法的關(guān)鍵是確定資源分配的安全性。8死鎖預(yù)防的有效方法是:資源有序分配策略 分類編號(hào),按序分配。死鎖避免的著名算法是銀行家算法。9會(huì)產(chǎn)生死鎖。設(shè)當(dāng)輪船距A橋10
28、0 m時(shí)就鳴笛警告,此時(shí)橋上無車輛,吊橋A就吊起。但是B橋上有車輛,而且由于A橋吊起,車輛無法前進(jìn),B橋上的車輛無法下橋。于是,輪船和車輛都不能前進(jìn),造成死鎖現(xiàn)象。一種防止死鎖的辦法是:當(dāng)輪船距A橋100 m時(shí)就鳴笛警告,車輛不能再上B橋。當(dāng)B橋上無車輛時(shí),就吊起B(yǎng)橋;然后,當(dāng)A橋上無車輛,則吊起A橋。輪船通過A橋和B橋后,兩個(gè)吊橋放下,車輛可以通行(這種方法相當(dāng)于資源的按序號(hào)分配)。10(1)能同時(shí)運(yùn)行的最大作業(yè)數(shù)是2,實(shí)際上空閑的磁帶機(jī)最少是2臺(tái),最多是4臺(tái)。(2)作業(yè)對(duì)磁帶機(jī)資源提出請(qǐng)求時(shí),系統(tǒng)判斷:若分配的話,系統(tǒng)是否仍處于安全狀態(tài)。在3個(gè)作業(yè)各分到3臺(tái)磁帶機(jī)的情況下,系統(tǒng)仍然是安全的
29、。所以,能同時(shí)運(yùn)行的最大作業(yè)數(shù)是3,實(shí)際上空閑的磁帶機(jī)最少和最多臺(tái)數(shù)各是0和1。11處于死鎖狀態(tài)的進(jìn)程都占有一定資源,而處于饑餓狀態(tài)的進(jìn)程永遠(yuǎn)得不到所申請(qǐng)的資源。死鎖是一種僵局,在無外力干預(yù)下,處于死鎖狀態(tài)的全部進(jìn)程都不能前進(jìn),即它們都處于阻塞態(tài),可能造成整個(gè)系統(tǒng)癱瘓;而出現(xiàn)饑餓時(shí)系統(tǒng)照常運(yùn)行,只是某個(gè)或某幾個(gè)進(jìn)程永遠(yuǎn)也不能得到所需的全部服務(wù)。造成死鎖的根本原因是資源有限且使用不當(dāng);而造成饑餓的原因是資源分配策略或調(diào)度策略不合適,如果采用先來先服務(wù)的資源分配策略就可以避免饑餓。發(fā)生死鎖時(shí),一定至少有一個(gè)資源被無限期地占用而得不到釋放;而饑餓出現(xiàn)時(shí),系統(tǒng)中的每個(gè)資源占有者都在有限的時(shí)間內(nèi)釋放它所
30、占用的資源。12(1)各路段作為“資源”,各車輛視為“進(jìn)程”。產(chǎn)生死鎖的4個(gè)必要條件:互斥條件 路段是獨(dú)占資源;占有且等待條件 各車輛都占有一段路段,且等待另一方車輛占有的路段;不可搶占條件 堵車,無法前進(jìn);循環(huán)等待條件 各路段上的車都堵住了。(2)一種可避免死鎖發(fā)生的簡單辦法是:設(shè)立紅綠信號(hào)燈,同一方向上兩個(gè)路口的紅綠燈同時(shí)變換,并且規(guī)定南北方向的車輛先行,過一段時(shí)間后,再放行東西方向的車輛。照此輪換。13可能死鎖。因?yàn)楫?dāng)進(jìn)程p1執(zhí)行P(s1),進(jìn)程p2執(zhí)行P(s3),進(jìn)程p3執(zhí)行P(s2)后,三個(gè)資源(即信號(hào)量s1, s2, s3)被三個(gè)進(jìn)程分別占用,下面任何一個(gè)進(jìn)程都無法得到所申請(qǐng)的資源
31、,于是都無限期地循環(huán)等待,造成死鎖。一個(gè)防止死鎖產(chǎn)生的修改辦法是:進(jìn)程申請(qǐng)信號(hào)量時(shí),按序申請(qǐng),如圖C-8所示。圖C-814(1)不會(huì)。因?yàn)檫@是一種搶占式分配資源的方式,它破壞了發(fā)生死鎖的4個(gè)必要條件之一,即不可搶占條件。(2)這種方式會(huì)使得某個(gè)(或某些)進(jìn)程無限地等待下去。因?yàn)槟硞€(gè)進(jìn)程如果需要的資源較多,系統(tǒng)當(dāng)前不能滿足其要求,則它被封鎖。然而后續(xù)的進(jìn)程接連搶走該進(jìn)程所分到的資源,使之回到初始狀態(tài),從而該進(jìn)程始終得不到所需的全部資源,出現(xiàn)“饑餓”現(xiàn)象。15設(shè)每個(gè)進(jìn)程對(duì)共享資源的最大需求量為max(0maxm),由于每個(gè)進(jìn)程最多申請(qǐng)使用max個(gè)資源,在最壞的情況下,每個(gè)進(jìn)程都得到(max-1)個(gè)
32、資源,并且都需要申請(qǐng)最后一個(gè)資源。此時(shí),系統(tǒng)剩余的資源為m-n(max-1)。只要系統(tǒng)還有一個(gè)資源可用,就可以使其中的一個(gè)進(jìn)程獲得所需的全部資源。進(jìn)而該進(jìn)程運(yùn)行結(jié)束后,釋放出它占用的資源,供其他進(jìn)程使用,從而所有的進(jìn)程都可以運(yùn)行完成。就是說,當(dāng)m-n(max-1)1時(shí),系統(tǒng)不會(huì)發(fā)生死鎖。整理該不等式,得到如下關(guān)系:nmax(m+n-1),所以,nmaxm+n。從而證明n個(gè)進(jìn)程所有最大需求量之和小于m+n時(shí),該系統(tǒng)不會(huì)產(chǎn)生死鎖。16 T0時(shí)刻是安全狀態(tài),因?yàn)榇嬖谝粋€(gè)安全序列 p4, p5, p1, p2, p3。 不能實(shí)現(xiàn)資源分配,因?yàn)樗S嗟馁Y源數(shù)量不夠。 可以分配。當(dāng)分配完成后,系統(tǒng)剩余的資
33、源向量為(0, 3, 2),這時(shí),仍可找到一個(gè)安全序列 p4, p5, p1, p2, p3。 不能分配。如果分配的話,則系統(tǒng)剩余的資源向量為(0, 1, 2),這時(shí)無法找到一個(gè)安全序列。第 4 章1處理機(jī)調(diào)度的主要目的就是為了分配處理機(jī)。4作業(yè)在其存在過程中分為提交、后備、執(zhí)行和完成4種狀態(tài)。6作業(yè)調(diào)度與進(jìn)程調(diào)度之間的差別主要是:作業(yè)調(diào)度是宏觀調(diào)度,它所選擇的作業(yè)只是具有獲得處理機(jī)的資格,但尚未占有處理機(jī),不能立即在其上實(shí)際運(yùn)行;而進(jìn)程調(diào)度是微觀調(diào)度,動(dòng)態(tài)地把處理機(jī)實(shí)際地分配給所選擇的進(jìn)程,使之真正活動(dòng)起來。另外,進(jìn)程調(diào)度相當(dāng)頻繁,而作業(yè)調(diào)度執(zhí)行的次數(shù)一般很少。作業(yè)調(diào)度從外存的后備隊(duì)列中選擇
34、一批作業(yè)調(diào)入內(nèi)存,為它們創(chuàng)建進(jìn)程,這些進(jìn)程被送入就緒隊(duì)列。進(jìn)程調(diào)度從就緒隊(duì)列中選出一個(gè)進(jìn)程來,并把它的狀態(tài)改為運(yùn)行態(tài),把CPU分配給它。當(dāng)運(yùn)行進(jìn)程要等待某一事件時(shí),就讓出CPU,進(jìn)入相應(yīng)的阻塞隊(duì)列,并進(jìn)行進(jìn)程調(diào)度。運(yùn)行進(jìn)程完成后,由作業(yè)調(diào)度進(jìn)行善后處理工作。7在確定調(diào)度方式和調(diào)度算法時(shí),常用的評(píng)價(jià)準(zhǔn)則有:CPU利用率、吞吐量、周轉(zhuǎn)時(shí)間、就緒等待時(shí)間和響應(yīng)時(shí)間。8FCFS見圖C-9。RR見圖C-10。非搶占式優(yōu)先級(jí)見圖C-11。圖C-9圖C-10圖C-11和FCFS見表C-2。RR見表C-3。非搶占式優(yōu)先級(jí)見表C-4。表C-2作 業(yè)到達(dá)時(shí)間運(yùn)行時(shí)間完成時(shí)間周轉(zhuǎn)時(shí)間帶權(quán)周轉(zhuǎn)時(shí)間10101010 2
35、111110 3221311 4311411 5451915 平均周轉(zhuǎn)時(shí)間平均帶權(quán)周轉(zhuǎn)時(shí)間 表C-3作 業(yè)到達(dá)時(shí)間運(yùn)行時(shí)間完成時(shí)間周轉(zhuǎn)時(shí)間帶權(quán)周轉(zhuǎn)時(shí)間1010 19 19211 2 1322 8 6431 5 2545 16 12平均周轉(zhuǎn)時(shí)間平均帶權(quán)周轉(zhuǎn)時(shí)間 表C-4作 業(yè)到達(dá)時(shí)間運(yùn)行時(shí)間完成時(shí)間周轉(zhuǎn)時(shí)間帶權(quán)周轉(zhuǎn)時(shí)間101010 1021119 18 32213 1143111 854518 14平均周轉(zhuǎn)時(shí)間平均帶權(quán)周轉(zhuǎn)時(shí)間 9和見表C-5和圖C-12。表C-5作 業(yè)到達(dá)時(shí)間進(jìn)入內(nèi)存時(shí)間結(jié)束時(shí)間周轉(zhuǎn)時(shí)間A8:008:009:1070B8:208:208:5030C8:309:1010:0090
36、D8:508:5010:2090平均周轉(zhuǎn)時(shí)間 70平均帶權(quán)周轉(zhuǎn)時(shí)間圖C-12采用非搶占優(yōu)先權(quán)方式見圖C-13和表C-6。圖C-13表C-6作 業(yè)到達(dá)時(shí)間進(jìn)入內(nèi)存時(shí)間結(jié)束時(shí)間周轉(zhuǎn)時(shí)間A8:008:008:4040B8:208:209:1050C8:308:4010:0090D8:509:1010:2090平均周轉(zhuǎn)時(shí)間平均帶權(quán)周轉(zhuǎn)時(shí)間 10由于要求在一臺(tái)處理機(jī)上按單道方式(即內(nèi)存中只有一個(gè)作業(yè))執(zhí)行,所以可采用的調(diào)度算法是先來先服務(wù)法(FCFS),短作業(yè)優(yōu)先法(SJF),高響應(yīng)比優(yōu)先法(HRRF)。而FCFS法一般不會(huì)使平均周轉(zhuǎn)時(shí)間最短。(1)按短作業(yè)優(yōu)先法,運(yùn)行次序?yàn)镴3, J4, J2, J5
37、, J1,如表C-7所示。表C-7作 業(yè)運(yùn)行時(shí)間完成時(shí)間周轉(zhuǎn)時(shí)間J19 30 30J26 14 14J33 3 3J45 8 8J57 21 21平均周轉(zhuǎn)時(shí)間(2)按高響應(yīng)比優(yōu)先法:響應(yīng)比=1+作業(yè)的等待時(shí)間/作業(yè)的執(zhí)行時(shí)間各作業(yè)的響應(yīng)比(作業(yè)3先執(zhí)行):RR1=1+3/9=1.333,RR2=1+3/6=1.500 RR4=1+3/5=,RR5=1+3/7=1.429 按響應(yīng)比高者優(yōu)先,則運(yùn)行次序?yàn)镴3, J4, J2, J5, J1。平均周轉(zhuǎn)時(shí)間為15.2。14硬件主要處理過程是:CPU中止當(dāng)前程序的正常執(zhí)行;保存原程序的程序計(jì)數(shù)器PC和程序狀態(tài)寄存器PS的內(nèi)容;取出盤I/O中斷向量,轉(zhuǎn)到
38、相應(yīng)的處理程序。軟件主要處理過程是:保存被中斷程序的現(xiàn)場(chǎng)(如通用寄存器的內(nèi)容);分析中斷原因,由中斷向量得到盤I/O中斷的處理程序地址;運(yùn)行盤I/O中斷處理程序,判斷I/O工作是否完成,如正常完成,則做I/O結(jié)束處理;執(zhí)行完中斷處理程序,核心恢復(fù)前面保存的現(xiàn)場(chǎng),進(jìn)程回到用戶態(tài)。15UNIX系統(tǒng)的進(jìn)程調(diào)度采用多級(jí)反饋隊(duì)列輪轉(zhuǎn)法;而Linux基本上采用“搶占式優(yōu)先級(jí)”方式。相同點(diǎn):調(diào)度方式都是以優(yōu)先級(jí)為基礎(chǔ)。即核心執(zhí)行調(diào)度時(shí),就從進(jìn)程就緒隊(duì)列中挑選一個(gè)優(yōu)先級(jí)最高的進(jìn)程,令其投入運(yùn)行。調(diào)度時(shí)機(jī)相似。都是在當(dāng)前進(jìn)程自身無法或不適宜繼續(xù)運(yùn)行的情況下,核心就執(zhí)行進(jìn)程調(diào)度。不同點(diǎn): 調(diào)度策略不同。(下略)
39、優(yōu)先級(jí)的計(jì)算方法不同。(下略)第 5 章9請(qǐng)求分頁技術(shù)與簡單分頁技術(shù)之間的根本區(qū)別是:請(qǐng)求分頁提供虛擬存儲(chǔ)器,而簡單分頁系統(tǒng)并未提供虛擬存儲(chǔ)器。10125C(H)11緊縮;段表地址寄存器中的段表長;段長12選擇題:(B)必須在CPU訪問之前移入主存(A)擴(kuò)大邏輯內(nèi)存容量 (B)減少(D)請(qǐng)求分頁 13. 649 2310 2311 訪問非法,產(chǎn)生中斷 1727 段越界,產(chǎn)生中斷14每一段在邏輯上是相對(duì)完整的一組信息。分段技術(shù)中的共享是在段一級(jí)出現(xiàn)的。這樣,任何共享的信息就可單獨(dú)成為一段。同樣,段中所有內(nèi)容可以用相同的方式進(jìn)行使用,從而規(guī)定相同的保護(hù)權(quán)限。然而,頁是信息的物理單位,在一頁中可能存
40、在邏輯上互相獨(dú)立的兩組或多組信息,各有不同的使用方式和存取權(quán)限,因而,對(duì)分頁難以進(jìn)行共享和保護(hù)。15見表C-8。表C-8內(nèi) 存 塊 數(shù)置 換 算 法FIFOLRUOPT31615115108716該訪問序列的頁面走向?yàn)?, 1, 0, 3, 1, 2, 4, 3,見表C-9。表C-9算 法FIFOLRUOPT缺頁次數(shù)675缺頁率17工作集是一個(gè)進(jìn)程在某一小段時(shí)間內(nèi)訪問頁面的集合。利用工作集模型可防止抖動(dòng),也可以進(jìn)行頁面置換。19減少多道程序的道數(shù)可能改善CPU的效率。因?yàn)榇藭r(shí)CPU的效率低,而磁盤的效率非常高,表明磁盤設(shè)備頻繁地進(jìn)行頁面的換入和換出。在此情況下,系統(tǒng)已不能完成什么任務(wù),因?yàn)楦鱾€(gè)
41、進(jìn)程都把它們的全部時(shí)間花在頁面置換上,系統(tǒng)出現(xiàn)了抖動(dòng)。此時(shí),為增加CPU利用率和消除抖動(dòng),必須減少多道程序度。20(1)本題中給定:每個(gè)內(nèi)存塊可存放200個(gè)整數(shù),有兩個(gè)內(nèi)存塊用于存放數(shù)組的數(shù)據(jù),數(shù)組元素按行存儲(chǔ)。對(duì)于程序A,數(shù)組訪問的順序是:a00 a01 a02 a099a10 a11 a12 a199a990 a991 a992 a9999可以看出,數(shù)組的存儲(chǔ)順序與訪問順序是一致的。這樣每訪問兩行數(shù)組元素就遇到一次缺頁中斷。如果采用LRU頁面置換算法,則會(huì)產(chǎn)生50次缺頁中斷。對(duì)于程序B,數(shù)組訪問的順序是:a00 a10 a20 a990a01 a11 a21 a991a099 a199 a
42、299 a9999可以看出,數(shù)組的存儲(chǔ)順序(按行存儲(chǔ))與訪問順序(按列訪問)不一致。這樣每訪問兩個(gè)數(shù)組元素就遇到一次缺頁中斷。如果采用LRU頁面置換算法,則會(huì)產(chǎn)生5 000次缺頁中斷。(2)若每頁只能存放100個(gè)整數(shù),對(duì)于程序A,數(shù)組的存儲(chǔ)順序與訪問順序是一致的。這樣每訪問一行數(shù)組元素就遇到一次缺頁中斷。如果采用LRU頁面置換算法,則會(huì)產(chǎn)生100次缺頁中斷。對(duì)于程序B,數(shù)組的存儲(chǔ)順序(按行存儲(chǔ))與訪問順序(按列訪問)不一致。這樣每訪問一個(gè)數(shù)組元素就遇到一次缺頁中斷。如果采用LRU頁面置換算法,則會(huì)產(chǎn)生10 000次缺頁中斷。上面的結(jié)果說明:頁面越大,缺頁中斷的次數(shù)越少;頁面越小,缺頁中斷次數(shù)越
43、多。另外,缺頁中斷次數(shù)還與程序的局部化性質(zhì)有關(guān)。第 6 章1文件 是被命名的相關(guān)信息的集合體,它通常存放在外存(如磁盤、磁帶)上,可以作為一個(gè)獨(dú)立單位存放并實(shí)施相應(yīng)的操作(如打開、關(guān)閉、讀、寫等)。文件系統(tǒng) 操作系統(tǒng)中負(fù)責(zé)操縱和管理文件的一整套設(shè)施,它實(shí)現(xiàn)文件的共享和保護(hù),方便用戶“按名存取”。目錄項(xiàng) 為了加快對(duì)文件的檢索,把文件控制塊集中在一起進(jìn)行管理。這種文件控制塊的有序集合稱為文件目錄。當(dāng)然,文件控制塊也是其中的目錄項(xiàng)。目錄文件 全由目錄項(xiàng)構(gòu)成的文件稱為目錄文件。路徑 在樹形目錄結(jié)構(gòu)中,從根出發(fā)經(jīng)由所需子目錄到達(dá)指定文件的通路。當(dāng)前目錄 為節(jié)省文件檢索的時(shí)間,每個(gè)用戶可以指定一個(gè)目錄作為
44、當(dāng)前工作目錄,以后訪問文件時(shí),就從這個(gè)目錄開始向下順序檢索。這個(gè)目錄就稱做當(dāng)前目錄。3UNIX系統(tǒng)中文件主要分為以下類型:普通文件、目錄文件和特別文件。4文件的邏輯組織 用戶對(duì)文件的觀察和使用是從自身處理文件數(shù)據(jù)時(shí)所采用的組織方式來看待文件組織形式。這種從用戶觀點(diǎn)出發(fā)所見到的文件組織形式稱為文件的邏輯組織。文件的物理組織 文件在存儲(chǔ)設(shè)備上的存儲(chǔ)組織形式稱為文件的物理組織。文件的邏輯組織有以下形式:有結(jié)構(gòu)文件和無結(jié)構(gòu)文件。有結(jié)構(gòu)文件又稱為記錄式文件,它在邏輯上可被看成一組連續(xù)順序記錄的集合,又可分為定長記錄文件和變長記錄文件兩種。無結(jié)構(gòu)文件是指文件內(nèi)部不再劃分記錄,它是由一組相關(guān)信息組成的有序字
45、符流,即流式文件。5文件的物理組織形式主要有:連續(xù)文件,鏈接文件,索引文件和多重索引文件。見表C-10。表C-10文件物理組織形式優(yōu) 點(diǎn)缺 點(diǎn)連續(xù)文件順序存取速度較快創(chuàng)建文件時(shí)就確定它的長度很難實(shí)現(xiàn);它不便于文件的動(dòng)態(tài)擴(kuò)充;可能出現(xiàn)外部碎片,從而造成浪費(fèi)鏈接文件克服了連續(xù)文件的缺點(diǎn)一般僅適于順序訪問,而不利于對(duì)文件的隨機(jī)存??;每個(gè)物理塊上增加一個(gè)連接字,為信息管理增加了一些麻煩索引文件除了具備鏈接文件的優(yōu)點(diǎn)之外,還克服了它的缺點(diǎn)需要增加索引表帶來的空間開銷。往往以內(nèi)存空間為代價(jià)來換取存取速度的改善多重索引文件除具有一般索引文件的優(yōu)點(diǎn)外,還可滿足對(duì)靈活性和節(jié)省內(nèi)存的要求間接索引需要多次訪盤而影響
46、速度7文件控制塊 用于描述和控制文件的數(shù)據(jù)結(jié)構(gòu),其中包括文件名、文件類型、位置、大小等信息。文件控制塊與文件一一對(duì)應(yīng),即在文件系統(tǒng)內(nèi)部,給每個(gè)文件唯一地設(shè)置一個(gè)文件控制塊,核心利用這種結(jié)構(gòu)對(duì)文件實(shí)施各種管理。8文件系統(tǒng)中的目錄結(jié)構(gòu)有:單級(jí)目錄結(jié)構(gòu)、二級(jí)目錄結(jié)構(gòu)、樹形目錄結(jié)構(gòu)和非循環(huán)圖目錄結(jié)構(gòu)。見表C-11。UNIX系統(tǒng)采用非循環(huán)圖目錄結(jié)構(gòu),即帶鏈接的樹形目錄結(jié)構(gòu)。表C-11文件系統(tǒng)目錄結(jié)構(gòu)優(yōu) 點(diǎn)缺 點(diǎn)單級(jí)目錄結(jié)構(gòu)簡單,能實(shí)現(xiàn)按名存取查找速度慢;不允許重名;不便于共享二級(jí)目錄結(jié)構(gòu)允許重名;提高了檢索目錄的速度仍不利于文件共享樹形目錄結(jié)構(gòu)文件的層次和隸屬關(guān)系清晰,便于實(shí)現(xiàn)不同級(jí)別的存取保護(hù)和文件系統(tǒng)的動(dòng)態(tài)裝卸只能在用戶級(jí)對(duì)文件進(jìn)行臨時(shí)共享非循環(huán)圖目錄結(jié)構(gòu)具有樹形結(jié)構(gòu)的優(yōu)點(diǎn),而且實(shí)現(xiàn)對(duì)文件的永久共享管理較復(fù)雜10文件的共享是指系統(tǒng)允許多個(gè)用戶(進(jìn)程)共同使用某個(gè)或某些文件。文件鏈接是給文件起別名,即將該文件的目錄項(xiàng)登記在鏈接目錄中。這樣,訪問該文件的路徑就不只一條。不同的用戶(或進(jìn)程)就可以利用各自的路徑來共享同一文件。11文件的后備就是把硬盤上的文件轉(zhuǎn)儲(chǔ)到其他外部介質(zhì)上。 將磁盤上的數(shù)據(jù)轉(zhuǎn)儲(chǔ)到磁帶上有兩種方式:物理轉(zhuǎn)儲(chǔ)和
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度離職賠償協(xié)議書陷阱應(yīng)對(duì)策略與賠償金支付指導(dǎo)合同
- 2025年度個(gè)人住房裝修貸款協(xié)議
- 4S店裝修工程委托書
- 2025年度房屋貸款房屋買賣合同書(含貸款期限變更)
- 交房租賃合同范本
- 2025年度實(shí)習(xí)教師與教育機(jī)構(gòu)教育質(zhì)量評(píng)估合作合同
- 時(shí)尚街區(qū)裝飾合作協(xié)議
- 債權(quán)交易合同范例
- 中國天線連接器項(xiàng)目投資可行性研究報(bào)告
- 新湖中寶信托計(jì)劃
- DB51T 1511-2022建設(shè)項(xiàng)目對(duì)自然保護(hù)區(qū)自然資源、自然生態(tài)
- 2024年湘教版初中地理一輪復(fù)習(xí)專題三 天氣與氣候
- 四級(jí)人工智能訓(xùn)練師(中級(jí))職業(yè)技能等級(jí)認(rèn)定考試題及答案
- 運(yùn)用HFMEA品管工具優(yōu)化臨床安全輸血流程醫(yī)院品質(zhì)管理獲獎(jiǎng)案例(護(hù)理部聯(lián)合臨床輸血科信息處)
- 《商務(wù)溝通-策略、方法與案例》課件 第八章 求職溝通
- 法律思維及案例培訓(xùn)
- Meta分析高分文獻(xiàn)匯報(bào)課件模板
- 養(yǎng)老院各職位崗位職責(zé)
- 市政工程混凝土排水溝設(shè)計(jì)方案
- 2024年湖北省武漢市中考英語真題(含解析)
- 燕窩采購合同模板
評(píng)論
0/150
提交評(píng)論