16 操作系统第四章 文件管理 文件的基本操作 文件共享 文件保护 文件系统的层次结构
文章目錄
- 1 文件的基本操作
- 1.1 創建文件
- 1.2 刪除文件
- 1.3 打開文件
- 1.4 關閉文件
- 1.5 讀文件
- 1.6 寫文件
- 1.7 文件基本操作小結
- 2 文件共享
- 2.1 基于索引結點的共享方式(硬鏈接)
- 2.2 基于符號鏈的共享方式(軟鏈接)
- 2.3 文件共享小結
- 3 文件保護
- 3.1 口令保護
- 3.2 加密保護
- 3.3 訪問控制
- 3.4 文件保護小結
- 4 文件系統的層次結構
1 文件的基本操作
1.1 創建文件
創建文件,(點擊新建后,圖形化交互進程在背后調用了“create系統調用”)
進行Create系統調用時,需要提供的幾個主要參數:
操作系統在處理Create系統調用時,主要做了兩件事:
1.2 刪除文件
刪除文件(點了“刪除”之后,圖形化交互進程通過操作系統提供的“刪除文件”功能,即delete系統調用,將文件數據從外存中刪除)
進行Delete系統調用時,需要提供的幾個主要參數:
操作系統在處理Delete系統調用時,主要做了幾件事:
(回收磁盤塊時,根據空閑表法、空閑鏈表法、位圖法等管理策略的不同,需要做不同的處理)
1.3 打開文件
在很多操作系統中,在對文件進行操作之前,要求用戶先使用open系統調用
“打開文件”,需要提供的幾個主要參數:
操作系統在處理open系統調用時,主要做了幾件事:
打開文件表又可分為系統的打開文件表和進程的打開文件表
讀寫指針:記錄了該進程對文件的讀/寫操作進行到的位置
訪問權限:如果打開文件時聲明的是“只讀”,則該進程不能對文件進行寫操作
可以方便實現某些文件管理的功能。例如:
在Windows系統中,我們嘗試刪除某個txt文件,如果此時該文件已被某個“記事本”進程打開,則系統會提示我們“暫時無法刪除該文件”。其實系統在背后做的事就是先檢查了系統打開文件表,確認此時是否有進程正在使用該文件。
打開計數器:記錄此時有多少個進程打開了此文件
1.4 關閉文件
進程使用完文件后,要“關閉文件”
操作系統在處理Close系統調用時,主要做了幾件事:
1.5 讀文件
讀文件,將文件數據讀入內存,才能讓CPU處理(雙擊后,“記事本”應用程序通過操作系統提供的“讀文件”功能,即read系統調用,將文件數據從外存讀入內存,并顯示在屏幕上)
1.6 寫文件
寫文件,將更改過的文件數據寫回外存(我們在“記事本”應用程序中編輯文件內容,點擊“保存”后,
“記事本”應用程序通過操作系統提供的“寫文件”功能,即write系統調用,將文件數據從內存寫回外存)
進程使用write系統調用完成寫操作,需要指明是哪個文件(在支持“打開文件”操作的系統中,只需要提供文件在打開文件表中的索引號即可),還需要指明要寫出多少數據(如:寫出1KB)、寫回外存的數據放在內存中的什么位置操作系統在處理write系統調用時,會從用戶指定的內存區域中,將指定大小的數據寫回寫指針指向的外存。
1.7 文件基本操作小結
2 文件共享
2.1 基于索引結點的共享方式(硬鏈接)
索引結點,是一種文件目錄瘦身策略。由于檢索文件時只需用到文件名,因此可以將除了文件名之外的其他信息放到索引結點中。這樣目錄項就只需要包含文件名、索引結點指針。
索引結點中設置一個鏈接計數變量count,用于表示鏈接到本索引結點上的用戶目錄項數。
2.2 基于符號鏈的共享方式(軟鏈接)
當User3訪問“ccc”時,操作系統判斷文件“ccc”屬于Link類型文件,于是會根據其中記錄的路徑層層查找目錄,最終找到User1的目錄表中的“aaa”表項,于是就找到了文件1的索引結點。
IntelliJ IDEA 2018.2.5 x64就是一個Link類型的文件名,可以不同
雙擊打開時,操作系統判斷這個文件是Link類型的“快捷方式”文件,于是會根據其中記錄的“路徑信息”檢索目錄,最終找到“idea4.exe”
2.3 文件共享小結
3 文件保護
3.1 口令保護
為文件設置一個“口令”(如:abc112233),用戶請求訪問該文件時必須提供“口令”。
口令一般存放在文件對應的FCB或索引結點中。用戶訪問文件前需要先輸入“口令”,操作系統會將用戶提供的口令與FCB中存儲的口令進行對比,如果正確,則允許該用戶訪問文件
優點:保存口令的空間開銷不多,驗證口令的時間開銷也很小。
缺點:正確的“口令”存放在系統內部,不夠安全。
3.2 加密保護
使用某個“密碼”對文件進行加密,在訪問文件時需要提供正確的“密碼”才能對文件進行正確的解密。
優點:保密性強,不需要在系統中存儲“密碼”
缺點:編碼/譯碼,或者說加密/解密要花費一定時間。
3.3 訪問控制
在每個文件的FCB(或索引結點)中增加一個訪問控制列表(Access-Control List,ACL),該表中記錄了各個用戶可以對該文件執行哪些操作。
精簡的訪問列表:以“組”為單位,標記各“組”用戶可以對文件執行哪些操作。
如:分為系統管理員、文件主、文件主的伙伴、其他用戶幾個分組。
當某用戶想要訪問文件時,系統會檢查該用戶所屬的分組是否有相應的訪問權限。
3.4 文件保護小結
4 文件系統的層次結構
用一個例子來輔助記憶文件系統的層次結構:
假設某用戶請求刪除文件“D:/臨時文件目錄/學生信息.xIsx”的最后100條記錄。
存取控制模塊(存取控制驗證層)
總結
以上是生活随笔為你收集整理的16 操作系统第四章 文件管理 文件的基本操作 文件共享 文件保护 文件系统的层次结构的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 论文学习3-Improving Neur
- 下一篇: Java常见面试知识点:继承、接口、多态