第一篇:操作系統(tǒng)第八章 文件復(fù)習(xí)題(答案)
第八章 文件
一、選擇題
1、在下列文件的外存分配方式中,不利于文件長度動態(tài)增長的文件物理結(jié)構(gòu)是(A)A.連續(xù)分配 B.鏈接分配 C.索引分配 D.以上都不對
2、文件系統(tǒng)中若文件的外存分配方式采用連續(xù)分配,則文件控制塊FCB中有關(guān)文件的物理位置的信息應(yīng)包括(B)(Ⅰ)起始塊號(Ⅱ)文件長度(Ⅲ)索引表地址 A.全部 B.(Ⅰ)和(Ⅱ)C.(Ⅰ)和(Ⅲ)D.(Ⅱ)和(Ⅲ)
3、操作系統(tǒng)為保證未經(jīng)文件擁有者授權(quán),任何其他用戶不能使用該文件所提供的解決方法是(A)A.文件保護 B.文件保密 C.文件轉(zhuǎn)儲 D.文件共享
4、文件系統(tǒng)最基本的目標是((1)A),它主要是通過((2)B)功能實現(xiàn)的,文件系統(tǒng)所追求的最重要目標是((1)D)(1)A.按名存取
B.文件共享
C.文件保護
D.提高對文件的存取速度(2)A.存儲空間管理 B.目錄管理
C.文件讀寫管理 D.文件安全管理
5、按邏輯結(jié)構(gòu)可把文件分為(E)和(F)兩類。A.讀、寫文件 B.只讀文件
C.索引文件
D.鏈式文件
E.記錄式文件 F.流式文件
6、下面關(guān)于順序文件和鏈接文件的論述中正確的是(C)A.順序文件只能于建立在順序存儲設(shè)備上,而不能于建立在磁盤上。
B.在顯式鏈接文件中是在每個盤塊中設(shè)置一鏈接指針,用于將文件的所有盤塊鏈接起來。C.順序文件采用連續(xù)分配方式,而鏈接文件和索引文件則都可采用離散分配方式。D.在MS-DOS中采用的是隱式鏈接文件結(jié)構(gòu)。
7、下面關(guān)于索引文件的論述中正確的是(B)A.在索引文件中,索引表的每個表項中必須含有相應(yīng)記錄的關(guān)鍵字和存放該記錄的物理地址。
B.對順序文件進行檢索時,首先從FCB中讀出文件的第一個盤塊號,而對索引文件進行檢索時,應(yīng)先從FCB中讀出文件索引表始址。
C.對于一個具有三級索引表的文件,存取一個記錄必須要訪問三次磁盤。D.在文件較大時,進行順序存取比隨機存取快。
8、在存取文件時,如果利用給定的記錄值對鏈表或索引表進行檢索,以找到指定記錄的物理地址,則上述文件分別稱為(B)或(C),如果根據(jù)給定的記錄鍵值直接獲得指定記錄的物理地址,則把這種文件稱為(D)A.順序文件 B.鏈接文件 C.索引文件 D.直接文件
9、在文件管理中,位示圖主要是用于(B)A.磁盤的驅(qū)動調(diào)動
B.磁盤空間的分配和回收 C.文件目錄的查找
D.頁面置換
10、用(B)可以防止共享文件可能造成的破壞,但實現(xiàn)起來系統(tǒng)開銷太大。A.用戶對樹型目錄結(jié)構(gòu)中目錄和文件的許可權(quán)規(guī)定 B.存取控制表 C.定義不同用戶對文件的使用權(quán) D.隱蔽文件目錄
(11)下列___B___的物理結(jié)構(gòu)對文件隨機存取時必須按指針進行,其存取速度慢。A.順序文件 B.鏈接文件 C.索引文件 D.多級索引文件(12)下面說法正確的是___D___。
A.文件系統(tǒng)要負責(zé)文件存儲空間的管理,但不能完成文件名到物理地址的轉(zhuǎn)換 B.多級文件目錄中,對文件的訪問是通過路徑名和用戶目錄名來進行的 C.文件被劃分為大小相等的若干個物理塊,一般物理塊的大小是不固定的 D.邏輯記錄是對文件進行存取的基本單位
(13)在隨機存取方式中,用戶以__D____為單位對文件進行存取和檢索。A.字符串 B.字節(jié) C.數(shù)據(jù)項 D.邏輯記錄 14.文件系統(tǒng)的主要目的是 A。a.實現(xiàn)對文件的按名存取 b.實現(xiàn)虛擬存儲 c.提高外存的讀寫速度 d.用于存儲系統(tǒng)文件 15.下列文件中屬于邏輯結(jié)構(gòu)的文件是 D。a.連續(xù)文件 b.系統(tǒng)文件 c.散列文件 d.流式文件 16.位示圖法可用于 A。a.盤空間管理 b.盤的驅(qū)動調(diào)度
c.文件目錄的查找 d.頁式虛擬存儲中的頁面調(diào)度
17.在記錄式文件中,一個文件由稱為 C 的最小單位組成。a.物理文件 b.物理塊 c.邏輯記錄 d.數(shù)據(jù)項
18.文件物理結(jié)構(gòu)一般有 ADE。a.連續(xù)結(jié)構(gòu) b.流式結(jié)構(gòu) c.記錄式結(jié)構(gòu) d.鏈接結(jié)構(gòu) e.索引結(jié)構(gòu)
19.兩級目錄結(jié)構(gòu)由 C 和 D 組成。a.根目錄 b.子目錄 c.主文件目錄 d.用戶文件目錄 e.當前目錄(20)下面說法正確的是__AD______。
A.在磁帶上的順序文件中插入新的記錄時,必須復(fù)制整個文件 B.在磁盤上的順序文件中插入新的記錄時,必須復(fù)制整個文件 C.在索引順序文件的最后添加新的記錄時,一定要復(fù)制整個文件 D.在磁帶上的順序文件的最后添加新的記錄時,不必復(fù)制整個文件
1、在利用基本文件目錄法實現(xiàn)文件共享時,文件系統(tǒng)必須設(shè)置一個(基本文件目錄),每個用戶都應(yīng)具有一個(符號文件目錄)。
2、文件管理的基本功能有(文件存儲空間的管理)、(目錄管理)、(文件的讀/寫管理)和(文件共享保護)。
3、記錄是一組相關(guān)(數(shù)據(jù)項)的集合。文件是具有(文件名)的一組相關(guān)(元素)的集合。
(6)利用Hash法查找文件時,如果目錄中相應(yīng)的目錄項是空的,則表示_系統(tǒng)中無指定文件名,如果目錄中的文件名與指定文件名匹配,則表示_找到了指定的文件 ____,如果目錄項中的文件名與指定文件名不匹配,則表示__發(fā)生了沖突_。
(7)文件的成組與分解操作___提高文件存儲空間的利用率_和__減少啟動存儲設(shè)備次數(shù)__。8文件目錄的作用是 實現(xiàn)文件名到物理地址的轉(zhuǎn)換
11.一個文件在使用前必須先 的 打開,使用后需 關(guān)閉。
1.文件系統(tǒng)必須完成哪些工作? 1.答
(1)文件的存取。包括順序存取和隨機存取(2)目錄管理
(3)文件組織。物理文件和邏輯文件的轉(zhuǎn)換(4)文件存儲空間管理
(5)文件操作。創(chuàng)建,打開,讀,寫,關(guān)閉(6)文件的共享與保護
2.文件有哪幾種邏輯結(jié)構(gòu),哪幾種物理結(jié)構(gòu) 2.答
(1)邏輯結(jié)構(gòu)是從用戶觀點看到的文件組織形式,用戶可以直接處理的數(shù)據(jù)及其結(jié)構(gòu)。分為無結(jié)構(gòu)的流式文件和有結(jié)構(gòu)的記錄式文件
(2)物理結(jié)構(gòu)是文件在存儲設(shè)備上的存儲組織形式。有連續(xù)式文件,鏈式文件(串聯(lián)文件)和索引文件
3.文件順序存取與隨機存取的主要區(qū)別是什么? 3.答
(1)順序存取是嚴格按照文件中的物理記錄排列順序依次存取
(2)隨機存取則允許隨意存取文件中的任何一個物理記錄,而不管上次存取了哪一個記錄(3)對于變長記錄式文件,隨機存取實際是退化為順序存取
4.一個樹形結(jié)構(gòu)的文件系統(tǒng)如圖所示,其中矩形表示目錄,圓圈表示文件
(1)可否進行下列操作
①在目錄D中建立一個文件,取名為A ②將目錄C改為A(1)①本題中文件系統(tǒng)采用了多級目錄的組織方式,由于目錄D中沒有已命名為A的文件,因此在目錄D中可以建立一個取名為A的文件。②因為在文件系統(tǒng)的根目錄下已有一個名為A的目錄,所以目錄C不能改為A(2)若E和G是兩個用戶各自的目錄
①用戶E欲共享文件Q應(yīng)有什么條件,如何操作?②在一段時間內(nèi),用戶G主要使用文件S和T,為簡便操作和提高速度,應(yīng)如何處理?③用戶E欲對文件I加以保護,不許別人使用,能否實現(xiàn),如何做?
①用戶E欲共享文件Q需要有訪問Q的權(quán)限。在權(quán)限許可的情況下,可通過相應(yīng)的路徑來訪問文件Q。若用戶E當前的目錄為E,則訪問路徑為
../../D/G/K/O/Q ②可在目錄G下建立兩個鏈接文件,分別鏈接到文件S及T上,這樣用戶G就可以直接訪問這兩個文件了
③用戶E可以通過修改文件I的存取控制表來對文件I加以保護,不讓別的用戶使用。具體實現(xiàn)方法是,在文件I的存取控制表中,只留下用戶E的訪問權(quán)限,其他用戶對該文件無操作權(quán)限,從而達到不讓其他用戶訪問的目的。
5.文件分配表FAT是管理磁盤空間的一種數(shù)據(jù)結(jié)構(gòu),用在以鏈接方式存儲文件的系統(tǒng)中記錄磁盤分配和跟蹤空白磁盤塊。其結(jié)構(gòu)如圖所示
設(shè)物理塊大小為1K,對于540M硬盤,其FAT要占多少存儲空間 5.(1)
磁盤共有盤塊540M/1k=540k個,需要20位二進制表示,即FAT的每個表項應(yīng)占2.5字節(jié),2.5B*540k=1350KB
三、應(yīng)用題
2.有一磁盤組共有10個盤面,每個盤面上有100磁道,每個磁道有16個扇區(qū),假設(shè)分配以扇區(qū)為單位,若使用位示圖管理磁盤空間,問位示圖需要占用多少空間?若空白文件目錄的每個表目占用5B,問什么時候空白文件目錄大于位示圖。解:扇區(qū)數(shù):16×100×10 = 16000 用位示圖表示扇區(qū)數(shù)狀態(tài)需要的位數(shù)為16000位 = 2000B 因為空白文件目錄的每個表目占用5B,所示位示圖需要占用2000B,2000B可存放表目2000÷5 = 400 ∴當空白區(qū)數(shù)目大于400時,空白文件目錄大于位示圖。3.設(shè)某系統(tǒng)的磁盤有500塊,塊號為0,1,2,…,499。
(1)若用位示圖法管理這500塊的磁盤空間,當字長32位時,需要多少個字的位示圖?(2)第i字的第j位對應(yīng)的塊號是多少? 答:(1)500÷32 = 15.625 ≈ 16
(2)塊號:N = 32×(i-1)+ j。
4.一個磁盤組共有100個柱面,每個柱面8個盤面,每個盤面被分為4個扇區(qū),若盤塊大小與扇區(qū)大小相等,扇區(qū)編號從”0”開始,現(xiàn)用字長為16位的200個字(第0~199字)組成位示圖來指示磁盤空間的使用情況,則,文件系統(tǒng)發(fā)現(xiàn)位示圖中第15字第7位為0,分配出去時,盤塊號為:_247__15×16 + 7 = 247
第二篇:操作系統(tǒng)復(fù)習(xí)題答案
第1章
計算機系統(tǒng)概述
1.1 列出并簡要地定義計算機的四個主要組成部分。
主存儲器,存儲數(shù)據(jù)和程序;算術(shù)邏輯單元,能處理二進制數(shù)據(jù);控制單元,解讀存儲器中的指令并且使他們得到執(zhí)行;輸入/輸出設(shè)備,由控制單元管理。1.2 定義處理器寄存器的兩種主要類別。
用戶可見寄存器:優(yōu)先使用這些寄存器,可以使機器語言或者匯編語言的程序員減少對主存儲器的訪問次數(shù)。對高級語言而言,由優(yōu)化編譯器負責(zé)決定把哪些變量應(yīng)該分配給主存儲器。一些高級語言,如C語言,允許程序言建議編譯器把哪些變量保存在寄存器中。
控制和狀態(tài)寄存器:用以控制處理器的操作,且主要被具有特權(quán)的操作系統(tǒng)例程使用,以控制程序的執(zhí)行。
1.3 一般而言,一條機器指令能指定的四種不同操作是什么?
處理器-寄存器:數(shù)據(jù)可以從處理器傳送到存儲器,或者從存儲器傳送到處理器。
處理器-I/O:通過處理器和I/O模塊間的數(shù)據(jù)傳送,數(shù)據(jù)可以輸出到外部設(shè)備,或者從外部設(shè)備輸入數(shù)據(jù)。
數(shù)據(jù)處理:處理器可以執(zhí)行很多關(guān)于數(shù)據(jù)的算術(shù)操作或邏輯操作??刂疲耗承┲噶羁梢愿淖儓?zhí)行順序。1.4 什么是中斷?
中斷:其他模塊(I/O,存儲器)中斷處理器正常處理過程的機制。1.5 多中斷的處理方式是什么?
處理多中斷有兩種方法。第一種方法是當正在處理一個中斷時,禁止再發(fā)生中斷。第二種方法是定義中斷優(yōu)先級,允許高優(yōu)先級的中斷打斷低優(yōu)先級的中斷處理器的運行。1.6 內(nèi)存層次的各個元素間的特征是什么?
存儲器的三個重要特性是:價格,容量和訪問時間。1.7 什么是高速緩沖存儲器?
高速緩沖存儲器是比主存小而快的存儲器,用以協(xié)調(diào)主存跟處理器,作為最近儲存地址的緩沖區(qū)。1.8 列出并簡要地定義I/O操作的三種技術(shù)。
可編程I/O:當處理器正在執(zhí)行程序并遇到與I/O相關(guān)的指令時,它給相應(yīng)的I/O模塊發(fā)布命令(用以執(zhí)行這個指令);在進一步的動作之前,處理器處于繁忙的等待中,直到該操作已經(jīng)完成。
中斷驅(qū)動I/O:當處理器正在執(zhí)行程序并遇到與I/O相關(guān)的指令時,它給相應(yīng)的I/O模塊發(fā)布命令,并繼續(xù)執(zhí)行后續(xù)指令,直到后者完成,它將被I/O模塊中斷。如果它對于進程等待I/O的完成來說是不必要的,可能是由于后續(xù)指令處于相同的進程中。否則,此進程在中斷之前將被掛起,其他工作將被執(zhí)行。
直接存儲訪問:DMA模塊控制主存與I/O模塊間的數(shù)據(jù)交換。處理器向DMA模塊發(fā)送一個傳送數(shù)據(jù)塊的請求,(處理器)只有當整個數(shù)據(jù)塊傳送完畢后才會被中斷。1.9 空間局部性和臨時局部性間的區(qū)別是什么?
空間局部性是指最近被訪問的元素的周圍的元素在不久的將來可能會被訪問。臨時局部性(即時間局部性)是指最近被訪問的元素在不久的將來可能會被再次訪問。1.10 開發(fā)空間局部性和時間局部性的策略是什么?
空間局部性的開發(fā)是利用更大的緩沖塊并且在存儲器控制邏輯中加入預(yù)處理機制。時間局部性的開發(fā)是利用在高速緩沖存儲器中保留最近使用的指令及數(shù)據(jù),并且定義緩沖存儲的優(yōu)先級。
第2章
操作系統(tǒng)概述
2.1 操作系統(tǒng)設(shè)計的三個目標是什么?
方便:操作系統(tǒng)使計算機更易于使用。有效:操作系統(tǒng)允許以更有效的方式使用計算機系統(tǒng)資源。
擴展的能力:在構(gòu)造操作系統(tǒng)時,應(yīng)該允許在不妨礙服務(wù)的前提下有效地開發(fā)、測試和引進新的系統(tǒng)功能。
2.2 什么是操作系統(tǒng)的內(nèi)核?
內(nèi)核是操作系統(tǒng)最常使用的部分,它存在于主存中并在特權(quán)模式下運行,響應(yīng)進程調(diào)度和設(shè)備中斷。2.3 什么是多道程序設(shè)計?
多道程序設(shè)計是一種處理操作,它在兩個或多個程序間交錯處理每個進程。2.4 什么是進程?
進程是一個正在執(zhí)行的程序,它被操作系統(tǒng)控制和選擇。2.5 操作系統(tǒng)是怎么使用進程上下文的?
執(zhí)行上下文又稱為進程狀態(tài),是操作系統(tǒng)用來管理和控制所需的內(nèi)部數(shù)據(jù)。這種內(nèi)部信息和進程是分開的,因為操作系統(tǒng)信息不允許被進程直接訪問。上下文包括操作系統(tǒng)管理進程以及處理器正確執(zhí)行進程所需要的所有信息,包括各種處理器寄存器的內(nèi)容,如程序計數(shù)器和數(shù)據(jù)寄存器。它還包括操作系統(tǒng)使用的信息,如進程優(yōu)先級以及進程是否在等待特定I/O事件的完成。2.6 列出并簡要介紹操作系統(tǒng)的五種典型存儲管理職責(zé)。
進程隔離:操作系統(tǒng)必須保護獨立的進程,防止互相干涉數(shù)據(jù)和存儲空間。
自動分配和管理:程序應(yīng)該根據(jù)需要在存儲層次間動態(tài)的分配,分配對程序員是透明的。因此,程序員無需關(guān)心與存儲限制有關(guān)的問題,操作系統(tǒng)有效的實現(xiàn)分配問題,可以僅在需要時才給作業(yè)分配存儲空間。
2.7 解釋實地址和虛地址的區(qū)別。
虛地址指的是存在于虛擬內(nèi)存中的地址,它有時候在磁盤中有時候在主存中。實地址指的是主存中的地址。2.8 描述輪循調(diào)度技術(shù)。
輪循調(diào)度是一種調(diào)度算法,所有的進程存放在一個環(huán)形隊列中并按固定循序依次激活。因為等待一些事件(例如:等待一個子進程或一個I/O操作)的發(fā)生而不能被處理的進程將控制權(quán)交給調(diào)度器。2.9 解釋單體內(nèi)核和微內(nèi)核的區(qū)別。
單體內(nèi)核是一個提供操作系統(tǒng)應(yīng)該提供的功能的大內(nèi)核,包括調(diào)度、文件系統(tǒng)、網(wǎng)絡(luò)、設(shè)備驅(qū)動程序、存儲管理等。內(nèi)核的所有功能成分都能夠訪問它的內(nèi)部數(shù)據(jù)結(jié)構(gòu)和程序。典型情況下,這個大內(nèi)核是作為一個進程實現(xiàn)的,所有元素都共享相同的地址空間。
微內(nèi)核是一個小的有特權(quán)的操作系統(tǒng)內(nèi)核,只提供包括進程調(diào)度、內(nèi)存管理、和進程間通信等基本功能,要依靠其他進程擔當起和操作系統(tǒng)內(nèi)核聯(lián)系作用。2.10 什么是多線程?
多線程技術(shù)是指把執(zhí)行一個應(yīng)用程序的進程劃分成可以同時運行的多個線程。
第3章 進程描述和控制
3.1 什么是指令跟蹤?
指令跟蹤是指為該進程而執(zhí)行的指令序列。3.2 通常那些事件會導(dǎo)致創(chuàng)建一個進程?
新的批處理作業(yè);交互登錄;操作系統(tǒng)因為提供一項服務(wù)而創(chuàng)建;由現(xiàn)有的進程派生。(表3.1)3.3 對于圖3.6中的進程模型,請簡單定義每個狀態(tài)。
運行態(tài):該進程正在執(zhí)行。就緒態(tài):進程做好了準備,只要有機會就開始執(zhí)行。阻塞態(tài):進程在某些事件發(fā)生前不能執(zhí)行,如I/O操作完成。
新建態(tài):剛剛創(chuàng)建的進程,操作系統(tǒng)還沒有把它加入到可執(zhí)行進程組中。
退出態(tài):操作系統(tǒng)從可執(zhí)行進程組中釋放出的進程,或者是因為它自身停止了,或者是因為某種原因被取消。3.4 搶占一個進程是什么意思?
處理器為了執(zhí)行另外的進程而終止當前正在執(zhí)行的進程,這就叫進程搶占。3.5 什么是交換,其目的是什么?
交換是指把主存中某個進程的一部分或者全部內(nèi)容轉(zhuǎn)移到磁盤。當主存中沒有處于就緒態(tài)的進程時,操作系統(tǒng)就把一個阻塞的進程換出到磁盤中的掛起隊列,從而使另一個進程可以進入主存執(zhí)行。3.6 為什么圖3.9(b)中有兩個阻塞態(tài)?
有兩個獨立的概念:進程是否在等待一個事件(阻塞與否)以及進程是否已經(jīng)被換出主存(掛起與否)。為適應(yīng)這種2*2的組合,需要兩個阻塞態(tài)和兩個掛起態(tài)。3.7 列出掛起態(tài)進程的4個特點。
1.進程不能立即執(zhí)行。
2.進程可能是或不是正在等待一個事件。如果是,阻塞條件不依賴于掛起條件,阻塞事件的發(fā)生不會使進程立即被執(zhí)行。
3.為了阻止進程執(zhí)行,可以通過代理把這個進程置于掛起態(tài),代理可以是進程自己,也可以是父進程或操作系統(tǒng)。
4.除非代理顯式地命令系統(tǒng)進行狀態(tài)轉(zhuǎn)換,否則進程無法從這個狀態(tài)中轉(zhuǎn)移。3.8 對于哪類實體,操作系統(tǒng)為了管理它而維護其信息表?
內(nèi)存、I/O、文件和進程。
3.9 列出進程控制塊中的三類信息。
進程標識,處理器狀態(tài)信息,進程控制信息。3.10 為什么需要兩種模式(用戶模式和內(nèi)核模式)?
用戶模式下可以執(zhí)行的指令和訪問的內(nèi)存區(qū)域都受到限制。這是為了防止操作系統(tǒng)受到破壞或者修改。而在內(nèi)核模式下則沒有這些限制,從而使它能夠完成其功能。3.11 操作系統(tǒng)創(chuàng)建一個新進程所執(zhí)行的步驟是什么?
1.給新進程分配一個唯一的進程標識號。2.給進程分配空間。3.初始化進程控制塊。4.設(shè)置正確的連接。5.創(chuàng)建或擴充其他的數(shù)據(jù)結(jié)構(gòu)。3.12 中斷和陷阱有什么區(qū)別?
中斷與當前正在運行的進程無關(guān)的某些類型的外部事件相關(guān),如完成一次I/O操作。陷阱與當前正在運行的進程所產(chǎn)生的錯誤或異常條件相關(guān),如非法的文件訪問。3.13 舉出中斷的三個例子。
時鐘終端,I/O終端,內(nèi)存失效。3.14 模式切換和進程切換有什么區(qū)別?
發(fā)生模式切換可以不改變當前正處于運行態(tài)的進程的狀態(tài)。發(fā)生進程切換時,一個正在執(zhí)行的進程被中斷,操作系統(tǒng)指定另一個進程為運行態(tài)。進程切換需要保存更多的狀態(tài)信息。
第4章 線程、對稱多處理和微內(nèi)核
4.1 表3.5列出了在一個沒有線程的操作系統(tǒng)中進程控制塊的基本元素。對于多線程系統(tǒng),這些元素中那些可能屬于線程控制塊,那些可能屬于進程控制塊?
這對于不同的系統(tǒng)來說通常是不同的,但一般來說,進程是資源的所有者,而每個線程都有它自己的執(zhí)行狀態(tài)。關(guān)于表3.5中的每一項的一些結(jié)論如下:進程標識:進程必須被標識,而進程中的每一個線程也必須有自己的ID。處理器狀態(tài)信息:這些信息通常只與進程有關(guān)。進程控制信息:調(diào)度和狀態(tài)信息主要處于線程級;數(shù)據(jù)結(jié)構(gòu)在兩級都可出現(xiàn);進程間通信和線程間通信都可以得到支持;特權(quán)在兩級都可以存在;存儲管理通常在進程級;資源信息通常也在進程級。4.2 請列出線程間的模式切換比進程間的模式切換開銷更低的原因。
包含的狀態(tài)信息更少。
4.3 在進程概念中體現(xiàn)出的兩個獨立且無關(guān)的特點是什么? 資源所有權(quán)和調(diào)度/執(zhí)行。
4.4 給出在單用戶多處理系統(tǒng)中使用線程的四個例子。
前臺和后臺操作,異步處理,加速執(zhí)行和模塊化程序結(jié)構(gòu)。4.5 哪些資源通常被一個進程中的所有線程共享?
例如地址空間,文件資源,執(zhí)行特權(quán)等。4.6 列出用戶級線程優(yōu)于內(nèi)核級線程的三個優(yōu)點。
1.由于所有線程管理數(shù)據(jù)結(jié)構(gòu)都在一個進程的用戶地址空間中,線程切換不需要內(nèi)核模式的特權(quán),因此,進程不需要為了線程管理而切換到內(nèi)核模式,這節(jié)省了在兩種模式間進行切換(從用戶模式到內(nèi)核模式;從內(nèi)核模式返回用戶模式)的開銷。
2.調(diào)用可以是應(yīng)用程序?qū)S玫?。一個應(yīng)用程序可能傾向于簡單的輪詢調(diào)度算法,而另一個應(yīng)用程序可能傾向于基于優(yōu)先級的調(diào)度算法。調(diào)度算法可以去適應(yīng)應(yīng)用程序,而不會擾亂底層的操作系統(tǒng)調(diào)度器。3.用戶級線程可以在任何操作系統(tǒng)中運行,不需要對底層內(nèi)核進行修改以支持用戶級線程。線程庫是一組供所有應(yīng)用程序共享的應(yīng)用級軟件包。4.7 列出用戶級線程相對于內(nèi)核級線程的兩個缺點。
1.在典型的操作系統(tǒng)中,許多系統(tǒng)調(diào)用都會引起阻塞。因此,當用戶級線程執(zhí)行一個系統(tǒng)調(diào)用時,不僅這個線程會被阻塞,進程中的所有線程都會被阻塞。
2.在純粹的用戶級進程策略中,一個多線程應(yīng)用程序不能利用多處理技術(shù)。內(nèi)核一次只把一個進程分配給一個處理器,因此一次進程中只能有一個線程可以執(zhí)行。4.8 定義jacketing。
Jacketing通過調(diào)用一個應(yīng)用級的I/O例程來檢查I/O設(shè)備的狀態(tài),從而將一個產(chǎn)生阻塞的系統(tǒng)調(diào)用轉(zhuǎn)化為一個不產(chǎn)生阻塞的系統(tǒng)調(diào)用。4.9 簡單定義圖4.8中列出的各種結(jié)構(gòu)。
SIMD:一個機器指令控制許多處理部件步伐一致地同時執(zhí)行。每個處理部件都有一個相關(guān)的數(shù)據(jù)存儲空間,因此,每條指令由不同的處理器在不同的數(shù)據(jù)集合上執(zhí)行。
MIMD:一組處理器同時在不同的數(shù)據(jù)集上執(zhí)行不同的指令序列。主/從:操作系統(tǒng)內(nèi)核總是在某個特定的處理器上運行,其他處理器只用于執(zhí)行用戶程序,還可能執(zhí)行一些操作系統(tǒng)實用程序。
SMP:內(nèi)核可以在任何處理器上執(zhí)行,并且通常是每個處理器從可用的進程或線程池中進行各自的調(diào)度工作。集群:每個處理器都有一個專用存儲器,而且每個處理部件都是一個獨立的計算機。4.10 列出SMP操作系統(tǒng)的主要設(shè)計問題。
同時的并發(fā)進程或線程,調(diào)度,同步,存儲器管理,可靠性和容錯。
4.11 給出在典型的單體結(jié)構(gòu)操作系統(tǒng)中可以找到且可能是微內(nèi)核操作系統(tǒng)外部子系統(tǒng)中的服務(wù)和功能。
設(shè)備驅(qū)動程序,文件系統(tǒng),虛存管理程序,窗口系統(tǒng)和安全服務(wù)。4.12 列出并簡單解釋微內(nèi)核設(shè)計相對于整體式設(shè)計的七個優(yōu)點。
一致接口:進程不需要區(qū)分是內(nèi)核級服務(wù)還是用戶級服務(wù),因為所有服務(wù)都是通過消息傳遞提供的??蓴U展性:允許增加新的服務(wù)以及在同一個功能區(qū)域中提供多個服務(wù)。
靈活性:不僅可以在操作系統(tǒng)中增加新功能,還可以刪減現(xiàn)有的功能,以產(chǎn)生一個更小、更有效的實現(xiàn)。
可移植性:所有或者至少大部分處理器專用代碼都在微內(nèi)核中。因此,當把系統(tǒng)移植到一個處理器上時只需要很少的變化,而且易于進行邏輯上的歸類。
可靠性:小的微內(nèi)核可以被嚴格地測試,它使用少量的應(yīng)用程序編程接口(API),這就為內(nèi)核外部的操作系統(tǒng)服務(wù)產(chǎn)生高質(zhì)量的代碼提供了機會。
分布式系統(tǒng)支持:微內(nèi)核通信中消息的方向性決定了它對分布式系統(tǒng)的支持。
面向?qū)ο蟛僮飨到y(tǒng)環(huán)境:在微內(nèi)核設(shè)計和操作系統(tǒng)模塊化擴展的開發(fā)中都可以借助面向?qū)ο蠓椒ǖ脑怼?/p>
4.13 解釋微內(nèi)核操作系統(tǒng)可能存在的性能缺點。
通過微內(nèi)核構(gòu)造和發(fā)送信息、接受應(yīng)答并解碼所花費的時間比一次系統(tǒng)調(diào)用的時間要多。4.14 列出即使在最小的微內(nèi)核操作系統(tǒng)中也可以找到的三個功能。
低級存儲器管理,進程間通信(IPC)以及I/O和中斷管理。4.15 在微內(nèi)核操作系統(tǒng)中,進程或線程間通信的基本形式是什么?
消息。
第5章 并發(fā)性:互斥和同步
5.1 列出與并發(fā)相關(guān)的四種設(shè)計問題
進程間的交互,共享資源之間的競爭,多個進程的同步問題,對進程的處理器時間分配問題 5.2 列出并發(fā)的三種上下文
多個應(yīng)用程序,結(jié)構(gòu)化應(yīng)用程序,操作系統(tǒng)結(jié)構(gòu) 5.3 執(zhí)行并發(fā)進程的最基本要求是什么?
加強互斥的能力
5.4 列出進程間的三種互相知道的程度,并簡單地給出各自的定義。
進程間互相不知道對方:這是一些獨立的進程,他們不會一起工作。
進程間間接知道對方:這些進程并不需要知道對方的進程ID號,但他們共享訪問某些對象,如一個I/O緩沖區(qū)。
進程間直接知道對方:這些進程可以通過進程ID號互相通信,用于合作完成某些活動。5.5 競爭進程和合作進程進程間有什么區(qū)別。
競爭進程需要同時訪問相同的資源,像磁盤,文件或打印機。合作進程要么共享訪問一個共有的資源,像一個內(nèi)存訪問區(qū),要么就與其他進程相互通信,在一些應(yīng)用程序或活動上進行合作。5.6 列出與競爭進程相關(guān)的三種控制問題,并簡單地給出各自的定義。
互斥:競爭進程僅可以訪問一個臨界資源(一次僅有一個進程可以訪問臨界資源),并發(fā)機制必須滿足一次只有一個進程可以訪問臨界資源這個規(guī)則。
死鎖:如果競爭進程需要唯一的訪問多于一個資源,并且當一個進程控制著一個進程,且在等待另一個進程,死鎖可能發(fā)生。
饑餓:一組進程的一個可能會無限期地拒絕進入到一個需要資源,因為其他 成員組成壟斷這個資源。5.7 列出對互斥的要求。
1.必須強制實施互斥:在具有關(guān)于相同資源或共享對象的臨界區(qū)的所有進程中,一次只允許一個進程進入臨界區(qū)。
2.一個在臨界區(qū)停止的進程必須不干涉其他進程。
3.絕不允許出現(xiàn)一個需要訪問臨界區(qū)的進程被無限延遲的情況,即不會餓死或饑餓。4.當沒有進程在臨界區(qū)中時,任何需要進入臨界區(qū)的進程必須能夠立即進入。5.對相關(guān)進程的速度和處理器的數(shù)目沒有任何要求和限制。6.一個進程駐留在臨界區(qū)中的時間是有限的。5.8 在信號量上可以執(zhí)行什么操作。
1.一個信號量可以初始化成非負數(shù)。
2.wait操作使信號量減1,如果值為負數(shù),那么進程執(zhí)行wait就會受阻。3signal操作使信號量增加1,如果小于或等于0,則被wait操作阻塞的進程被解除阻塞。5.9 二元信號量與一般信號量有什么區(qū)別。
二元信號量只能取0或1,而一般信號量可以取任何整數(shù)。5.10 強信號量與弱信號量有什么區(qū)別。
強信號量要求在信號量上等待的進程按照先進先出的規(guī)則從隊列中移出。弱信號量沒有此規(guī)則。5.11.什么是管程。
管程是由一個或多個過程,一個初始化序列和局部數(shù)據(jù)組成的軟件模塊。5.12 對于消息,有阻塞和無阻塞有什么區(qū)別?
發(fā)送者和接收者任一方阻塞則消息傳遞需要等待,都無阻塞則不需等待。5.13 通常與讀者-寫者問題相關(guān)聯(lián)的有哪些條件?
1.任意多的讀進程可以同時讀這個文件 2.一次只有一個寫進程可以往文件中寫
3.如果一個寫進程正在往文件中寫時,則禁止任何讀進程讀文件。
第6章 并發(fā)性:死鎖和饑餓
6.1 給出可重用資源和可消費資源的例子。
可重用資源:處理器,I/O通道,主存和輔存,設(shè)備以及諸如文件,數(shù)據(jù)庫和信號量之類的數(shù)據(jù)結(jié)構(gòu)。
可消費資源:中斷,信號,消息和I/O緩沖區(qū)中的信息。6.2 可能發(fā)生死鎖所必須的三個條件是什么?
互斥,占有且等待,非搶占。6.3 產(chǎn)生死鎖的第4個條件是什么?
循環(huán)等待。
6.4 如何防止占有且等待的條件?
可以要求進程一次性地請求所有需要的資源,并且阻塞這個資源直到所有請求都同時滿足。6.5 給出防止無搶占條件的兩種方法。
第一種,如果占有某些資源的一個進程進行進一步資源請求被拒絕,則該進程必須釋放它最初占用的資源,如果有必要,可再次請求這些資源和另外的資源。
第二種,如果一個進程請求當前被另一個進程占有的一個資源,則操作系統(tǒng)可以搶占另一個進程,要求它釋放資源。
6.6 如何防止循環(huán)等待條件?
可以通過定義資源類型的線性順序來預(yù)防。如果一個進程已經(jīng)分配到了R類型的資源,那么它接下來請求的資源只能是那些排在R類型之后的資源類型。6.7 死鎖避免,檢測和預(yù)防之間的區(qū)別是什么?
死鎖預(yù)防是通過間接地限制三種死鎖必要條件的至少一個或是直接地限制循環(huán)等待的發(fā)生來避免死鎖的出現(xiàn)。死鎖避免允許可能出現(xiàn)的必要條件發(fā)生,但是采取措施確保不會出現(xiàn)死鎖的情況。而死鎖檢測允許資源的自由分配,采取周期性的措施來發(fā)現(xiàn)并處理可能存在的死鎖情況。
第7章 內(nèi)存管理
7.1 內(nèi)存管理需要滿足哪些需求?
重定位、保護、共享、邏輯組織和物理組織。7.2 為什么需要重定位進程的能力?
通常情況下,并不能事先知道在某個程序執(zhí)行期間會有哪個程序駐留在主存中。此外還希望通過提供一個巨大的就緒進程池,能夠把活動進程換入和換出主存,以便使處理器的利用率最大化。在這兩種情況下,進程在主存中的確切位置是不可預(yù)知的。7.3 為什么不可能在編譯時實施內(nèi)存保護?
由于程序在主存中的位置是不可預(yù)測的,因而在編譯時不可能檢查絕對地址來確保保護。并且,大多數(shù)程序設(shè)計語言允許在運行時進行地址的動態(tài)計算(例如,通過計算數(shù)組下標或數(shù)據(jù)結(jié)構(gòu)中的指針)。因此,必須在運行時檢查進程產(chǎn)生的所有存儲器訪問,以便確保它們只訪問了分配給該進程的存儲空間。
7.4 允許兩個或多個進程訪問進程的某一特定區(qū)域的原因是什么? 如果許多進程正在執(zhí)行同一程序,則允許每個進程訪問該程序的同一個副本要比讓每個進程有自己單獨的副本更有優(yōu)勢。同樣,合作完成同一任務(wù)的進程可能需要共享訪問同一個數(shù)據(jù)結(jié)構(gòu)。7.5 在固定分區(qū)方案中,使用大小不等的分區(qū)有什么好處?
通過使用大小不等的固定分區(qū):1.可以在提供很多分區(qū)的同時提供一到兩個非常大的分區(qū)。大的分區(qū)允許將很大的進程全部載入主存中。2.由于小的進程可以被放入小的分區(qū)中,從而減少了內(nèi)部碎片。7.6 內(nèi)部碎片和外部碎片有什么區(qū)別?
內(nèi)部碎片是指由于被裝入的數(shù)據(jù)塊小于分區(qū)大小而導(dǎo)致的分區(qū)內(nèi)部所浪費的空間。外部碎片是與動態(tài)分區(qū)相關(guān)的一種現(xiàn)象,它是指在所有分區(qū)外的存儲空間會變成越來越多的碎片的。7.7 邏輯地址、相對地址和物理地址間有什么區(qū)別?
邏輯地址是指與當前數(shù)據(jù)在內(nèi)存中的物理分配地址無關(guān)的訪問地址,在執(zhí)行對內(nèi)存的訪問之前必須把它轉(zhuǎn)化成物理地址。相對地址是邏輯地址的一個特例,是相對于某些已知點(通常是程序的開始處)的存儲單元。物理地址或絕對地址是數(shù)據(jù)在主存中的實際位置。7.8 頁和幀之間有什么區(qū)別?
在分頁系統(tǒng)中,進程和磁盤上存儲的數(shù)據(jù)被分成大小固定相等的小塊,叫做頁。而主存被分成了同樣大小的小塊,叫做幀。一頁恰好可以被裝入一幀中。7.9 頁和段之間有什么區(qū)別?
分段是細分用戶程序的另一種可選方案。采用分段技術(shù),程序和相關(guān)的數(shù)據(jù)被劃分成一組段。盡管有一個最大段長度,但并不需要所有的程序的所有段的長度都相等。
第8章 虛擬內(nèi)存
8.1 簡單分頁與虛擬分頁有什么區(qū)別?
簡單分頁:一個程序中的所有的頁都必須在主存儲器中程序才能正常運行,除非使用覆蓋技術(shù)。擬內(nèi)存分頁:不是程序的每一頁都必須在主存儲器的幀中來使程序運行,頁在需要的時候進行讀取。8.2 解釋什么是抖動。
虛擬內(nèi)存結(jié)構(gòu)的震動現(xiàn)象,在這個過程中處理器大部分的時間都用于交換塊,而不是執(zhí)行指令。8.3 為什么在使用虛擬內(nèi)存時,局部性原理是至關(guān)重要的?
可以根據(jù)局部性原理設(shè)計算法來避免抖動??偟膩碚f,局部性原理允許算法預(yù)測哪一個當前頁在最近的未來是最少可能被使用的,并由此就決定候選的替換出的頁。8.4 哪些元素是頁表項中可以找到的元素?簡單定義每個元素。
幀號:用來表示主存中的頁來按順序排列的號碼。存在位(P):表示這一頁是否當前在主存中。修改位(M):表示這一頁在放進主存后是否被修改過。8.5 轉(zhuǎn)移后備緩沖器的目的是什么?
轉(zhuǎn)移后備緩沖器(TLB)是一個包含最近經(jīng)常被使用過的頁表項的高速緩沖存儲器。它的目的是為了減少從磁盤中恢復(fù)一個頁表項所需的時間。8.6 簡單定義兩種可供選擇的頁讀取策略。
在請求式分頁中,只有當訪問到某頁中的一個單元時才將該頁取入主存。在預(yù)約式分頁中,讀取的并不是頁錯誤請求的頁。8.7 駐留集管理和頁替換策略有什么區(qū)別?
駐留集管理主要關(guān)注以下兩個問題:(1)給每個活動進程分配多少個頁幀。(2)被考慮替換的頁集是僅限在引起頁錯誤的進程的駐留集中選擇還是在主存中所有的頁幀中選擇。
頁替換策略關(guān)注的是以下問題:在考慮的頁集中,哪一個特殊的頁應(yīng)該被選擇替換。8.8 FIFO和Clock頁替換算法有什么區(qū)別?
時鐘算法與FIFO算法很接近,除了在時鐘算法中,任何一個使用位為一的頁被忽略。8.9 頁緩沖實現(xiàn)的是什么?(1)被替換出駐留集的頁不久又被訪問到時,仍在主存中,減少了一次磁盤讀寫。
(2)被修改的頁以簇的方式被寫回,而不是一次只寫一個,這就大大減少了I/O操作的數(shù)目,從而減少了磁盤訪問的時間。
8.10 為什么不可能把全局替換策略和固定分配策略組合起來?
固定分配策略要求分配給一個進程的幀的數(shù)目是確定的,當一個進程中取入一個新的頁時,這個進程駐留頁集中的一頁必須被替換出來(保持分配的幀的數(shù)目不變),這是一種局部替換策略。8.11 駐留集和工作集有什么區(qū)別?
一個進程的駐留集是指當前在主存中的這個進程的頁的個數(shù)。一個進程的工作集是指這個進程最近被使用過的頁的個數(shù)。
8.12 請求式清除和預(yù)約式清除有什么區(qū)別?
在請求式清除中,只有當一頁被選擇用于替換時才被寫回輔存;
在預(yù)約式清除中,將這些被修改的多個頁在需要用到它們所占據(jù)的頁幀之前成批的寫回輔存。
第9章 單處理器調(diào)度
9.1 簡要描述三種類型的處理器調(diào)度。
長程調(diào)度:決定加入到待執(zhí)行的進程池中;
中程調(diào)度:決定加入到部分或全部在主存中的進程集合中; 短程調(diào)度:決定哪一個可用進程將被處理器執(zhí)行。9.2 在交互式操作系統(tǒng)中,通常最重要的性能要求是什么?
反應(yīng)時間
9.3 周轉(zhuǎn)時間和響應(yīng)時間有什么區(qū)別?
周轉(zhuǎn)時間是一個要求花費在系統(tǒng)上的包括等待時間和服務(wù)時間的總的時間。響應(yīng)時間對一個交互進程,這是指從提交一個請求到開始接受響應(yīng)之間的時間間隔。通常進程在處理該請求的同時,就開始給用戶產(chǎn)生一些輸出。
9.4 對進程調(diào)度,較小的優(yōu)先級值表示較低的優(yōu)先級還是較高的優(yōu)先級?
在UNIX和許多其他系統(tǒng)中,大的優(yōu)先級值表示低優(yōu)先級進程。許多系統(tǒng),比如WINDOWS,剛好相反,大數(shù)值表示高優(yōu)先級。
9.5 搶占式和非搶占式調(diào)度有什么區(qū)別?
非搶占:在這種情況下,一旦進程處于運行態(tài),他就不斷執(zhí)行直到終止,或者為等待I/O或請求某些操作系統(tǒng)服務(wù)而阻塞自己。
搶占:當前正在運行的進程可能被操作系統(tǒng)中斷,并轉(zhuǎn)移到就緒態(tài)。關(guān)于搶占的決策可能是在一個新進程到達時,或者在一個中斷發(fā)生后把一個被阻塞的進程置為就緒態(tài)時,或者基于周期性的時間中斷。9.6 簡單定義FCFS調(diào)度。
當每個進程就緒后,它加入就緒隊列。當當前正在運行的進程停止執(zhí)行時,選擇在就緒隊列中存在時間最長的進程運行。9.7 簡單定義輪轉(zhuǎn)調(diào)度
以一個周期性間隔產(chǎn)生時鐘中斷,當中斷產(chǎn)生時,當前正在運行的的進程被置于就緒隊列中,然后基于FCFS策略選擇下一個就緒作業(yè)運行。9.8 簡單定義最短進程優(yōu)先調(diào)度。
這是一個非搶占的策略,其原則是下一次選擇所需處理時間最短的進程。9.9 簡單定義最短剩余時間調(diào)度。
最短剩余時間是針對SPN增加了搶占機制的版本。在這種情況下,調(diào)度器總是選擇預(yù)期剩余時間最短的進程。當一個新進程加入到就緒隊列時,他可能比當前運行的進程具有更短的剩余時間,因此,只有新進程就緒,調(diào)度器就可能搶占當前正在運行的進程。9.10 簡單定義最高響應(yīng)比優(yōu)先調(diào)度。在當前進程完成或被阻塞時,選擇R值最大的就緒進程。R=(w+s)/s,w等待處理器的時間,s期待的服務(wù)時間。
9.1 1簡單定義反饋調(diào)度。
調(diào)度基于搶占原則并且使用動態(tài)優(yōu)先級機制。當一個進程第一次進入系統(tǒng)時,它被放置在RQ0。當它第一次被搶占后并返回就緒狀態(tài)時,它被防止在RQ1。在隨后的時間里,每當它被搶占時,它被降級到下一個低優(yōu)先級隊列中。一個短進程很快會執(zhí)行完,不會在就緒隊列中降很多級。一個長進程會逐級下降。因此,新到的進程和短進程優(yōu)先于老進程和長進程。在每個隊列中,除了在優(yōu)先級最低的隊列中,都使用簡單的FCFS機制。一旦一個進程處于優(yōu)先級最低的隊列中,它就不可能再降低,但是會重復(fù)地返回該隊列,直到運行結(jié)束。
第10章 多處理器和實時調(diào)度
10.1 列出并簡單定義五種不同級別的同步粒度。
細粒度:單指令流中固有的并行;
中等粒度:在一個單獨應(yīng)用中的并行處理或多任務(wù)處理; 粗粒度:在多道程序環(huán)境中并發(fā)進程的多處理;
非常粗粒度:在網(wǎng)絡(luò)節(jié)點上進行分布處理,以形成一個計算環(huán)境; 無約束粒度:多個無關(guān)進程。
10.2 列出并簡單定義線程調(diào)度的四種技術(shù)。
加載共享:進程不是分配到一個特定的處理器,而是維護一個就緒進程的全局隊列,每個處理器只要空閑就從隊列中選擇一個線程。這里使用術(shù)語加載共享來區(qū)分這種策略和加載平衡方案,加載平衡是基于一種比較永久的分配方案分配工作的。
組調(diào)度:一組相關(guān)的線程基于一對一的原則,同時調(diào)度到一組處理器上運行。
專用處理器分配:在程序執(zhí)行過程中,每個程序被分配給一組處理器,處理器的數(shù)目與程序中的線程的數(shù)目相等。當程序終止是,處理器返回到總的處理器池中,可供分配給另一個程序。動態(tài)調(diào)度:在執(zhí)行期間,進程中線程的數(shù)目可以改變。10.3 列出并簡單定義三種版本的負載分配。
先來先服務(wù)(FCFS):當一個作業(yè)到達時,它的所有線程都被連續(xù)地放置在共享隊列末尾。當一個處理器變得空閑時,它選擇下一個就緒線程執(zhí)行,直到完成或阻塞。最少線程數(shù)優(yōu)先:共享就緒隊列被組織成一個優(yōu)先級隊列,如果一個作業(yè)包含的未調(diào)度線程數(shù)目最少,則給它指定最高的優(yōu)先級。具有同等優(yōu)先級的隊列按作業(yè)到達的順序排隊。和FCFS一樣,被調(diào)度的線程一直運行到完成或阻塞。
可搶占的最少線程數(shù)優(yōu)先:最高的的優(yōu)先級給予包含的未被調(diào)度的線程數(shù)目最少的作業(yè)。剛到達的作業(yè)如果包含的線程數(shù)目少于正在執(zhí)行的作業(yè),它將搶占屬于這個被調(diào)度作業(yè)的線程。10.硬實時任務(wù)和軟實時任務(wù)有什么區(qū)別?
硬實時任務(wù)指必須滿足最后期限的限制,否則會給系統(tǒng)帶來不可接受的破壞或者致命的錯誤。
軟實時任務(wù)也有一個與之相關(guān)聯(lián)的最后期限,并希望能滿足這個期限的要求,但是這并不是強制的,即使超過了最后期限,調(diào)度和完成這個任務(wù)仍然是有意義的。10.5 周期性實時任務(wù)和非周期性實時任務(wù)有什么區(qū)別?
非周期任務(wù)有一個必須結(jié)束或開始的最后期限,或者有一個關(guān)于開始時間和結(jié)束時間的約束。而對于周期任務(wù),這個要求描述成“每隔周期T一次”或“每隔T個單位”。10.6 列出并簡單定義對實時操作系統(tǒng)的五方面的要求。
可確定性:在某中程度上是指它可以按固定的、預(yù)先確定的時間或時間間隔執(zhí)行操作??身憫?yīng)性:它關(guān)注的是在知道中斷之后操作系統(tǒng)未中斷提供服務(wù)的時間
用戶控制:用戶應(yīng)該能夠區(qū)分硬實時任務(wù)和軟實時任務(wù),并且在每一類中確定相對優(yōu)先級。實時系統(tǒng)還允許用戶指定一些特性,例如使用分頁還是進程交換、哪一個進程必須常駐主存、使用何種磁盤算法、不同的優(yōu)先級的進程各有哪些權(quán)限等。
可靠性 :可靠性必須提供這樣一種方式,以繼續(xù)滿足實時最后期限。
故障弱化操作:故障弱化操作指系統(tǒng)在故障時盡可能多的保存其性能和數(shù)據(jù)的能力。10.7 列出并簡單定義四類實時調(diào)度算法。
靜態(tài)表驅(qū)動法:執(zhí)行關(guān)于可行調(diào)度的靜態(tài)分析。分析的結(jié)果是一個調(diào)度,它用于確定在運行時一個任務(wù)何時必須開始執(zhí)行。
靜態(tài)優(yōu)先級驅(qū)動搶占法:同樣,執(zhí)行一個靜態(tài)分析,但是沒有制定調(diào)度,而且用于給任務(wù)指定優(yōu)先級,使得可以使用傳統(tǒng)的優(yōu)先級驅(qū)動的搶占式調(diào)度器。
基于動態(tài)規(guī)劃調(diào)度法:在運行是動態(tài)地確定可行性,而不是在開始運行前離線的確定(靜態(tài))。一個到達的任務(wù),只有當能夠滿足它的時間約束時,才可以被接受執(zhí)行??尚行苑治龅慕Y(jié)果是一個調(diào)度或規(guī)劃,可用于確定何時分派這個任務(wù)。
動態(tài)盡力調(diào)度法:不執(zhí)行可行性分析。系統(tǒng)試圖滿足所有的最后期限,并終止任何已經(jīng)開始運行但錯過最后期限的進程。
10.8 關(guān)于一個任務(wù)的哪些信息在實時調(diào)度是非常有用?
就緒時間:任務(wù)開始準備執(zhí)行的時間。對于重復(fù)或周期性的任務(wù),這實際上是一個事先知道的時間序列。而對于非周期性的任務(wù),或者也事先知道這個時間,或者操作系統(tǒng)僅僅知道什么時候任務(wù)真正就緒。
啟動最后期限:任務(wù)必須開始的時間。
完成最后期限:任務(wù)必須完成的時間。典型的實時應(yīng)用程序或者有啟動最后期限,或者有完成最后期限,但不會兩者都存在。
處理時間:從執(zhí)行任務(wù)直到完成任務(wù)所需的時間。在某些情況下,可以提供這個時間,而在另外一些情況下,操作系統(tǒng)度量指數(shù)平均值。其他調(diào)度系統(tǒng)沒有使用這個信息。資源需求:任務(wù)在執(zhí)行過程中所需的資源集合(處理器以外的資源)。
優(yōu)先級:度量任務(wù)的相對重要性。硬實時任務(wù)可能具有絕對的優(yōu)先級,因為如果錯過最后期限則會導(dǎo)致系統(tǒng)失敗。如果系統(tǒng)無論如何也要繼續(xù)運行,則硬實時任務(wù)和軟實時任務(wù)可以被指定相關(guān)的優(yōu)先級,以指導(dǎo)調(diào)度器。
子任務(wù)結(jié)構(gòu):一個任務(wù)可以分解成一個必須執(zhí)行的子任務(wù)和一個可選的子任務(wù)。只有必須執(zhí)行的子任務(wù)擁有硬最后期限。
第11章 I/O管理和磁盤調(diào)度
11.1 列出并簡單定義執(zhí)行I/O的三種技術(shù)。
可編程I/O:處理器代表進程給I/O模塊發(fā)送給一個I/O命令,該進程進入忙等待,等待操作的完成,然后才可以繼續(xù)執(zhí)行。
中斷驅(qū)動I/O:處理器代表進程向I/O模塊發(fā)送一個I/O命令,然后繼續(xù)執(zhí)行后續(xù)指令,當I/O模塊完成工作后,處理器被該模塊中斷。如果該進程不需要等待I/O完成,則后續(xù)指令可以仍是該進程中的指令,否則,該進程在這個中斷上被掛起,處理器執(zhí)行其他工作。直接存儲器訪問(DMA):一個DMA模塊控制主存和I/O模塊之間的數(shù)據(jù)交換。為傳送一塊數(shù)據(jù),處理器給DMA模塊發(fā)送請求,只有當整個數(shù)據(jù)塊傳送完成后,處理器才被中斷。11.2 邏輯I/O和設(shè)備I/O有什么區(qū)別?
邏輯I/O:邏輯I/O模塊把設(shè)備當作一個邏輯資源來處理,它并不關(guān)心實際控制設(shè)備的細節(jié)。邏輯I/O模塊代表用戶進程管理的一般I/O功能,允許它們根據(jù)設(shè)備標識符以及諸如打開、關(guān)閉、讀、寫之類的簡單命令與設(shè)備打交道。
設(shè)備I/O:請求的操作和數(shù)據(jù)(緩沖的數(shù)據(jù)、記錄等)被轉(zhuǎn)換成適當?shù)腎/O指令序列、通道命令和控制器命令??梢允褂镁彌_技術(shù),以提高使用率。
11.3 面向塊的設(shè)備和面向流的設(shè)備有什么區(qū)別?請舉例說明。面向塊的設(shè)備將信息保存在塊中,塊的大小通常是固定的,傳輸過程中一次傳送一塊。通??梢酝ㄟ^塊號訪問數(shù)據(jù)。磁盤和磁帶都是面向塊的設(shè)備。
面向流的設(shè)備以字節(jié)流的方式輸入輸出數(shù)據(jù),其末使用塊結(jié)構(gòu)。終端、打印機通信端口、鼠標和其他指示設(shè)備以及大多數(shù)非輔存的其他設(shè)備,都屬于面向流的設(shè)備。11.4 為什么希望用雙緩沖區(qū)而不是單緩沖區(qū)來提高I/O的性能?
雙緩沖允許兩個操作并行處理,而不是依次處理。典型的,在一個進程往一個緩沖區(qū)中傳送數(shù)據(jù)(從這個緩沖區(qū)中取數(shù)據(jù))的同時,操作系統(tǒng)正在清空(或者填充)另一個緩沖區(qū)。11.5 在磁盤讀或?qū)憰r有哪些延遲因素?
尋道時間,旋轉(zhuǎn)延遲,傳送時間
11.6 簡單定義圖11.7中描述的磁盤調(diào)度策略。
FIFO:按照先來先服務(wù)的順序處理隊列中的項目。
SSTF:選擇使磁頭臂從當前位置開始移動最少的磁盤I/O請求。
SCAN:磁頭臂僅僅沿一個方向移動,并在途中滿足所有未完成的請求,直到它到達這個方向上最后一個磁道,或者在這個方向上沒有其他請求為止。接著反轉(zhuǎn)服務(wù)方向,沿相反方向掃描,同樣按順序完成所有請求。
C-SCAN:類似于SCAN,11.7 簡單定義圖7層RAID。
0:非冗余
1:被鏡像;每個磁盤都有一個包含相同數(shù)據(jù)的鏡像磁盤。
2:通過漢明碼實現(xiàn)冗余;對每個數(shù)據(jù)磁盤中的相應(yīng)都計算一個錯誤校正碼,并且這個碼位保存在多個奇偶校驗磁盤中相應(yīng)的文件。
3:交錯位奇偶校驗;類似于第二層,不同之處在于RAID3為所有數(shù)據(jù)磁盤中同一位置的位的集合計算一個簡單的奇偶校驗位,而不是錯誤校正碼。
4:交錯塊分布奇偶校驗;對每個數(shù)據(jù)磁盤中相應(yīng)的條帶計算一個逐位奇偶。5:交錯塊分布奇偶校驗;類似于第四層,但把奇偶校驗條帶分布在所有磁盤中。6:交錯塊雙重分布奇偶校驗;兩種不同的奇偶校驗計算保存在不同磁盤的不同塊中。11.8 典型的磁盤扇區(qū)大小是多少?
512比特
第12章 文件管理
12.1 域和記錄有什么不同?
域(field)是基本數(shù)據(jù)單位。一個域包含一個值。
記錄(record)是一組相關(guān)的域的集合,它可以看做是應(yīng)用程序的一個單元。12.2 文件和數(shù)據(jù)庫有什么不同?
文件(file)是一組相似記錄的集合,它被用戶和應(yīng)用程序看做是一個實體,并可以通過名字訪問。數(shù)據(jù)庫(database)是一組相關(guān)的數(shù)據(jù)集合,它的本質(zhì)特征是數(shù)據(jù)元素間存在著明確的關(guān)系,并且可供不同的應(yīng)用程序使用。12.3 什么是文件管理系統(tǒng)?
文件管理系統(tǒng)是一組系統(tǒng)軟件,為使用文件的用戶和應(yīng)用程序提供服務(wù)。12.4 選擇文件組織時的重要原則是什么?
訪問快速,易于修改,節(jié)約存儲空間,維護簡單,可靠性。12.5 列出并簡單定義五種文件組織。
堆是最簡單的文件組織形式。數(shù)據(jù)按它們到達的順序被采集,每個記錄由一串數(shù)據(jù)組成。
順序文件是最常用的文件組織形式。在這類文件中,每個記錄都使用一種固定的格式。所有記錄都具有相同的長度,并且由相同數(shù)目、長度固定的域按特定的順序組成。由于每個域的長度和位置已知,因此只需要保存各個域的值,每個域的域名和長度是該文件結(jié)構(gòu)的屬性。索引順序文件保留了順序文件的關(guān)鍵特征:記錄按照關(guān)鍵域的順序組織起來。但它還增加了兩個特征:用于支持隨機訪問的文件索引和溢出文件。索引提供了快速接近目標記錄的查找能力。溢出文件類似于順序文件中使用的日志文件,但是溢出文件中的記錄可以根據(jù)它前面記錄的指針進行定位。
索引文件:只能通過索引來訪問記錄。其結(jié)果是對記錄的放置位置不再有限制,只要至少有一個索引的指針指向這條記錄即可。此外,還可以使用長度可變的記錄。直接文件或散列文件:直接文件使用基于關(guān)鍵字的散列。
12.6 為什么在索引順序文件中查找一個記錄的平均搜索時間小于在順序文件中的平均搜索時間?
在順序文件中,查找一個記錄是按順序檢測每一個記錄直到有一個包含符合條件的關(guān)鍵域值的記錄被找到。索引順序文件提供一個執(zhí)行最小窮舉搜索的索引結(jié)構(gòu)。12.7 對目錄執(zhí)行的典型操作有哪些?
搜索,創(chuàng)建文件,刪除文件,顯示目錄,修改目錄。12.8 路徑名和工作目錄有什么關(guān)系?
路徑名是由一系列從根目錄或主目錄向下到各個分支,最后直到該文件的路徑中的目錄名和最后到達的文件名組成。工作目錄是一個這樣的目錄,它是含有用戶正在使用的當前目錄的樹形結(jié)構(gòu)。12.9 可以授予或拒絕的某個特定用戶對某個特定文件的訪問權(quán)限通常有哪些?
無(none),知道(knowledge),執(zhí)行(execution),讀(reading),追加(appending),更新(updating),改變保護(changing protection),刪除(deletion)。12.10 列出并簡單定義三種組塊方式。
固定組塊(fixed blocking):使用固定長度的記錄,并且若干條完整的記錄被保存在一個塊中。在每個塊的末尾可能會有一些未使用的空間,稱為內(nèi)部碎片。可變長度跨越式組塊(variable-length spanned blocking):使用長度可變的記錄,并且緊縮到塊中,使得塊中沒有未使用空間。因此,某些記錄可能會跨越兩個塊,通過一個指向后繼塊的指針連接??勺冮L度非跨越式組塊(variable-length unspanned blocking):使用可變長度的記錄,但并不采用跨越的方式。如果下一條記錄比塊中剩余的未使用空間大,則無法使用這一部分,因此在大多數(shù)塊中都會有未使用的空間。
12.11 列出并簡單定義三種文件分配方法。
連續(xù)分配是指在創(chuàng)建文件時,給文件分配一組連續(xù)的塊。鏈式分配基于單個的塊,鏈中的每一塊都包含指向下一塊的指針。索引分配:每個文件在文件分配表中有一個一級索引,分配給該文件的每個分區(qū)在索引中都有一個表項。
第13章 網(wǎng) 絡(luò)
13.1 網(wǎng)絡(luò)訪問層的主要功能是什么?
網(wǎng)絡(luò)層主要關(guān)注在兩個端系統(tǒng)(服務(wù)器、工作站)之間的數(shù)據(jù)交換,以及端系統(tǒng)間的物理網(wǎng)絡(luò)。13.2 傳輸層的任務(wù)是什么?
傳輸層關(guān)注的是數(shù)據(jù)的可靠性和保證數(shù)據(jù)能正確到達接收端應(yīng)用程序。13.3 什么是協(xié)議?
協(xié)議是定義了用來管理兩個單元間進行數(shù)據(jù)交換的一系列規(guī)則的集合。13.4 什么是協(xié)議體系結(jié)構(gòu)?
這是一種實現(xiàn)通信功能的軟件結(jié)構(gòu)。典型地,協(xié)議結(jié)構(gòu)包含了一個分層化的協(xié)議集,并且每個層中有一個或多個協(xié)議。13.5 什么是TCP/IP?
傳輸控制協(xié)議/互聯(lián)網(wǎng)協(xié)議(TCP/IP)是兩個最初為網(wǎng)際互連提供低層支持而設(shè)計的協(xié)議。TCP/IP協(xié)也被廣泛應(yīng)用于涉及由美國防衛(wèi)部門和因特爾團體發(fā)展的比較廣泛的協(xié)議集。13.6 使用套接字接口的目的是什么? 套接字接口是一個能夠編寫程序的API,從而利用TCP/IP 協(xié)議程序建立一個用戶端和服務(wù)器之間的通信。
第14章
分布式處理、客戶/服務(wù)器和集群
14.1 什么是客戶/服務(wù)器計算?
客戶/服務(wù)器計算是一個網(wǎng)絡(luò)環(huán)境,在這個網(wǎng)絡(luò)環(huán)境中包含著客戶機和服務(wù)器,并由服務(wù)器來響應(yīng)客戶機的請求。
14.2 客戶/服務(wù)器計算與任何其他形式的分布式數(shù)據(jù)處理的區(qū)別是什么?
1、在用戶的本地系統(tǒng)上為該用戶提供界面友好的應(yīng)用程序,這樣做可使系統(tǒng)具有更高的可靠性。這使得用戶可以在很大程度上控制對計算機的使用方式和時間,并使得部門級管理者具有響應(yīng)本地需求的能力。
2、盡管應(yīng)用是分散開的,但仍然強調(diào)公司數(shù)據(jù)庫的集中以及很多網(wǎng)絡(luò)管理和使用功能的集中。這使公司的管理者能夠?qū)τ嬎阈畔⑾到y(tǒng)的投資總額進行總體控制,并提供互操作,以使多系統(tǒng)能夠配合起來。同時,減少了各部門和單位在維護這些復(fù)雜的計算機設(shè)施時的開銷,使他們能夠選擇他們需要的各種類型的機器和接口來訪問那些數(shù)據(jù)和信息。
3、對于用戶組織和廠商來說,他們有一個共同的承諾事項,即使系統(tǒng)開放和模塊化。這意味著用戶在選擇產(chǎn)品和混和使用來自眾多廠商的設(shè)備時具有很多選擇。
4、網(wǎng)絡(luò)互聯(lián)是操作的基礎(chǔ),網(wǎng)絡(luò)管理和網(wǎng)絡(luò)安全在組織和操作信息系統(tǒng)中具有很高的優(yōu)先權(quán)。14.3 像TCP/IP這樣的通信結(jié)構(gòu)在客戶/服務(wù)器計算環(huán)境中的作用是什么?
它是使客戶端和服務(wù)器能夠協(xié)同工作的通信軟件。
14.4 討論將應(yīng)用程序定位在客戶上、服務(wù)器上或分開定位在客戶和服務(wù)器上的基本原理。
基于服務(wù)器的處理:這種配置的基本原理是用戶工作站最適宜于提供良好的用戶界面,并且數(shù)據(jù)庫和應(yīng)用程序很容易在中心系統(tǒng)上維護。盡管用戶獲得了良好界面的好處,但是,這種配置類型并不總能有效提高處理效率或系統(tǒng)支持的實際商業(yè)功能上有本質(zhì)的改變。基于客戶的處理:它使用戶能夠使用適應(yīng)本地需要的應(yīng)用。合作處理:這種配置類型可以比其他客戶/服務(wù)器方式為用戶提供更高的生產(chǎn)效率和更高的網(wǎng)絡(luò)效率。
14.5 什么是胖客戶和瘦客戶,兩種方法在基本原理上的差別是什么?
胖客戶:這是基于客戶的處理,而大部分的軟件都集中在客戶端。胖客戶模型的主要優(yōu)點是它充分利用了桌面功能,分擔了服務(wù)器上的應(yīng)用處理并使它們更加有效,不容易產(chǎn)生瓶頸。
瘦客戶:這是基于服務(wù)器的處理,而大部分的軟件都集中在服務(wù)器。這種方式更近似地模擬了傳統(tǒng)的以主機為中心的方式,常常是使將公司范圍的應(yīng)用程序從大型機環(huán)境遷移到分布式環(huán)境的途徑。14.6 給出將pros和cons用于胖客戶和瘦客戶策略的建議。
胖客戶:胖客戶模型的主要優(yōu)點是它充分利用了桌面功能,分擔了服務(wù)器上的應(yīng)用處理并使它們更加有效,不容易產(chǎn)生瓶頸。新增加的功能很快就超出了桌面機器的處理能力,迫使公司進行升級。如果模型擴充超出了部門的界限,合并了很多用戶,則公司必須安裝高容量局域網(wǎng)來支持在瘦服務(wù)器和胖客戶之間進行大量的傳輸。最后,維護、升級或替換分布于數(shù)十臺或數(shù)百臺桌面機的應(yīng)用程序?qū)⒆兊梅浅@щy。瘦客戶:這種方式更近似地模擬了傳統(tǒng)的以主機為中心的方式,常常是使將公司范圍的應(yīng)用程序從大型機環(huán)境遷移到分布式環(huán)境的途徑。但是它不能提供和胖客戶策略一樣的靈活性。14.7 解釋三層客戶/服務(wù)器體系結(jié)構(gòu)的基本原理。
中間層機器基本上是位于用戶客戶和很多后端數(shù)據(jù)庫服務(wù)器之間的網(wǎng)關(guān)。中間層機器能夠轉(zhuǎn)換協(xié)議,將對一種類型的數(shù)據(jù)庫查詢映像為另一種類型數(shù)據(jù)庫的查詢。另外,中間層機器能夠融合來自不同數(shù)據(jù)源的結(jié)果。最后,中間層機器因介于兩個層次之間而可以充當桌面應(yīng)用程序和后端應(yīng)用程序之間的網(wǎng)關(guān)。
14.8 什么是中間件?
中間件是在上層應(yīng)用程序和下層通信軟件和操作系統(tǒng)之間使用標準的編程接口和協(xié)議。它提供統(tǒng)一的方式和方法來跨越各種平臺訪問系統(tǒng)資源。
14.9 既然具有像TCP/IP這樣的標準,為什么還需要中間件?
TCP/IP不提供API和中間層協(xié)定來支持應(yīng)用于不同的硬件和操作系統(tǒng)的多種應(yīng)用程序平臺。14.10 列出消息傳遞的阻塞原語和無阻塞原語的優(yōu)缺點。
無阻塞原語為進程提供了對消息傳遞機制高效而靈活的使用,這種方法的缺點是難于測試和調(diào)試使用這些原語的程序。問題的不可再現(xiàn)性與時間順序相關(guān)性往往導(dǎo)致產(chǎn)生很多奇怪而麻煩的問題。阻塞原語有與無阻塞原語相反的優(yōu)缺點。
14.11 列出遠程過程調(diào)用的非永久性和永久性綁定的優(yōu)缺點。
非永久綁定:因為連接需要維持兩端的狀態(tài)信息,因此需要消耗資源,非永久綁定類型用于保存這些資源。另一方面,建立連接所帶來的開銷使非永久綁定對同一個調(diào)用者頻繁調(diào)用遠程過程的情況不太適用。
永久綁定:對于對遠程過程進行多次重復(fù)調(diào)用的應(yīng)用程序,永久綁定保持著邏輯連接,并支持使用同一連接進行一系列的調(diào)用和返回。
14.12 列出同步遠程過程調(diào)用和異步遠程過程調(diào)用的優(yōu)缺點。
同步遠程過程調(diào)用易于理解和編程,因為它的行為是可以預(yù)期的。然而,它未能發(fā)揮分布式應(yīng)用中固有的全部并行性。這就限制了分布式應(yīng)用所能具有的交互性,降低了性能。為了提供更大的靈活性,各種異步遠程過程調(diào)用機制已經(jīng)得到實現(xiàn),以獲得更大程度的并行性而同時又保留了遠程過程調(diào)用的通俗性和簡易性。異步遠程過程調(diào)用并不阻塞調(diào)用者,應(yīng)答也可以在需要它們時接收到,這使客戶在本地的執(zhí)行可以與對服務(wù)器的調(diào)用并行進行。14.13 列出并簡短定義四種不同的構(gòu)建集群的方法。
被動等待:當主服務(wù)器出現(xiàn)故障時,由從服務(wù)器來接管。
分離服務(wù)器:各服務(wù)器具有獨自的磁盤,數(shù)據(jù)可連續(xù)地從主服務(wù)器復(fù)制至從服務(wù)器。
各服務(wù)器連接到磁盤:所有服務(wù)器都連接到同一磁盤,但每臺服務(wù)器仍擁有自己的磁盤,一旦某臺服務(wù)器發(fā)生故障,則其磁盤被其他服務(wù)器接管。共享磁盤:多臺服務(wù)器同時共享對磁盤的訪問。
第15章
分布式進程管理
15.1 討論實現(xiàn)進程遷移的原因。
負載共享:通過將進程從負載較重的系統(tǒng)遷移到負載較輕的系統(tǒng),負載就會得到平衡,從而提高整體性能。通信性能:可以將交互密集的多個進程移動到同一節(jié)點上,以減少因為它們之間的交互而帶來的通信開銷。同樣,當一個進程在某些文件或某組文件上執(zhí)行數(shù)據(jù)分析,且文件的大小比進程要大很多時,將該進程移動到數(shù)據(jù)端也許是更有利的??捎眯裕盒枰L時間運行的進程,在得到錯誤的預(yù)先通知時,或者在預(yù)定的關(guān)機時間之前,為了能夠存活下來,可能需要遷移到其他機器中。如果操作系統(tǒng)提供了這樣的通知,則那些需要繼續(xù)運行的進程可以遷移到另一個系統(tǒng)上,或者保證在稍后的某個時間在當前系統(tǒng)上能重新啟動。特殊功能的使用:進程的遷移可以充分利用特定節(jié)點上獨特的硬件或軟件功能。
15.2 在進程遷移過程中,進程地址空間是如何處理的?
下列策略可能被采用:Eager(all):在遷移時轉(zhuǎn)移整個地址空間。預(yù)先復(fù)制(precopy):進程繼續(xù)在源節(jié)點上執(zhí)行,而地址空間已經(jīng)復(fù)制到了目標節(jié)點上。在預(yù)先復(fù)制的過程中,源節(jié)點上的某些頁有可能又被修改,這些頁必須被復(fù)制第二次。Eager(dirty):僅僅轉(zhuǎn)移那些位于主存中且已被修改了的地址空間的頁。虛地址空間的所有其他塊將在需要時才轉(zhuǎn)移。
基于引用的復(fù)制(copy-on-reference):這是Eager(dirty)的變體,只有在引用某頁時,該頁才被取入。
刷新(flushing):通過把臟頁寫回磁盤,該進程的頁可以從源機器的主存中清除。這樣,在需要時可以從磁盤訪問到頁,而不是從源節(jié)點的存儲器中訪問。15.3 搶占式和非搶占式進程遷移的動機是什么?
非搶占式進程遷移對于負載平衡是很有用的,它的優(yōu)點是能夠避免全面性進程遷移的開銷,缺點是該方法對于負載分布的突然變化反應(yīng)不佳。15.4 為什么不可能確定真正的全局狀態(tài)?
因為系統(tǒng)之間的通信延遲,不可能在系統(tǒng)范圍內(nèi)維護一個所有系統(tǒng)都隨時可用的時鐘。而且,維護一個中央時鐘并讓所有本地時鐘與之保持精確同步,這在技術(shù)上也是不現(xiàn)實的,因為經(jīng)過一段時間后,在各個本地時鐘之間就會產(chǎn)生一些偏差,這將導(dǎo)致同步的丟失。15.5 集中式算法和分布式算法所實行的分布式互斥有何區(qū)別?
在完全集中式算法中,一個節(jié)點被指定為控制節(jié)點,它控制對所有共享對象的訪問。當任何進程請求對一個臨界資源進行訪問時,就向本地資源控制進程發(fā)送一個請求,這個進程接著向控制節(jié)點發(fā)送一條請求消息,當共享對象可用時,將返回一條許可消息。當進程結(jié)束使用資源后,向控制節(jié)點發(fā)送一條釋放消息。
在分布式算法中,互斥算法涉及到每個離散的實體之間的同步合作。15.6 定義兩種類型的分布式死鎖。
在資源分配中產(chǎn)生的死鎖以及由于消息通信而產(chǎn)生的死鎖。
第16章 安全
16.1 計算機安全的基礎(chǔ)要求是什么?
機密性,完整性,可用性,可靠性。
16.2 主動安全攻擊和被動安全攻擊有什么不同?
被動攻擊在本質(zhì)上是對傳輸進行竊聽或監(jiān)視。對方的目標是獲取正在傳輸?shù)男畔?。主動攻擊包括對?shù)據(jù)或數(shù)據(jù)流的更改或者生成錯誤的數(shù)據(jù)或數(shù)據(jù)流。
16.3 列出并簡單定義主動安全攻擊和被動安全攻擊的分類。
被動攻擊:①釋放消息內(nèi)容:未被授權(quán)的人或程序了解了文件或消息的內(nèi)容;②通信分析:通過分析數(shù)據(jù)傳輸模式來獲取信息。
主動攻擊:①偽裝:一個實體假裝成另一個不同的實體;②重放:被動地捕獲一個數(shù)據(jù)單元,然后再把它重發(fā)以產(chǎn)生未經(jīng)授權(quán)的結(jié)果;③更改消息:改變合法消息的某些部分,或者消息被延遲或記錄下來,產(chǎn)生未授權(quán)的結(jié)果;④拒絕服務(wù):阻止或禁止對通信設(shè)施的正確使用或管理。16.4 大多數(shù)通用的用戶訪問控制技術(shù)都要求有哪些元素?
在共享系統(tǒng)或服務(wù)器上,用戶訪問控制的最普遍的技術(shù)是用戶登錄,這需要一個用戶標識符(ID)和一個口令。
16.5 在訪問控制中,主體和對象有什么區(qū)別?
主體(subject):能夠訪問對象的實體。一般地,主體概念等同于進程。任何用戶或應(yīng)用程序獲取對一個對象的訪問,實際上是通過一個代表該用戶或應(yīng)用程序的進程。對象(object):訪問控制所針對的一切。例如文件、文件的某些部分、程序、內(nèi)存段以及軟件對象。16.6 解釋圖16.6中salt的目的。
salt有三方面的作用:⑴防止在口令文件中出現(xiàn)相同的口令。即使有兩個用戶選擇了相同的口令,那些口令也將被指定不同的時間,因此,兩個用戶的“擴展”口令是不同的。⑵有效地增加口令的長度,而不要求用戶記住那兩個額外的字符。因此,可能的口令個數(shù)增加了4096,從而增加了猜測口令的難度。⑶防止使用DES的硬件實現(xiàn),硬件實現(xiàn)會使蠻力猜測攻擊變得容易。16.7 解釋統(tǒng)計異常入侵檢測和基于規(guī)則的入侵檢測有什么不同?
統(tǒng)計異常檢測:包括收集在一段時間上與合法用戶的行為有關(guān)的數(shù)據(jù)。然后對觀察到的行為進行統(tǒng)計試驗,以高度的信心來確定該行為是否是合法用戶的行為。基于規(guī)則的檢測:包括定義一組規(guī)則的工作,該組規(guī)則用于決定一個已知的行為是否是入侵者的行為。16.8 1999年和2000年開發(fā)的電子郵件附件和電子郵件VBS惡意軟件(如Melissa、love letter)稱為電子郵件病毒。請問用術(shù)語電子郵件蠕蟲是否更正確一些?
這兩種術(shù)語都合適。術(shù)語電子郵件蠕蟲通常是一個獨立的程序而不是嵌入其他程序的一個程序塊,因此電子郵件病毒更正確一些。
16.9 加密在病毒設(shè)計中扮演著什么角色?
加密技術(shù)將以如下方式被使用:有一部分病毒,一般稱為變種引擎,它生成一個隨機的密鑰來加密病毒剩余的部分。該密鑰與病毒一起存儲,變種引擎自身卻改變了。當受到感染的程序喚起執(zhí)行時,病毒使用這個存儲的隨機密鑰來解密病毒。當病毒復(fù)制時,選擇另一個不同的隨機密鑰。16.10 攻擊常規(guī)加密方案的兩種通用方法什么?
密碼分析:依靠算法的本質(zhì)和關(guān)于明文一般特點的知識,甚至一些“明文-密文對”來進行攻擊。這類攻擊利用算法的特性,試圖推導(dǎo)出具體的明文,或者推導(dǎo)出使用的密鑰。
強力攻擊:它在一塊密文上嘗試每種可能的密鑰,直到轉(zhuǎn)換得到一個可理解的明文。16.11 什么是DES和三重DEA?
DES是被NIST標準化的一個廣泛應(yīng)用的傳統(tǒng)編碼標準。最初的DES指定了一個數(shù)據(jù)編碼運算法則(DEA)。最近的標準的版本也包括使用三重DEA的選擇項,用二或三個獨立的密鑰重復(fù)基本的DEA三次。16.12 AES是如何改進三重DEA的?
AES被期望在軟件中運行得比TDEA更快。同時, AES使用更大的塊尺寸,這可以提高安全性。16.13 在評估AES候選者時,將使用什么評估原則?
評估原則包括安全性、計算效率、需要的存儲量、硬件和軟件的適用性和靈活性。16.14 解釋常規(guī)加密和公鑰加密有什么不同。
在傳統(tǒng)編碼中,編碼和解碼使用相同的密鑰。公鑰編碼中有一對密鑰,一個用于編碼而另一個用于解碼。這二個密鑰中只有一個需要被保留私用。16.15 術(shù)語公鑰、私鑰和密鑰的區(qū)別是什么?
對稱加密中的密鑰通常稱為密鑰。公鑰加密中使用的兩個密鑰稱為公鑰和私鑰。私鑰總是保密的,之所以將它稱為私鑰,是為了避免與對稱加密中的密鑰混淆。
第三篇:操作系統(tǒng)文件管理練習(xí)及答案
文件管理 練習(xí)題(一)單項選擇題
1.操作系統(tǒng)對文件實行統(tǒng)一管理,最基本的是為用戶提供()功能。A.按名存取 B.文件共享 C.文件保護 D.提高文件的存取速度
2.按文件用途分類,編譯程序是()。A.系統(tǒng)文件 B.庫文件 C.用戶文件 D.檔案文件
3.()是指將信息加工形成具有保留價值的文件。A.庫文件 B.檔案文件 C.系統(tǒng)文件 D.臨時文件 4.把一個文件保存在多個卷上稱為()。A.單文件卷 B.多文件卷 C.多卷文件 D.多卷多文件
5.采取哪種文件存取方式,主要取決于()。A.用戶的使用要求 B.存儲介質(zhì)的特性 C.用戶的使用要求和存儲介質(zhì)的特性 D.文件的邏輯結(jié)構(gòu) 6.文件系統(tǒng)的按名存取主要是通過()實現(xiàn)的。A.存儲空間管理 B.目錄管理 C.文件安全性管理 D.文件讀寫管理
7.文件管理實際上是對()的管理。A.主存空間 B.輔助存儲空間 C.邏輯地址空間 D.物理地址空間
8.如果文件系統(tǒng)中有兩個文件重名,不應(yīng)采用()結(jié)構(gòu)。A.一級目錄 B.二級目錄 C.樹形目錄 D.一級目錄和二級目錄
9.樹形目錄中的主文件目錄稱為()。A.父目錄 B.子目錄 C.根目錄 D.用戶文件目錄
10.絕對路徑是從()開始跟隨的一條指向制定文件的路徑。A.用戶文件目錄 B.根目錄 C.當前目錄 D.父目錄 11.邏輯文件可分為流式文件和()兩類。A.索引文件 B.鏈接文件 C.記錄式文件 D.只讀文件 12.由一串信息組成,文件內(nèi)信息不再劃分可獨立的單位,這是指()。A.流式文件 B.記錄式文件 C.連續(xù)文件 D.串聯(lián)文件
13.記錄式文件內(nèi)可以獨立存取的最小單位是由()組成的。A.字 B.字節(jié) C.數(shù)據(jù)項 D.物理塊
14.在隨機存儲方式中,用戶以()為單位對文件進行存取和檢索。A.字符串 B.數(shù)據(jù)項 C.字節(jié) D.邏輯記錄 15.數(shù)據(jù)庫文件的邏輯結(jié)構(gòu)形式是()。A.鏈接文件 B.流式文件 C.記錄式文件 D.只讀文件
16.文件的邏輯記錄的大小是()。A.恒定的 B.相同的 C.不相同的 D.可相同也可不同
17.能用來唯一標識某個邏輯記錄的數(shù)據(jù)項為記錄的()。A.主鍵 B.次鍵 C.索引 D.指針 18.在文件系統(tǒng)中,()要求邏輯記錄順序與磁盤塊順序一致。A.順序文件 B.鏈接文件 C.索引文件 D.串聯(lián)文件
19.下列文件中,()的物理結(jié)構(gòu)不便于文件的擴充。A.順序文件 B.鏈接文件 C.索引文件 D.多級索引文件 20.()的物理結(jié)構(gòu)對文件隨機存取時必須按指針進行,效率較低。A.連續(xù)文件 B.鏈接文件 C.索引文件 D.多級索引文件 2l.鏈接文件解決了順序結(jié)構(gòu)中存在的問題,它()。A.提高了存儲空間的利用率 B.適合于隨機存取方式 C不適用于順序存取 D.指針存入主存,速度快 22.索引結(jié)構(gòu)為每個文件建立一張索引表,用來存放()。A,邏輯記錄的地址 B.部分數(shù)據(jù)信息 C.主鍵內(nèi)容 D.邏輯記錄存放位置的指針 23,文件系統(tǒng)可以為某個文件建立一張(),其中存放每個邏輯記錄存放位置的指針。A.位示圖 B.索引表 C.打開文件表 D.鏈接指針表 24.文件系統(tǒng)中,要求物理塊必須連續(xù)的物理文件是()。A.順序文件 B.鏈接文件 C.串聯(lián)文件 D.索引文件
25.進行成組操作時必須使用主存緩沖區(qū),緩沖區(qū)的長度等于()。A.邏輯記錄長度 B.最小邏輯記錄長度乘以成組塊因子 c.最大邏輯記錄長度乘以成組塊因子 D.平均邏輯記錄長度乘以成組塊因子
26.記錄的成組和分解提高了存儲介質(zhì)的利用率和減少啟動設(shè)備的次數(shù),但()為代價。A.以設(shè)立主存緩沖區(qū) B.以操作系統(tǒng)增加成組分解功能 c.以設(shè)立主存緩沖區(qū)和操作系統(tǒng)增加成組分解功能 D.沒有額外系統(tǒng)消耗 27.在文件系統(tǒng)中設(shè)置一張(),它利用二進制的一位表示磁盤中一個塊的使用情況。A.空閑塊表 B.位示圖 c.鏈接指針表 D.索引表 28.“打開文件”操作要在系統(tǒng)設(shè)置的()中登記該文件的有關(guān)信息。A.索引表 B.鏈接指針表 c.已開文件表 D.空閑塊表
29.對順序文件做讀文件操作時,總是從()按順序讀出信息。A文件頭部向后 B.文件尾部向前 c.文件中部開始 D.當前位置開始
30.有的系統(tǒng)為了方便用戶,提供一種隱式使用文件的方法,但用戶對()還是必須顯式地提出。A.建立文件 B.打開文件 c.關(guān)閉文件 D.讀文件
31.允許多個用戶同時使用同—個共享文件時,下列()做法是不對的。A.允許多個用戶同時打開共享文件執(zhí)行讀操作 B.允許讀者和寫者同時使用共享文件 c.不允許讀者和寫者同時使用共享文件 D.不允許多個寫者同時對共享文件執(zhí)行寫操作
32.用()可以防止共享文件可能造成的破壞,但實現(xiàn)起來系統(tǒng)開銷太大。A.用戶對樹形目錄結(jié)構(gòu)中目錄和文件的許可權(quán)規(guī)定 B.存取控制表 c.定義不同用戶對文件的使用權(quán) D.隱蔽文件目錄
33.uNIX系統(tǒng)中,對新建的文件默認的許可權(quán)力為:文件主一可讀可寫,伙伴一可讀,一般用戶一可讀,則表示這種使用權(quán)限的3位8進制數(shù)為()。A.755 B,644 C.522 D.622 34.單靠()并不能達到文件保密的目的。A.隱蔽文件目錄 B.設(shè)置口令 c使用密碼 D.規(guī)定文件使用權(quán)限
35.為了文件的保密,可以用()的方法使某些文件的目錄不在顯示器上顯示出來。A.存取控制表 B.隱蔽文件目錄 C.設(shè)置口令 D.使用密碼(二)填空題
1.文件系統(tǒng)是操作系統(tǒng)中的重要組成部分,它對___進行管理。2.文件管理的主要工作是管理用戶信息的存儲、___、更新、___和保護。3.文件管理為用戶提供___存取文件的功能。4.文件是邏輯上具有完整意義的___. 5.文件存取有多種方式,采用哪一種方式與用戶的使用要求和___ 的特征有關(guān). 6.存儲介質(zhì)上連續(xù)信息所組成的—個區(qū)域稱為___,它是存儲設(shè)備與主存之間信息交換的物理單位。7.從對文件信息的存取次序考慮,存取方法可分為___和___兩類。8.磁帶機是適合于___的存儲設(shè)備,而磁盤上的文件既能___又能___.9.文件系統(tǒng)對文件統(tǒng)一管理的目的是方便用戶且保證___。10.用戶按信息的使用和處理方式組成文件,稱為___。11.當用戶要求讀寫文件時,文件系統(tǒng)實現(xiàn)___和___之間的轉(zhuǎn)換。12.文件目錄是用于___文件的,它是文件系統(tǒng)實現(xiàn)按名存取的重要手段。13一級目錄結(jié)構(gòu)在文件目錄中登記的各個文件都有___文件名。14.在二級目錄結(jié)構(gòu)中,第一級為___,第二級為___。15.在樹形目錄結(jié)構(gòu)中,___是從根目錄出發(fā)到某文件的通路上所有各級子目錄名和該文件名的順序組合。16.___指出了從當前日錄出發(fā)到指定文件的路徑。17.邏輯文件可分為的___和___兩類。18___是指用戶對文件內(nèi)的信息不再劃分可獨立的單位,整個文件由依次的一串信息組成。19.記錄式文件中,___是文件內(nèi)可以獨立存取的最小信息單位. 20.磁帶上的每個文件都有文件頭標、___都___三部分組成。21.在磁盤上常用的組織方式有順序結(jié)構(gòu)、___和___。22___ 是具有邏輯記錄順序與磁盤塊順序相一致的文件結(jié)構(gòu)的文件。23.順序文件把邏輯上連續(xù)的信息存放在磁盤相鄰的塊上,所以它不適于文件的___.24.用指針把不連續(xù)的磁盤塊按所存放的邏輯記錄的順序鏈接起來,形成文件的___結(jié)構(gòu)。25.鏈接文件采用___方式是高效的,而采用___方式是低效的。26.索引結(jié)構(gòu)為每個文件建立一張___,把指示每個邏輯記錄存放位置的指針集中在這張表中。27.對索引文件,既可采用___方式,又可采用___方式。28.在索引文件中隨機存取某一記錄時,根據(jù)___在主存中的起始地址找到該記錄的登記項,再按其中的___找到該邏輯記錄。29.把若干邏輯記錄合成一組存入一塊的工作稱___,每塊中的邏輯記錄個數(shù)稱___。30.進行成組操作時必須使用主存緩沖區(qū),緩沖區(qū)的長度等于___乘以成組的___. 31.記錄的成組不僅提高了存儲空間的___,而且還提高了系統(tǒng)的___。32.從一組邏輯記錄中把一個邏輯記錄分離出來的操作稱為___。33.當用戶要求存儲文件時,文件管理要為他___;當刪除文件時又要___文件占用的存儲空間。34用___指示磁盤空間使用情況時,其中的每一位與一個___對應(yīng)。35.空閑塊表中每個登記項記錄一組連續(xù)空閑塊的___和___。36.空閑塊的連接方式有___ 和___。37.采用空閑塊成組連接方式時,把空閑塊分成若干組,把指向一組空閑塊的___集中在—起。38.用戶可以用訪管指令調(diào)用建立文件、___、讀文件、___、關(guān)閉文件和___等文件操作功能模塊。39.文件被打開后要在系統(tǒng)設(shè)置的___中登記該文件的有關(guān)信息。40.只有文件的___或___才有權(quán)關(guān)閉文件。41.刪除文件操作要把用戶指定的文件在文件目錄中___,___文件所占用的存儲空間。42用戶在讀、寫文件操作以后要調(diào)用___ 操作模塊。43.用戶在請求刪除文件操作時必須先調(diào)用___操作模塊。44.允許多個用戶同時使用同一個共享文件時,系統(tǒng)必須實現(xiàn)對共享文件的___ 45.多用戶同時使用某個共享文件時,___多個寫者同時對該文件執(zhí)行寫操作。46.為防止系統(tǒng)故障造成文件被破壞,常采用___和___的方法來保護文件。47.為了防止用戶共享文件可能造成的破壞,一般要規(guī)定各用戶對文件的___. 48.在uNIx系統(tǒng)中,若文件A的存取權(quán)限被規(guī)定為751則文件主的伙伴對此文件的存取權(quán)限為___. 49.文件的___是防止文件被破壞,而文件的___是防止不經(jīng)文件擁有者授權(quán)而竊取文件。50.常用的文件保密措施有___、___都___。(三)簡答題
1.什么是文件? 2.簡述按名存取的含義。3.按用途分類,主要有哪幾種文件? 4.什么叫卷?什么叫塊? 5.文件的存取方式有哪幾種?怎樣確定文件的存取方式? 6簡述文件系統(tǒng)的結(jié)構(gòu)。7.文件目錄中一般包含什么內(nèi)容? 8.在二級目錄結(jié)構(gòu)中,如何實現(xiàn)文件共享? 9何謂絕對路徑名和相對路徑名?相對路徑名有何優(yōu)點? 10.樹形目錄有何優(yōu)點? 11.文件的邏輯結(jié)構(gòu)有哪幾種形式? 12.記錄式文件在磁盤上有哪幾種組織形式? 13什么是記錄的成組和分解?采用這種技術(shù)是否有額外的開銷? 14.文件系統(tǒng)提供哪幾種操作功能?用戶怎樣才能調(diào)用這些功能? 15.打開文件、建立文件和關(guān)閉文件各起什么作用? 16.用戶在顯式和隱式使用文件時有何不同? 17當多個用戶同時使用共享文件時,如何進行同步控制? 18.區(qū)分文件保護和保密的異同。(四)計算題 1.現(xiàn)有三名學(xué)生s1,s2和s3上機實習(xí),程序和數(shù)據(jù)都存放在同一磁盤上。若三人編寫的程序分別為P1,P2和P3,要求這三個學(xué)生用自編的程序調(diào)用同一個數(shù)據(jù)文件A進行運算。請問1)若文件A作為共享文件,系統(tǒng)應(yīng)采用何種目錄結(jié)構(gòu)?畫出示意圖。(2)若這三位學(xué)生不約而同地把自己的程序名都起為P,利用(1)答案中的目錄結(jié)構(gòu)能否滿足要求?(3)針對(2)的要求,簡要說明系統(tǒng)如何為每個學(xué)生索取他們的程序和數(shù)據(jù)? 2.假設(shè)磁帶的記錄密度為1600bPi(字節(jié)/英寸),每個邏輯記錄長為200字節(jié),塊與塊之間的間隔為0.5英寸,請回答下列問題:(1)不采用成組操作時,磁帶空間的利用率是多少?(2)采用塊因子為6作成組操作時,磁帶空間的利用率為百分之幾?(3)為了使磁帶空間的利用率大于80%,采用記錄成組時其塊因子至少為多少? 3.假設(shè)一個磁盤組共有l(wèi)00個柱面,每鍵面有8個磁道,每個盤面被分成4個扇區(qū)。若邏輯記錄的大小與扇區(qū)大小一致,柱面、磁道、扇區(qū)的編號均從“0”開始,現(xiàn)用字長為16位的200個字(第0字~第199字)組成位示圖來指示磁盤空間的使用情況。請問:(1)文件系統(tǒng)發(fā)現(xiàn)位示圖中第15字第7位為0而準備分配給某一記錄時,該記錄會存放到磁盤的哪一塊上?此塊的物理位置(柱面號,磁頭號和扇區(qū)號)如何?(2)刪除文件時要歸還存儲空間,第56柱面第6磁道第3扇區(qū)的塊就變成了空閑塊,此時,位示圖中第幾字第幾位應(yīng)由1改為0? 4.現(xiàn)有一文件FILE _x,其邏輯記錄的大小為125字節(jié),共有20個邏輯記錄,文件系統(tǒng)把這個文件存儲到磁盤上時采用鏈接結(jié)構(gòu),磁盤的分塊大小為5l2個字節(jié),請問:(1)采用什么方法可有效地利用磁盤空間?(2)畫出文件FILE _x在磁盤上的鏈接結(jié)構(gòu)示意圖(磁盤塊號自定)。(3)若用戶要求讀包含第1285字節(jié)的邏輯記錄,文件系統(tǒng)將如何工作?
第五章 文件管理 練習(xí)題參考答案(一)單項選擇題
1.A 2.A 3.B 4 C 5.C 6.B 7.B 8.A 9.C l0.B 11.C 12.A 13.C 14.D 15.C 16.D 17.A 18.A l 9.A 20.B 21.A 22.D 23.B 24.A 25.C 26.C 27 B 28 C 29 D 30.D 31.B 32.B 33 B 34.D 35 B(二)填空題
1.信息 2.檢索,共享 3.按文件名 4.信息集合 5.存儲介質(zhì) 6.塊(或物理記錄)7.順序存取,隨機存取 8.順序存取,順序存取,隨機存取 9.文件的安全可靠 10.邏輯結(jié)構(gòu)(或邏輯文件)11.邏輯文件,物理文件 12.搜索 13.不同 14.主文件目錄,用戶文件目錄 15路徑名(或絕對路徑名)16.相對路徑名 l 7.流式文件,記錄式文件 18流式文件 l9.邏輯記錄 20.文件信息,文件尾標 21.鏈接結(jié)構(gòu),索引結(jié)構(gòu) 22.順序文件(或連續(xù)文件)23.隨機存取 24.鏈接 25.順序存取,隨機存取 26.索引表 27.順序存取,隨機存取 28.索引表,指針
29.記錄的成組,塊因子 30.最大邏輯記錄長度,塊因子 31.利用率,工作效率 32.記錄的分解 33.分配磁盤存儲空間,收回 34位示圖,磁盤塊 35.首塊號,塊數(shù) 36.單塊連接,成組連接 37.指針 38.打開文件,寫文件,刪除文件 39.已開文件表 40.建立者,打開者 41.除名,收回 42.關(guān)閉文件 43.關(guān)閉文件 44.同步控制 45.不允許 46.建立副本,定時轉(zhuǎn)儲 47.使用權(quán)限 48.可讀和可執(zhí)行 49.保護,保密 50.隱蔽文件目錄,設(shè)置口令,使用密碼(三)簡答題
1.文件是邏輯上具有完整意義的信息集合。
2.用戶不必考慮文件存儲在哪里,怎樣組織輸入輸出等工作,只要提供文件名,操作系統(tǒng)通過去查找目錄,就能對文件進行存取。
3.按用途分類,文件主要能分成系統(tǒng)文件、庫文件和用戶文件。4.卷是存儲介質(zhì)的物理單位。如一盤磁帶、一張軟盤片、一個硬盤組都可稱為一個卷。塊是存儲介質(zhì)上連續(xù)信息所組成的一個區(qū)域,它是存儲設(shè)備與主存儲器之間進行信息交流的物理單位。5.存取方式可分兩類:順序存取和隨機存取。順序存取是指對文件中的信息按順序進行讀寫;隨機存取是指按任意次序讀寫文件中的信息。采取哪一種存取方式與用戶的使用要求和存儲介質(zhì)的特性有關(guān)。如源程序總是按順序布取,數(shù)據(jù)庫文件常用隨機存取;磁帶上的文件適合于順序存?。淮疟P中的文件既可順序存取,也可以隨機存取。
6.文件系統(tǒng)主要由以下五部分組成:(1)目錄管理。利用目錄結(jié)構(gòu)檢索文件,并能保證文件的安全。(2)文件的組織。文件組織分兩類:邏祖結(jié)構(gòu)和物理結(jié)構(gòu),前者是從用戶使用的角度織織文件,后者是存儲介質(zhì)上的文件構(gòu)造方式。當用戶請求讀寫文件時,文件系統(tǒng)必須實現(xiàn)文件邏輯結(jié)構(gòu)與物理結(jié)構(gòu)之間的轉(zhuǎn)換。(3)文件存儲空間的管理。主要是對磁盤空閑區(qū)的管理,執(zhí)行分配和回收工作。(4)文件操作,為用戶提供文件操作功能。主要有建立文件、打開文件、讀文件、寫文件、關(guān)閉文件和刪除文件等。(5)文件共享、保護和保密。對共亭文件進行同步控制,防止文件被破壞,被剽竊。
7.文件目錄由若干目錄項組成,每個目錄項一般應(yīng)包含以下內(nèi)容
1)有文件存取控制的信息,如用戶名、文件名、文件類型和文件屬性。(2)有關(guān)文件結(jié)構(gòu)的信息,如文件的邏輯結(jié)構(gòu)、物理結(jié)構(gòu)、記錄個數(shù)、文件在存儲介質(zhì)的份量等。(3)有關(guān)文件管理的信息,如建立日期、文件被修改的日期、文件保留期限和記賬信息等。
8.如果多個用戶要共享某個文件,只要讓各個用戶文件目錄中的某個目錄項指向同一個文件存放地址。對共享文件,各個用戶可以定義相同的文件名,或不同的文件名。
9.絕對路徑名是指從根目錄開始跟隨著的一條指向文件的路徑;相對路徑名是指從當前目錄出發(fā)到指定文件的路徑。文件系統(tǒng)用絕對路徑名和相對路徑名都能找到指定的某個文件,但使用相對路徑可以減少查找文件所花費的時間。
10.樹形目錄結(jié)構(gòu)的優(yōu)點有:解決了重名問題,有利于文件的分類;提高檢索文件的速度;能進行存取權(quán)限的控制。
11.文件的邏輯結(jié)構(gòu)有兩種形式,流式文件和記錄式文件。流式文件是指用戶對文件內(nèi)的信息不再劃分可獨立的單位,整個文件由依次的一串信息組成;記錄式文件是由若干個邏輯記錄組成。用戶對文件內(nèi)的信息按邏輯上獨立的含義再劃分的信息單位稱為邏輯記錄。12.記錄式文件在磁盤上常用的組織形式有:順序結(jié)構(gòu)、鏈接結(jié)構(gòu)和索引結(jié)構(gòu)。13把若干個邏輯記錄合并成一組存入一塊的工作稱記錄的成組。從一組邏輯記錄中把一個邏輯記錄分離出來的操作稱為記錄的分解。采用這種技術(shù)有額外的開銷,即要設(shè)立主緩沖區(qū),操作系統(tǒng)還要增加成組分解的操作功能。
14.文件系統(tǒng)主要提供以下六種操作功能;建立文件、打開文件、讀文件、寫文件、關(guān)閉文件和刪除文件。用戶可以用訪管指令使用這些功能。15.打開文件和建立文件實際上起著用戶申請對文件使用權(quán)的作用。經(jīng)文件系統(tǒng)驗證符合使用權(quán)時才允許用戶使用文件,并適當?shù)貫橛脩糇龊檬褂梦募暗臏蕚?。關(guān)閉文件操作的作用是讓用戶向系統(tǒng)歸還文件的使用權(quán)。
16.用戶在顯式使用文件時.必須道循以下規(guī)定:讀文件時要依次調(diào)用打開文件、讀文件和關(guān)閉文件操作;寫文件時要依次調(diào)用建立文件、寫文件和關(guān)閉文件操作。而在隱式調(diào)用時,允許用戶可直接調(diào)用讀文件或?qū)懳募槐卣{(diào)用打開文件、建立文件和關(guān)閉文件操作,這些操作由文件系統(tǒng)自動完成。
17.當多個用戶同時使用某個共享文件時,常用三種規(guī)則實現(xiàn)共享文件的同步控制:(1)允許多個用戶同時打開共享文件,執(zhí)行讀操作;(2)不允許讀者和寫者同時使用共享文件;(3)不允許多個寫者同時對共享文件執(zhí)行寫操作。
18.文件保護是防止文件被破壞,文件的保密是防止不經(jīng)擁有者授權(quán)而竊取文件。文件保護根據(jù)引起文件被破壞的原因----系統(tǒng)故障或非法使用共享文件----而采用不同的措施。前者采用建立副本和定時轉(zhuǎn)儲等方法;后者則采用樹形目錄結(jié)構(gòu)、存取控制表和文件使用權(quán)限。文件保密措施主要有隱蔽文件目錄、設(shè)置口令和使用密碼.(四)計算題
l.(1)系統(tǒng)采用二級目錄結(jié)構(gòu)就能滿足需要,其示意圖為下圖。文件目錄
(2)利用上圖的二級目錄結(jié)構(gòu)能滿足此要求,只要在用戶目錄中把Pl、P2、P3都改為P,但這些P都是指向各自不同的程序。
(3)存取程序和數(shù)據(jù)時,文件系統(tǒng)會先搜索主文件目錄,找到該學(xué)生的用戶目錄,然后在用戶目錄中查找指定的文件。比如對學(xué)生S1.由路徑/S1/P找到的文件是他的程序文件。因為它與/S2/P不會指向同一個文件,不會沖突。而/S1/A和/s2/A是同一個文件,所以學(xué)生S1能取到所需的數(shù)據(jù)。當然這里A文件可以由三個學(xué)生同時打開,一起執(zhí)行讀操作。2.(1)間隔=l600×0.5=800(字節(jié)); 200/(200+800)=20%;所以不采用成組操作時磁帶空間的利用率為20%、(2)(200×6)/(200×6+800)=60%;所以采用成組操作時磁帶空間的利用率為60%。
(3)設(shè)塊因子為x,則200x/(200X+800)>0.8; 250X>200X+800; 50X>800;X>16;所以塊因子至少為17。
3.(1)塊號=15×字長+7=15×16+7=247;柱面號=[塊號/每柱面扇區(qū)數(shù)]=[247/(8×4)]=7; 磁頭號=[(塊號mod每柱面扇區(qū)數(shù))/每盤面扇區(qū)數(shù)]=[(247 mod 32)/4]=5;扇區(qū)號=(塊號mod每柱面扇區(qū)數(shù))mod每盤面扇區(qū)數(shù)=(247 mod 32)mod 4=3;所以該記錄會存放在第247塊上,即在第7個柱面,第5磁頭,第3個扇區(qū)上。
(2)塊號=柱面號×每柱面扇區(qū)數(shù)+磁頭號×每盤面扇區(qū)數(shù)+扇區(qū)號=56×(8×4)+6×4+3=1819; 字號=[塊號/字長]=[1819/16]=113;位號=塊號mod字長=1819 mod 16=11;所以位示圖中第113字第11位應(yīng)由1變成0。
4.(1)采用記錄成組的方法能有效地利用磁盤空間,這里擬選用塊因子為4。
(2)采用塊因子為4,進行記錄成組時,將占5個磁盤塊.不妨設(shè)這5個磁盤塊依次為6、2、9、l 5、18。文件FILE—x在磁盤上的鏈接結(jié)構(gòu)示意圖見下圖。文件目錄
文件名
始址
末址 FILE-X
6
18
塊 號 6 2
鏈接指針 2 9 15 18-1(3)第一步,由[1285/(125×4)]=2可知包含1285字節(jié)的邏輯記錄在鏈接結(jié)構(gòu)的第三個塊上,即塊9中,為此文件系統(tǒng)把塊9讀入主存緩沖區(qū)。第二步,由1285 MOD(125×4)=285且 125×2<285<125×3;所以可知文件系統(tǒng)從主存緩沖區(qū)中取出第3個記錄傳輸給用戶。
第四篇:工程碩士高級操作系統(tǒng)復(fù)習(xí)題
2012級工程碩士《高級操作系統(tǒng)》復(fù)習(xí)資料
說明:
1、請同學(xué)們自己查找資料,整理答案。
2、考試時間在期末進行,與佟玉軍老師主講的《分布式數(shù)據(jù)庫》一起考試。
3、不參加考試沒有成績。
1、什么是計算機網(wǎng)絡(luò)?為什么說它是計算機技術(shù)和通信技術(shù)相結(jié)合的產(chǎn)物?
2、網(wǎng)絡(luò)拓撲結(jié)構(gòu)都有哪些?
3、網(wǎng)絡(luò)操作系統(tǒng)的特點都有哪些?
4、開放系統(tǒng)互連參考模型(OSI/RM)都包含哪些層?各層的功能都有什么?
5、什么是網(wǎng)絡(luò)操作系統(tǒng)?它與單機上的操作系統(tǒng)有哪些不同?
6、網(wǎng)絡(luò)操作系統(tǒng)有哪幾部分組成?各部分的主要功能和相互關(guān)系如何?
7、網(wǎng)絡(luò)操作系統(tǒng)與網(wǎng)絡(luò)軟件、通信軟件的區(qū)別和聯(lián)系是什么?
8、什么是系統(tǒng)的透明性,為什么說它是分布式系統(tǒng)的一個主要設(shè)計目標?分布式系統(tǒng)的透明
性表現(xiàn)在哪幾個方面?
9、什么是分布式系統(tǒng)?它與計算機網(wǎng)絡(luò)系統(tǒng)的根本區(qū)別是什么?它與集中式計算機系統(tǒng)的主要區(qū)別是什么?10、11、12、13、14、15、16、17、分布式操作系統(tǒng)的結(jié)構(gòu)都由幾部分組成? 什么是死鎖?什么叫饑餓?在分布式系統(tǒng)中為什么會出現(xiàn)“死鎖”和“饑餓”現(xiàn)象 什么是同步原語?什么是異步原語? 什么叫組通信?它應(yīng)用于何種場合? 什么是并發(fā)事件?兩個并發(fā)事件的邏輯始終是否相同? 什么叫原子事務(wù)?它有哪些特點? 什么是兩段交付協(xié)議?提出兩段交付協(xié)議的目的是什么? 在一個多事務(wù)處理系統(tǒng)中,什么叫可串行化?為什么可串行化的事務(wù)處理一定是正確的?
18、多處理機系統(tǒng)有哪些基本特點?多處理機系統(tǒng)著重解決哪些技術(shù)問題?多處理機與
多計算機系統(tǒng)有什么不同?19、20、多處理機操作系統(tǒng)比單機操作系統(tǒng)要復(fù)雜得多,為什么?都表現(xiàn)在哪些方面? 多處理機操作系統(tǒng)的主要特征是什么?多處理劑操作系統(tǒng)可分為哪三類?
第五篇:操作系統(tǒng)復(fù)習(xí)題簡答題總結(jié)
1操作系統(tǒng)的基本特征有哪些? 答:操作系統(tǒng)的基本特征:
(1)并發(fā)。并發(fā)是指兩個或多個活動在同一給定的時間間隔中進行。(2)共享。共享是指計算機系統(tǒng)中的資源被多個任務(wù)所共用。
(3)異步性。在多道程序環(huán)境下,各個程序的執(zhí)行過程有“走走停?!钡男再|(zhì)。每一道程序既要完成自己的事情,又要與其他程序共享系統(tǒng)中的資源。這樣,它什么時候得以執(zhí)行、在執(zhí)行過程中是否被其他事情打斷(如I/O中斷)、向前推進的速度是快還是慢等,都是不可預(yù)知的,由程序執(zhí)行時的現(xiàn)場所決定。另外,同一程序在相同的初始數(shù)據(jù)下,無論何時運行,都應(yīng)獲得同樣的結(jié)果。這是操作系統(tǒng)所具有的異步性。
2操作系統(tǒng)的主要功能有哪些?
答:操作系統(tǒng)的主要功能包括:存儲管理,進程和處理機管理,文件管理,設(shè)備管理以及用戶接口管理。
3、操作系統(tǒng)一般為用戶提供了哪三種界面?它們各有什么特點?
答:
4、操作系統(tǒng)主要有哪三種基本類型?它們各有什么特點?
5、操作系統(tǒng)主要有哪些類型的體系結(jié)構(gòu)?UNIX系統(tǒng)和Linux系統(tǒng)各采用哪些結(jié)構(gòu)?
答:一般說來,操作系統(tǒng)有四種結(jié)構(gòu):整體結(jié)構(gòu)、層次結(jié)構(gòu)、虛擬機結(jié)構(gòu)、客戶機-服務(wù)器結(jié)構(gòu)。Linux系統(tǒng)采用的是整體結(jié)構(gòu)。UNIX系統(tǒng)采用的是層次結(jié)構(gòu)。
6、Linux系統(tǒng)有什么特點?
7、使用虛擬機有哪些優(yōu)勢和不足?
8、現(xiàn)代計算機系統(tǒng)由什么組成的?
9、在操作系統(tǒng)中,為什么要引入進程的概念?它與程序的區(qū)別和聯(lián)系分別是什么?
10、操作系統(tǒng)在計算機系統(tǒng)中處于什么位置?
11、進程的基本狀態(tài)有哪幾種?
答:進程的基本狀態(tài)有三種,分別為運行態(tài)、就緒態(tài)、阻塞態(tài)。
12、你熟悉哪些操作系統(tǒng)?想一想你在使用計算機過程中,操作系統(tǒng)如何提供服務(wù)?
答:我們最熟悉的一般為Windows操作系統(tǒng),它是由微軟(Microsoft)公司推出的一個功能強大的圖形界面操作系統(tǒng)。常用的操作系統(tǒng)還有Linux,UNIX操作系統(tǒng)。
我們在使用計算機時,首先接觸的是用戶界面,我們可以通過鍵盤上輸入命令,在桌面上點擊鼠標完成操作,這時系統(tǒng)就知道執(zhí)行相應(yīng)的功能。
13、PCB的作用是什么?它是怎樣描述進程的動態(tài)性質(zhì)的?
答:進程控制塊PCB是進程組成中最關(guān)鍵的部分。每個進程有唯一的進程控制塊;操作系統(tǒng)根據(jù)PCB對進程實施控制和管理,進程的動態(tài)、并發(fā)等特征是利用PCB表現(xiàn)出來的;PCB是進程存在的唯一標志。
PCB中有表明進程狀態(tài)的信息:該進程的狀態(tài)是運行態(tài)、就緒態(tài)還是阻塞態(tài),利用狀態(tài)信息來描述進程的動態(tài)性質(zhì)。
14、PCB表的組織方式主要有哪幾種?分別簡要說明。
答:PCB表的組織方式主要有:線性方式、鏈接方式和索引方式。
線性方式是把所有進程的PCB都放在一個表中。
鏈接方式按照進程的不同狀態(tài)把它們分別放在不同的隊列中。索引方式是利用索引表記載相應(yīng)狀態(tài)進程的PCB地址。
15、進程和線程的區(qū)別是什么?
答:(1)動態(tài)性。程序是靜態(tài)、被動的概念,本身可以作為一種軟件資源長期保存;而進程是程序的一次執(zhí)行過程,是動態(tài)、主動的概念,有一定的生命周期,會動態(tài)地產(chǎn)生和消亡。
(2)并發(fā)性。傳統(tǒng)的進程是一個獨立運行的單位,能與其他進程并發(fā)執(zhí)行。進程是作為資源申請和調(diào)度單位存在的;而通常的程序是不能作為一個獨立運行的單位并發(fā)執(zhí)行的。
(3)非對應(yīng)性。程序和進程無一一對應(yīng)關(guān)系。一個程序可被多個進程共用;一個進程在其活動中又可以順序地執(zhí)行若干個程序。
(4)異步性。各個進程在并發(fā)執(zhí)行過程中會產(chǎn)生相互制約關(guān)系,造成各自前進速度的不可預(yù)測性。而程序本身是靜態(tài)的,不存在這種異步特征。
16、進程進入臨界區(qū)的調(diào)度原則是什么?
答: ①如果有若干進程要求進入空閑的臨界區(qū),一次僅允許一個進程進入。②任何時候,處于臨界區(qū)內(nèi)的進程不可多于一個。如已有進程進入自己的臨界區(qū),則其它所有試圖進入臨界區(qū)的進程必須等待。
③進入臨界區(qū)的進程要在有限時間內(nèi)退出,以便其它進程能及時進入自己的臨界區(qū)。
④如果進程不能進入自己的臨界區(qū),則應(yīng)讓出CPU,避免進程出現(xiàn)“忙等”現(xiàn)象。17 簡述信號量的定義和作用。
答:信號量一般是由兩個成員組成的數(shù)據(jù)結(jié)構(gòu),其中一個成員是整型變量,表示該信號量的值,它是與相應(yīng)資源的使用情況有關(guān)的;另一個是指向PCB的指針。當多個進程都等待同一信號量時,它們就排成一個隊列,由信號量的指針項指出該隊列的頭。
信號量通??梢院唵畏从吵鱿鄳?yīng)資源的使用情況,它與P、V操作原語一起使用可實現(xiàn)進程的同步和互斥。
18、P操作原語和V操作原語是如何定義的? 答: P、V操作原語的定義: P(S):順序執(zhí)行下述兩個動作:
①信號量的值減1,即S=S-1;
②如果S≥0,則該進程繼續(xù)執(zhí)行;
如果S<0,則把該進程的狀態(tài)置為阻塞態(tài),把相應(yīng)的PCB連入該信號量隊列的末尾,并放棄處理機,進行等待(直至其它進程在S上執(zhí)行V操作,把它釋放出來為止)。V(S):順序執(zhí)行下述兩個動作:
①S值加1,即S=S+1;
②如果S>0,則該進程繼續(xù)運行;
如果S≤0,則釋放信號量隊列上的第一個PCB(即信號量指針項所指向的PCB)所對應(yīng)的進程(把阻塞態(tài)改為就緒態(tài)),執(zhí)行V操作的進程繼續(xù)運行。
19、計算機系統(tǒng)中產(chǎn)生死鎖的根本原因是什么?
答:計算機系統(tǒng)中產(chǎn)生死鎖的根本原因是:資源有限且操作不當。此外,進程推進順序不合適也可以引發(fā)的死鎖。20、發(fā)生死鎖的四個必要條件是什么?
答:發(fā)生死鎖的四個必要條件是:互斥條件,不可搶占條件,占有且申請條件,循環(huán)等待條件。
21、一般解決死鎖的方法有哪三種?
一般解決死鎖的方法有:死鎖的預(yù)防、死鎖的避免、死鎖的檢測與恢復(fù)。
22、是否所有的共享資源都是臨界資源?為什么?
不是所有的共享資源都是臨界資源。因為臨界資源是一次僅允許一個進程使用的資源,而系統(tǒng)中有很多資源可以讓多個進程同時使用,例如硬盤、正文段等。
23、存儲器一般分為哪些層次?它們各有何特性?
答:存儲器一般分為寄存器、高速緩存、內(nèi)存、磁盤和磁帶。
CPU內(nèi)部寄存器,其速度與CPU一樣快,但它的成本高,容量小。
高速緩存,它們大速度很快,放在CPU內(nèi)部或非??拷麮PU的地方。但成本很高,容量較小。
內(nèi)存,它是存儲器系統(tǒng)的主力。內(nèi)存中存放的信息是易變的,當機器電源被關(guān)閉后,內(nèi)存中的信息就全部丟失了。
磁盤,它是對內(nèi)存的擴展,但是CPU不能直接存取磁盤上的數(shù)據(jù)。磁盤上可以永久保留數(shù)據(jù),而且容量特別大。磁盤上數(shù)據(jù)的存取速度低于內(nèi)存存取速度。磁帶保存的數(shù)據(jù)更持久,容量更大,但它的存取速度很慢,而且不適宜進行隨機存取。
24、裝入程序的功能是什么?常用的裝入方式有哪幾種?
答: 裝入程序的功能是根據(jù)內(nèi)存的使用情況和分配策略,將裝入模塊放入分配到的內(nèi)存區(qū)中。
程序裝入內(nèi)存的方式有三種,分別是絕對裝入方式、可重定位裝入方式和動態(tài)運行時裝入方式。
25、對程序進行重定位的方式分為哪兩種?簡述各自的實現(xiàn)方式。
答:靜態(tài)重定位是在目標程序裝入內(nèi)存時,由裝入程序?qū)δ繕顺绦蛑械闹噶詈蛿?shù)據(jù)的地址進行修改,即把程序的邏輯地址都改成實際的內(nèi)存地址。動態(tài)重定位是在程序執(zhí)行期間,每次訪問內(nèi)存之前進行重定位。
26、對換技術(shù)如何解決內(nèi)存不足的問題?
答:在多道程序環(huán)境中可以采用對換技術(shù)。此時,內(nèi)存中保留多個進程。當內(nèi)存空間不足以容納要求進入內(nèi)存的進程時,系統(tǒng)就把內(nèi)存中暫時不能運行的進程換出到外存上,騰出內(nèi)存空間,把具備運行條件的進程從外存換到內(nèi)存中。
27、解釋固定分區(qū)法和動態(tài)分區(qū)法的基本原理。
答:固定分區(qū)法——內(nèi)存中分區(qū)的個數(shù)固定不變,各個分區(qū)的大小也固定不變,但不同分區(qū)的大小可以不同。每個分區(qū)只可裝入一道作業(yè)。
動態(tài)分區(qū)法——各個分區(qū)是在相應(yīng)作業(yè)要進入內(nèi)存時才建立的,使其大小恰好適應(yīng)作業(yè)的大小。
28、在動態(tài)重定位分區(qū)管理方式中如何實現(xiàn)虛-實地址映射?
答:進程裝入內(nèi)存時,是將該其程序和數(shù)據(jù)原封不動地裝入到內(nèi)存中。當調(diào)度該進程在CPU上執(zhí)行時,操作系統(tǒng)就自動將該進程在內(nèi)存的起始地址裝入基址寄存器,將進程的大小裝入限長寄存器。當執(zhí)行指令時,如果地址合法,則將相對地址與基址寄存器中的地址相加,所得結(jié)果就是真正訪問內(nèi)存的地址。
29、在分頁系統(tǒng)中頁面大小由誰決定?頁表的作用是什么?如何將邏輯地址轉(zhuǎn)換成物理地址?
答:在分頁系統(tǒng)中頁面大小由硬件決定。
頁表的作用是實現(xiàn)從頁號到物理塊號的地址映射。
用頁號p去檢索頁表,從頁表中得到該頁的物理塊號f,把它裝入物理地址寄存器中。同時,將頁內(nèi)地址d直接送入物理地址寄存器的塊內(nèi)地址字段中。30、虛擬存儲器有哪些基本特征?
虛擬存儲器的基本特征是:
虛擬擴充——不是物理上,而是邏輯上擴充了內(nèi)存容量;
部分裝入——每個進程不是全部一次性地裝入內(nèi)存,而是只裝入一部分;
離散分配——不必占用連續(xù)的內(nèi)存空間,而是“見縫插針”; 多次對換——所需的全部程序和數(shù)據(jù)要分成多次調(diào)入內(nèi)存。
31、頁面抖動與什么有關(guān)?
答:好的頁面置換算法能夠適當降低頁面更換頻率,減少缺頁率,盡量避免系統(tǒng)“抖動”。
32、為了提高內(nèi)存的利用率,在可重定位分區(qū)分配方式中可通過什么技術(shù)來減少內(nèi)存碎片?
答:在可重定位分區(qū)分配方式中采用緊縮技術(shù)來減少內(nèi)存碎片。
33、請求分頁技術(shù)與簡單分頁技術(shù)之間的根本區(qū)別是什么?
答:請求分頁提供虛擬存儲器,而簡單分頁系統(tǒng)并未提供虛擬存儲器。
34、什么是分頁?什么是分段?兩者有何區(qū)別?
35、分頁存儲管理的基本方法是什么?
36、在UNIX/Linux系統(tǒng)中,文件分為哪些類型?
37、文件的邏輯組織有幾種形式?
答:文件的邏輯組織有兩種形式:有結(jié)構(gòu)文件和無結(jié)構(gòu)文件。有結(jié)構(gòu)文件又稱記錄式文件,分為定長和變長的記錄文件。而無結(jié)構(gòu)文件又稱為字符流文件,在UNIX/Linux系統(tǒng)中,文件都采用流式文件。
38、文件的物理組織主要有哪幾種形式?它們各有什么優(yōu)缺點?
39、一般來說,文件系統(tǒng)應(yīng)具備哪些功能?
答:一般說來,文件系統(tǒng)應(yīng)具備以下功能:文件管理;目錄管理;文件存儲空間的管理;文件的共享和保護;提供方便的接口。40、文件控制塊與文件有何關(guān)系?
答:文件控制塊——用于控制和管理文件的數(shù)據(jù)結(jié)構(gòu),其中包括文件名、文件類型、位置、大小等信息。
文件控制塊與文件一一對應(yīng),即在文件系統(tǒng)內(nèi)部,給每個文件唯一地設(shè)置一個文件控制塊,核心利用這種結(jié)構(gòu)對文件實施各種管理。
41、文件系統(tǒng)中的目錄結(jié)構(gòu)有哪幾種基本形式?各有何優(yōu)缺點?UNIX/Linux系統(tǒng)中采用哪種目錄結(jié)構(gòu)?
42、在Linux系統(tǒng)中,ext2文件系統(tǒng)的構(gòu)造形式是什么?超級塊的作用是什么?
答:在Linux系統(tǒng)中,ext2文件系統(tǒng)的構(gòu)造形式為引導(dǎo)塊和一系列的塊組。其中塊組又包括超級塊、塊組描述結(jié)構(gòu)、塊位示圖、索引節(jié)點位示圖、索引節(jié)點表和數(shù)據(jù)塊。
超級塊中包含有文件系統(tǒng)本身的大小和形式的基本信息。文件系統(tǒng)管理員可以利用這些信息來使用和維護文件系統(tǒng)。
43、硬盤分區(qū)有哪三種類型?Linux可以安裝在哪些分區(qū)上?
答:硬盤分區(qū)有三種類型:主分區(qū)、擴展分區(qū)和邏輯分區(qū)。Linux既可以安裝在主分區(qū)上,也可以安裝在邏輯分區(qū)上。
44、什么是文件的備份?數(shù)據(jù)備份的方法有哪幾種?按時機分,備份分哪幾種?
答: 文件備份就是把硬盤上的文件在其它外部的存儲介質(zhì)上做一個副本。
數(shù)據(jù)備份的方法有完全備份、增量備份和更新備份三種。
后備分為“定期備份”和“不定期備份”。
45、什么是文件保護?常用的保護機制有哪些?
答:文件保護——是指文件免遭文件主或其他用戶由于錯誤的操作而使文件受到破壞。
常用的文件保護機制有:
①命名——自己的文件名,不讓他人知道;
②口令——對上口令,才能存?。?/p>
③存取控制——有權(quán)才可存取,不同權(quán)限干不同的事;
④密碼——信息加密,解密復(fù)原。
46、什么是文件的共享?文件鏈接如何實現(xiàn)文件共享?
答: 文件的共享是指系統(tǒng)允許多個用戶共同使用某個或某些文件。文件鏈接是給文件起別名,即將該文件的目錄項登記在鏈接目錄中。這樣,訪問該文件的路徑就不只一條。不同的用戶就可以利用各自的路徑來共享同一文件。
47、文件鏈接有哪兩種形式?兩者有何區(qū)別? 答:文件鏈接有兩種形式,即硬鏈接和符號鏈接。
硬鏈接是通過索引節(jié)點(inode index)來進行鏈接的。在linux的文件系統(tǒng)中,保存在磁盤分區(qū)中的文件不管是什么類型都給他分配一個編號,稱為索引節(jié)點號(inode index)。
在linux中,多個文件名指向同一索引點是存在的。一般這種鏈接是硬鏈接。硬鏈接的作用是允許一個文件擁有多個有效路徑名,這樣用戶就可以建立硬鏈接到重要文件,起到防止“誤刪”的功能。
因為對應(yīng)目錄的索引節(jié)點有一個以上的鏈接,只刪除一個鏈接并不影響索引節(jié)點本身和其他的鏈接,只有當最后一個鏈接被刪除后,文件的數(shù)據(jù)塊及目錄的鏈接才會被釋放。也就是說,至此文件才被真正刪除。
符號鏈接文件有點類似于windows的快捷方式。他實際上是特殊文件的一種。在符號鏈接中,文件實際上是一個文本文件,他包含了另一個文件的位置信息。
48、常用的磁盤空閑區(qū)管理技術(shù)有哪幾種?試簡要說明它們各自的實現(xiàn)思想?
52、在UNIX/Linux系統(tǒng)中,主、次設(shè)備號各表示什么含義?
答:UNIX/Linux系統(tǒng)中主設(shè)備號表示設(shè)備類型,次設(shè)備號表示同類設(shè)備中的相對序號。
53、為什么要引入緩沖技術(shù)?設(shè)置緩沖區(qū)的原則是什么? 答:引入緩沖技術(shù)的主要目的是:①緩和 CPU 與 I/O設(shè)備間速度不匹配的矛盾;②提高它們之間的并行性;③減少對 CPU 的中斷次數(shù),放寬 CPU 對中斷響應(yīng)時間的要求。
設(shè)置緩沖區(qū)的原則是:如果數(shù)據(jù)到達率與離去率相差很大, 則可采用單緩沖方式;如果信息的輸入和輸出速率相同(或相差不大)時, 則可用雙緩沖區(qū);對于陣發(fā)性的輸入、輸出, 可以設(shè)立多個緩沖區(qū)。
54、一般 I/O軟件系統(tǒng)的層次是怎樣的? I/O軟件系統(tǒng)分為如下 4個層次:①中斷處理程序;②設(shè)備驅(qū)動程序;③與設(shè)備無關(guān)的操作系統(tǒng) I/O軟件;④用戶級 I/O軟件。
55、操作系統(tǒng)中設(shè)備管理的功能是什么? 操作系統(tǒng)中設(shè)備管理的功能是:監(jiān)視設(shè)備狀態(tài);進行設(shè)備分配;完成 I/O操作;緩沖管理與地址轉(zhuǎn)換。
56、設(shè)備分配技術(shù)主要有哪些?常用的設(shè)備分配算法是什么? 答:設(shè)備分配技術(shù)主要有:獨占分配、共享分配和虛擬分配。
常用的設(shè)備分配算法是:先來先服務(wù)算法和優(yōu)先級高的優(yōu)先服務(wù)算法。
57、SPOOLing系統(tǒng)的主要功能是什么? SPOOLing系統(tǒng)的主要功能是:將獨占設(shè)備改造為共享設(shè)備,實現(xiàn)了虛擬設(shè)備功能。
58、處理 I/O請求的主要步驟是什么? 答:處理 I/O請求的主要步驟是:用戶進程發(fā)出 I/O請求;系統(tǒng)接受這個 I/O請求,轉(zhuǎn)去執(zhí)行操作系統(tǒng)的核心程序;設(shè)備驅(qū)動程序具體完成 I/O操作;I/O完成后,系統(tǒng)進行 I/O中斷處理,然后用戶進程重新開始執(zhí)行。
59、設(shè)備驅(qū)動程序的主要功能是什么?它在系統(tǒng)中處于什么位置? 答:設(shè)備驅(qū)動程序的功能主要有:接受用戶的 I/O請求;取出請求隊列中隊首請求,將相應(yīng)設(shè)備分配給它;啟動該設(shè)備工作,完成指定的 I/O操作;處理來自設(shè)備的中斷。
設(shè)備驅(qū)動程序在系統(tǒng)中處于核心空間, 位于設(shè)備控制器的上層,目的是對核心 I/O子系統(tǒng)隱藏各個設(shè)備控制器的差別。60、在Linux 系統(tǒng)中對設(shè)備怎樣管理? 答:Linux 系統(tǒng)中對設(shè)備管理具有下列共性:①每個設(shè)備都對應(yīng)文件系統(tǒng)中的一個索引節(jié)點,都有一個文件名;②應(yīng)用程序通??梢酝ㄟ^系統(tǒng)調(diào)用 open()打開設(shè)備文件,建立起與目標設(shè)備的連接;③對設(shè)備的使用類似于對文件的存取;④設(shè)備驅(qū)動程序是系統(tǒng)內(nèi)核的一部分,它們必須為系統(tǒng)內(nèi)核或者它們的子系統(tǒng)提供標準的接口;⑤設(shè)備驅(qū)動程序利用一些標準的內(nèi)核服務(wù),如內(nèi)存分配等。
61、簡述 Linux 系統(tǒng)中配置網(wǎng)卡的大致步驟。
Linux 系統(tǒng)中配置網(wǎng)卡的大致步驟如下: ①打開機器電源,將 Linux 系統(tǒng)啟動。
②配置網(wǎng)絡(luò)參數(shù)。在 “ 控制面板 ” 窗口上雙擊 “ 網(wǎng)絡(luò) ” 圖標。在彈出的窗口中配置網(wǎng)絡(luò)參數(shù),單擊 “ 確定 ”。
③網(wǎng)卡自動檢測。在出現(xiàn) “ 網(wǎng)卡配置 ” 對話框中,對配置的網(wǎng)卡進行自動檢測;按照所連網(wǎng)絡(luò)的網(wǎng)絡(luò)管理機構(gòu)統(tǒng)一的規(guī)定,將參數(shù)填入相應(yīng)的數(shù)據(jù)框中,如 “ 網(wǎng)關(guān) ”、“ 域名服務(wù)器 ” 等。上述參數(shù)配置好后,單擊 “ 確定 ” 按鈕,使得網(wǎng)絡(luò)參數(shù)設(shè)置生效。
④重新啟動,雙擊主窗口上的 “ 瀏覽器 ” ,可以利用網(wǎng)絡(luò)提供的各種服務(wù)功能
62、嵌入式系統(tǒng)與通用計算機系統(tǒng)有何異同?
63、嵌入式操作系統(tǒng)的最大特點是什么?舉例說明。
嵌入式操作系統(tǒng)的最大特點就是可定制性,即能夠提供對內(nèi)核進行配置或剪裁等功能,可以根據(jù)應(yīng)用需要有選擇地提供或不提供某些功能,以減少系統(tǒng)開銷。如從應(yīng)用領(lǐng)域角度看,可以分為面向信息家電的嵌入式操作系統(tǒng),面向智能手機的嵌入式操作系統(tǒng),面向汽車電子 的嵌入式操作系統(tǒng),以及面向工業(yè)控制的嵌入式操作系統(tǒng)等。64、分布式系統(tǒng)有哪些主要特征?
答:分布式系統(tǒng)的主要特征有:分布性、自治性、并行性和全局性。65、分布式操作系統(tǒng)的主要功能是什么?
分布式操作系統(tǒng)有如下三個基本功能:進程管理、通信管理和資源管理。多機系統(tǒng)主要包括哪幾種類型?它們之間有何異同?
答:多機系統(tǒng)包括四種類型:多處理器系統(tǒng)、多計算機系統(tǒng)、,網(wǎng)絡(luò)系統(tǒng)和分布式系統(tǒng)。它們之間的異同如下表所示:
66、推動操作系統(tǒng)發(fā)展的主要動力是什么?
答:推動操作系統(tǒng)發(fā)展的因素很多,主要可歸結(jié)為硬件技術(shù)更新和應(yīng)用需求擴大兩大方面。
(1)伴隨計算機器件的更新?lián)Q代,計算機系統(tǒng)的性能得到快速提高,也促使操作系統(tǒng)的性能和結(jié)構(gòu)有了顯著提高。此外,硬件成本的下降也極大地推動了計算機技術(shù)的應(yīng)用推廣和普及。
(2)應(yīng)用需求促進了計算機技術(shù)的發(fā)展,也促進了操作系統(tǒng)的不斷更新升級。67、Linux系統(tǒng)中,進程調(diào)度的方式和策略是什么?
68、嵌入式系統(tǒng)在外觀、組成、運行方式上有何特點?
69、處理機調(diào)度的主要目的是什么?
答:處理機調(diào)度的主要目的就是為了分配處理機。
70、高級調(diào)度與低級調(diào)度的主要功能是什么?為什么要引入中級調(diào)度? 答:高級調(diào)度的主要功能是根據(jù)一定的算法,從輸入的一批作業(yè)中選出若干個作業(yè),分配必要的資源,如內(nèi)存、外設(shè)等,為它建立相應(yīng)的用戶作業(yè)進程和為其服務(wù)的系統(tǒng)進程,最后把它們的程序和數(shù)據(jù)調(diào)入內(nèi)存,等待進程調(diào)度程序?qū)ζ鋱?zhí)行調(diào)度,并在作業(yè)完成后作善后處理工作。
低級調(diào)度的主要功能是根據(jù)一定的算法將CPU分派給就緒隊列中的一個進程。為了使內(nèi)存中同時存放的進程數(shù)目不至于太多,有時就需要把某些進程從內(nèi)存中移到外存上,以減少多道程序的數(shù)目,為此設(shè)立了中級調(diào)度。71、作業(yè)在其存在過程中分為哪四種狀態(tài)?
答:作業(yè)在其存在過程中分為提交、后備、執(zhí)行和完成四種狀態(tài)。72、在操作系統(tǒng)中,引起進程調(diào)度的主要因素有哪些?
答:在操作系統(tǒng)中,引起進程調(diào)度的主要因素有:正在運行的進程完成任務(wù),或等待資源,或運行到時;核心處理完中斷或陷入事件后,發(fā)現(xiàn)系統(tǒng)中“重新調(diào)度”標志被置上。
73、作業(yè)調(diào)度與進程調(diào)度二者間如何協(xié)調(diào)工作?
答:作業(yè)調(diào)度和進程調(diào)度是CPU主要的兩級調(diào)度。作業(yè)調(diào)度是宏觀調(diào)度,它所選擇的作業(yè)只是具有獲得處理機的資格,但尚未占有處理機,不能立即在其上實際運行。而進程調(diào)度是微觀調(diào)度,它根據(jù)一定的算法,動態(tài)地把處理機實際地分配給所選擇的進程,使之真正活動起來。
74、在確定調(diào)度方式和調(diào)度算法時,常用的評價準則有哪些?
答:在確定調(diào)度方式和調(diào)度算法時,常用的評價準則有:CPU利用率,吞吐量,周轉(zhuǎn)時間,就緒等待時間和響應(yīng)時間。
75、簡述先來先服務(wù)法、時間片輪轉(zhuǎn)法和優(yōu)先級調(diào)度算法的實現(xiàn)思想。答:先來先服務(wù)調(diào)度算法(FCFS)的實現(xiàn)思想:按作業(yè)(或進程)到來的先后次序進行調(diào)度,即先來的先得到執(zhí)行。
時間片輪轉(zhuǎn)法(RR)的實現(xiàn)思想:系統(tǒng)把所有就緒進程按先入先出的原則排成一個隊列。新來的進程加到就緒隊列末尾。每當執(zhí)行進程調(diào)度時,進程調(diào)度程序總是選出就緒隊列的隊首進程,讓它在CPU上運行一個時間片的時間。當進程用完分給它的時間片后,調(diào)度程序便停止該進程的運行,并把它放入就緒隊列的末尾;然后,把CPU分給就緒隊列的隊首進程。
優(yōu)先級調(diào)度算法的實現(xiàn)思想:是從就緒隊列中選出優(yōu)先級最高的進程,把CPU分給它使用。又分為非搶占式優(yōu)先級法和搶占式優(yōu)先級法。76、中斷響應(yīng)主要做哪些工作?由誰來做? 中斷響應(yīng)主要做的工作是: 1.中止當前程序的執(zhí)行;
2.保存原程序的斷點信息(主要是程序計數(shù)器PC和程序狀態(tài)寄存器PS的內(nèi)容); 3.到相應(yīng)的處理程序。4.中斷響應(yīng)由硬件實施。
77、一般中斷處理的主要步驟是什么?
一般中斷處理的主要步驟是:保存被中斷程序的現(xiàn)場,分析中斷原因,轉(zhuǎn)入相應(yīng)處理程序進行處理,恢復(fù)被中斷程序現(xiàn)場(即中斷返回)。78、簡述一條shell命令在Linux系統(tǒng)中的實現(xiàn)過程。
一條shell命令在Linux系統(tǒng)中的執(zhí)行過程基本上按照如下步驟: ① 讀取用戶由鍵盤輸入的命令行。
② 分析命令,以命令名作為文件名,其他參數(shù)改造為系統(tǒng)調(diào)用execve()內(nèi)部處理所要求的形式。
③ 終端進程調(diào)用fork()建立一個子進程。
④ 終端進程本身用系統(tǒng)調(diào)用wait4()來等待子進程完成。當子進程運行時調(diào)用execve(),子進程根據(jù)文件名到目錄中查找有關(guān)文件,調(diào)入內(nèi)存,執(zhí)行這個程序。
⑤ 如果命令末尾有&號,則終端進程不用執(zhí)行系統(tǒng)調(diào)用wait4(),而是立即發(fā)提示符,讓用戶輸入下一個命令,轉(zhuǎn)步驟(1)。如果命令末尾沒有&號,則終端進程要一直等待,當子進程完成工作后要終止,向父進程報告,此時終端進程醒來,在做必要的判別等工作后,終端進程發(fā)提示符,讓用戶輸入新的命令,重復(fù)上述處理過程。79、在 Linux系統(tǒng)中,進程調(diào)度的方式和策略是什么?對用戶進程和核心進程如何調(diào)度?
答:Linux系統(tǒng)的調(diào)度方式基本上采用“搶占式優(yōu)先級”方式。
Linux系統(tǒng)針對不同類別的進程提供了三種不同的調(diào)度策略,即適合于短實時進程的FIFO,適合于每次運行需要較長時間實時進程的時間片輪轉(zhuǎn)法,適合于交互式的分時進程傳統(tǒng)的UNIX調(diào)度策略。
Linux系統(tǒng)核心為每個進程計算出一個優(yōu)先級,高優(yōu)先級的進程優(yōu)先得到運行。Linux系統(tǒng)的調(diào)度方式基本上采用“搶占式優(yōu)先級”方式,當進程在用戶模式下運行時,不管它是否自愿,核心在一定條件下可以暫時中止其運行,而調(diào)度其他進程運行。
80、處理機調(diào)度一般可分為哪三級?其中哪一級調(diào)度必不可少?為什么? 處理機調(diào)度一般可分為高級調(diào)度、中級調(diào)度和低級調(diào)度。其中進程調(diào)度必不可少。
進程只有在得到CPU之后才能真正活動起來,所有就緒進程經(jīng)由進程調(diào)度才能獲得CPU的控制權(quán);進程調(diào)度的實現(xiàn)策略往往決定了操作系統(tǒng)的類型,其算法優(yōu)劣直接影響整個系統(tǒng)的性能。
81、作業(yè)提交后是否馬上放在內(nèi)存中?為什么?
在批處理系統(tǒng)中,作業(yè)提交后并不是馬上放在內(nèi)存中。其原因是:內(nèi)存容量有限,而提交的作業(yè)數(shù)量可能很多,無法把它們都放入內(nèi)存;即使都放入內(nèi)存,當內(nèi)存中可以同時運行的作業(yè)太多時,會影響系統(tǒng)的性能,如使周轉(zhuǎn)時間太長。82、作業(yè)調(diào)度與進程調(diào)度之間有什么差別?
83、請求分頁技術(shù)與簡單分頁技術(shù)之間的根本區(qū)別是什么?
84、未來操作系統(tǒng)大致有哪些特征?
85、什么是重定位?對程序進行重定位的方式分為哪幾種?
86、請解釋虛擬設(shè)備的含義?
87、什么是設(shè)備獨立性?
88、現(xiàn)代計算機系統(tǒng)是由什么組成的?
89、什么是進程的互斥與同步?