(操作系统题目题型总结)第六章:文件管理
文章目錄
- 費翔林課本習題
- 思考題
- 應用題
費翔林課本習題
思考題
1.試述下列屬于的定義并說明他們之間的關系:卷、塊、記錄、文件(★★★)
【答案】
- 存儲介質的物理單位定義為卷
- 存儲介質上可連續存儲信息的一個區域稱之為塊,也叫做物理記錄
- 把邏輯上具有完整意義的信息集合稱之為文件
- 記錄分為邏輯記錄和物理記錄。邏輯記錄是指邏輯上獨立劃分的信息單位,物理記錄就是塊
他們之間的關系
- 一卷存儲介質可以被分為若干個塊,能用來存放一個或多個文件
- 一個文件可以由多個記錄組成,這樣的文件稱之為記錄式文件
- 一個記錄可以占用存儲介質上的一塊,或一塊也可以存放多個記錄
2.什么是記錄的成組和分解操作,采用這種技術有何優點(★★★)
【答案】
邏輯記錄是按信息在邏輯上的獨立含義由用戶劃分的單位,而塊是系統劃分的存儲介質上連續信息所組成的區域。因此,一條邏輯記錄被存放到文件存儲器的存儲介質上時,可能占用一塊或者多塊,或者一個物理塊也可以包含多條邏輯記錄。若干邏輯記錄合并成一組,寫入一塊叫做記錄成組,這時,每塊中的邏輯記錄的個數稱之為塊因子。成組操作現在系統輸出緩沖區內進行,湊滿一塊后才將緩沖區的信息寫到存儲介質上。反之,當存儲介質上的一個物理塊讀進系統輸入緩沖區后,把邏輯記錄從塊中分離出來的操作叫做記錄的分解
3.列舉文件系統面向用戶的主要功能
【答案】
4.什么是文件的邏輯結構?它有哪幾種組織方式(★★★)
【答案】
文件組織是指文件中信息的配置和構造方式,應該從文件的邏輯結構和組織以及文件的物理結構和組織兩方面加以考慮。前者從用戶觀點除法,研究用戶概念中抽象的信息組織方式,這是用戶能夠觀察到的,可以加以處理的數據集合,由于數據可獨立于物理環境構造,故稱之為邏輯結構,相關數據的集合構成邏輯文件
主要分為流式文件和記錄式文件,其中記錄式文件的兩種常用的記錄組織和使用方法如下
- 記錄式順序文件
- 記錄式索引順序文件
5.什么是文件的物理結構?它有哪幾種組織方式
【答案】
文件的物理結構是指邏輯文件在物理存儲空間中的存儲方法和組織關系。主要有
- 順序分配
- 連接分配
- 索引分配
- 直接文件
【答案】
為了方便記錄式文件的組織和管理,提高文件記錄的查找效率,通常對邏輯文件的每條邏輯記錄至少指定一個與其對應的基本數據項,利用它可與同一文件中的其他記錄區別開來。這個數據項叫做記錄鍵
7.文件系統所提供的主要文件操作有哪些,試述各自功能
【答案】
8.試述linux虛擬文件系統的設計思想和實現要點
【答案】
為了能同時指出多種文件系統,不同的操作系統采用不同的技術方案來提供虛擬文件系統(VFS),其目標是:把多種具體文件系統納入統一框架,不同磁盤分區可包含不同具體的文件系統,對它們的使用和傳統的單一文件系統并無區別;用戶可通過同一組系統調用對不同文件系統及文件進行操作,系統調用可以跨物理介質和跨文件系統執行,如從一個文件系統復制或移動數據到另一個文件系統中,即提供對不同文件系統透明的相互訪問;對網絡共享文件提供完全的支持,訪問遠程結點上的文件與訪問本地結點文件是一樣的。主要有
- 應用層
- 虛擬層
- 實現層
9.解釋FCB、文件目錄、文件目錄項、目錄文件(★★★)
【答案】
- FCB:即文件控制塊,是操作系統為每個文件建立的唯一數據結構,其中包含了全部的文件屬性,其目的是為了方便操作系統對文件的管理、控制和存取
- 文件目錄:通常把FCB匯集和組織在一起形成文件目錄,其基本功能是將文件名轉換為此文件信息在磁盤上的物理位置
- 文件目錄項:文件目錄包含許多目錄項,目錄項有兩種,分別用于描述子目錄和描述文件
- 目錄文件:目錄項的格式按統一標準定義,全部由目錄項所構成的文件稱之為目錄文件,并保存在外存上
10.解釋用戶打開文件表,系統打開文件表
【答案】
- 用戶打開文件表:進程PCB中保留一個files_struct,稱之為用戶打開文件表或文件描述符表。表項的序號是文件描述符fd,此登記項內登記系統打開文件表的一個入口指針fp,通過此系統打開文件表項鏈接到打開文件的活動inode
- 系統打開文件表:這是為解決多個進程共享文件,父子創建共享文件而設置的系統級的files_struct
10.解釋:根目錄、父目錄、子目錄、當前目錄
【答案】
層次結構中,樹根是根目錄,從根向下,每個樹枝是子目錄,而樹葉是文件
11.解釋:路徑名,絕對路徑、相對路徑
- 路徑名:包括從根目錄起至文件為止,在通路上所遇到的所有子目錄路徑,各子目錄名之間用斜線隔開
- 絕對路徑:填寫絕對目錄路徑地址那就叫絕對路徑,通常我們直接使用"/"代表從根目錄開始的目錄路徑
- 相對路徑:填寫目錄時候以填寫目錄文件為參考,使用“…/”或"./“指向上一級 或 使用”…/…/"指向上上一級叫相對路徑
12.什么是設備文件,如何實現設備文件(★★★)
設備文件與系統的某個設備相對應。在內核中,每種設備類型都有與之相對應的設備驅動程序,用來處理設備的所有IO請求。設備驅動程序屬內核代碼單元,可執行一系列操作,通常與相關硬件的輸入/輸出動作相對應。由設備驅動程序提供的API是固定的,包含的操作對應于系統調用open()、close()、read()、write()、mmap()以及 ioctl()。每個設備驅動程序所提供的接口一致,這隱藏了每個設備在操作方面的差異,從而滿足了IO操作的通用性。即,與磁盤上的普通文件進行交互所用的同一系統調用可直接用于I/O設備。例如,用同一write()系統調用既可以向普通文件中寫入數據,也可以通過向/dev/lp0設備文件中寫入數據從而把數據發往打印機。某些設備是實際存在的,比如鼠標、磁盤和磁帶設備。而另一些設備則是虛擬的,亦即并不存在相應硬件,但內核會(通過設備驅動程序)提供一種抽象設備,其所攜帶的API與真實設備一般無異
13.什么是文件的共享?介紹文件共享的分類和實現思想
【答案】
文件共享是指不同進程共同使用同一個文件,文件共享不僅為不同進程完成共同任務所必須,而且還節省了大量外存空間,減少了因文件復制而增加的I/O控制
- 靜態共享
- 動態共享
- 符號鏈接共享
14.什么是文件的安全控制?有哪些實現方法
為了防止文件共享可能會導致文件被破壞或未經核準的用戶修改文件,文件系統必須控制用戶對文件的存取,因此必須在文件系統中建立相應的文件保護機制。方法主要有:
- 口令保護
- 加密保護
- 訪問控制
15.目前廣泛采用的是哪種文件目錄結構?
【答案】
是多級目錄結構(樹形結構)。可以看出,樹形目錄結構可以很方便地對文件進行分類歸納,層次十分清晰,也易于對文件進行管理和保護。但缺點就是不便于實現文件的共享
16.試說明樹狀目錄結構中線性檢索法的檢索過程
【答案】
答:假設用戶給定的文件路徑名為/Level1/Level2/…/Leve1n/datafile,則關于樹型目錄結構采用線性檢索法檢索該文件的基本過程為:①讀入第-一個文件分量名Level1,用它與根目錄文件(或當前目錄文件)中各個目錄項的文件名順序地進行比較,從中找出匹配者,并得到匹配項的索引結點號,再從對應索引結點中獲知Leve11目錄文件所在的盤塊號,將相應盤塊讀入內存。②對于2 ~n,循環執行以下步驟,以檢索各級目錄文件:讀入第i個文件分量名Leveli,用它與最新調入內存的當前目錄文件中各個目錄項的文件名順序地進行比較,從中找出匹配者,并得到匹配項的索引結點號,再從對應索引結點中獲知Leveli目錄文件所在的盤塊號,將相應盤塊讀入內存。③讀入最后- .個文件分量名即datafile,用它與第n級目錄文件中各個目錄項的文件名進行比較,從而得到該文件對應的索引結點號,進而找到該文件物理地址,目錄查找操作成功結束。如果在上述查找過程中,發現任何一個文件分量名未能找到,則停止查找并返回“文件未找到”的出錯信息
1.文件控制塊
2.索引結點
3.索引分配
4.文件中空閑區管理方式
- 空閑表法
- 空閑鏈表法
- 位示圖法
- 成組鏈表法
5.位示圖法
6.硬鏈接和軟鏈接
應用題
【答案】
由于磁帶卷上的文件用“帶標”隔開,每個文件的頭標前后都是用了三個帶標。正常情況下,磁頭應該停在文件頭標的前面,所以只要計算帶標的個數,就可以找到所需文件
①當i>=j時,要正走磁帶
②當i<j時,要反走磁道
【答案】
F=[BR]F=[\frac{B}{R}]F=[RB?]
【答案】
(1)位示圖法采用二進制的一位表示磁盤中一個盤塊的使用情況,磁盤上所有的盤塊都有一個二進制位與之對應,有一個字32位,因此需要500/32=16個字
(2)因此b=32*i+j
(3)申請時自上而下,從左向右掃描位示圖跳過為1的位,找到第一個遷到的0位,根據它是第i字第j位算出對應塊號,并分配除去。歸還時i=b/n,j=b%n
方法是
- 字節偏移量/盤塊大小=邏輯塊號,字節偏移量%盤塊大小=塊內偏移
- 使用多重索引結構,在索引節點中根據邏輯塊號通過中介索引或間接索引找到對應物理塊號
【答案】
(1)
- 9999/1024=9
- 9999%1024=783
- 故直接索引addrr81中可找到物理塊號
(2)
- 18000/1024=17
- 18000%1024=592
- 故通過一次間接索引addr[10]中可找到物理塊號
(3)
- 42000/1024=41
- 42000%1024=16
- 故通過二次間接索引addr[11]中可找到物理塊號
【答案】
1569/512=3,余33,故在75號磁盤塊的邏輯地址為33字節處
【答案】
- 使用字節偏移量除以盤塊大小得到邏輯塊號,余數為塊內偏移
- 將文件的邏輯塊號轉為物理塊號
- 在索引節點中根據邏輯塊號通過直接索引或間接索引找到對應物理塊號,再分別判斷邏輯塊號是在10以內還是以上,對應采用尋址方式即可
【答案】
采用成組方式存放,塊因子是2。由于共有18個邏輯記錄,故占用了9個物理塊,而第15號邏輯記錄占用的是第15/2=8物理塊。由于是連續文件,所以物理塊也是連續的,所以該邏輯記錄占用搞得是第12+8-1=19。過程如下
- 根據塊因子,計算占用的相對物理塊號是8
- 根據起始塊號,計算出絕對物理塊號為19
- 將19號物理塊讀入內存緩沖區
- 把所需要的邏輯記錄分解出來
【答案】
(1)i=15,j=7,因此對應的塊號=15×16+7=247
對于塊號247所對應的
- 柱面號=247/8×4=7
- 磁頭號=(247MOD32)/4=5
- 扇區號=247 MOD 32 MOD 4 =3
(2)塊號=柱面號×柱面扇區數+磁道號×盤扇區+盤扇區=56×(8×4)+6×4+3=1819
所以字號=1819/16=113,位號=1819MOD16=11
【答案】
(1)索引節點=128B,狀態信息占用了68B,所以剩余用于磁盤指針的空間為128-68=60B
(2)一次間接、二次間接和三次間接指針占用三個知真相,因此直接指針項數為60/4-3=12個。由于每塊大小為8KB,
- 所以對于直接指針12×8192=98304B;
- 對于一次間接指針,8192/4=2048,也即有2048個盤塊指針,故文件大小為2048×8192=16MB;
- 對于二次間接指針,2048×2048=4M個盤塊指針,4M×8192=32GB
- 對于三次間接指針,2048×2048×2048=8G個盤塊指針,8G×8192=16TB
【答案】
首先計算
- 直接:512B×12/1024=6KB
- 一次:512B×128/1024=64KB
- 二次:512B×128×128/1024=8192KB
- 三次:512B×128×128×128/1024=1048576KB
占用塊數
- 1MB:1MB=1024KB,所以1024KB-6KB-64KB=954KB,954×1024/512=1908.故占用128個一次間接盤塊和1908個二次間接盤塊
- 25M:25×1024-6KB-54KB-8192KB=17338KB,17338×1024/512=34676.故占用128個一次間接盤塊,16384個二次間接盤塊和34676個三次間接盤塊
總結
以上是生活随笔為你收集整理的(操作系统题目题型总结)第六章:文件管理的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 360董事长周鸿伟在新员工入职培训上的讲
- 下一篇: PHP 设计模式 笔记与总结(8)策略模