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