OS- -文件系统(一)
OS- -文件系統(一)
文章目錄
- OS- -文件系統(一)
- 一、文件
- 1.文件命名
- 2.文件結構
- 3.文件類型
- 4.文件訪問
- 5.文件屬性
- 6.文件操作
- 二、目錄
- 1.一級目錄系統
- 2.層次目錄系統
- 3.路徑名
- 4.目錄操作
一、文件
- 所有的應用程序都需要存儲和檢索信息。進程運行時,它能夠在自己的存儲空間內存儲一定量的信 息。
- 然而,存儲容量受虛擬地址空間大小的限制。對于一些應用程序來說,存儲空間的大小是充足 的,但是對于其他一些應用程序,比如航空訂票系統、銀行系統、企業記賬系統來說,這些容量又顯得 太小了。
- 第二個問題是,當進程終止時信息會丟失。對于一些應用程序(例如數據庫),信息會長久保留。在這 些進程終止時,相關的信息應該保留下來,是不能丟失的。甚至這些應用程序崩潰后,信息也應該保留 下來。
- 第三個問題是,通常需要很多進程在同一時刻訪問這些信息。解決這種問題的方式是把這些信息單獨保 留在各自的進程中。
因此,對于長久存儲的信息我們有三個基本需求:
- ?必須要有可能存儲的大量的信息
- ?信息必須能夠在進程終止時保留
- ?必須能夠使多個進程同時訪問有關信息
磁盤(Magnetic disk)一直是用來長久保存信息的設備。近些年來,固態硬盤逐漸流行起來
-
固態硬盤不僅沒有易損壞的移動部件,而且能夠提供快速的隨機訪問。
-
相比而言,雖然磁帶和光盤也被 廣泛使用,但是它們的性能相對較差,通常應用于備份。我們姑且把磁盤當作 一種大小固定塊的線性序列好了,并且支持如下操作
-
?讀塊k
-
?寫塊k
-
事實上磁盤支持更多的操作,但是只要有了讀寫操作,原則上就能夠解決長期存儲的問題。
-
然而,磁盤還有一些不便于實現的操作,特別是在有很多程序或者多用戶使用的大型系統上(如服務 器)。在這種情況下,很容易產生一些問題,例如
-
?你如何找到這些信息?
-
?你如何保證一個用戶不會讀取另外一個用戶的數據?
-
?你怎么知道哪些塊是空閑的?等等問題
-
我們可以針對這些問題提出一個新的抽象-文件。
-
文件(Files)是由進程創建的邏輯信息單元。一個磁盤會包含幾千甚至幾百萬個文件,每個文件是獨 立于其他文件的。 事實上,如果你能把每個文件都看作一個獨立的地址空間,那么你就可以真正理解文 件的概念了。
-
進程能夠讀取已經存在的文件,并在需要時重新創建他們。存儲在文件中的信息必須是持久的,這也 就是說,不會因為進程的創建和終止而受影響。
-
一個文件只能在當用戶明確刪除的時候才能消失。盡管 讀取和寫入都是最基本的操作,但還有許多其他操作。
-
文件由操作系統進行管理,有關文件的構造、命名、訪問、使用、保護、實現和管理方式都是操作系統 設計的主要內容。從總體上看,操作系統中處理文件的部分稱為 文件系統(file system)。
-
從用戶角度來說,用戶通常會關心文件是由什么組成的,如何給文件進行命名,如何保護文件,以及可 以對文件進行哪些操作等等。
-
盡管是用鏈表還是用位圖記錄內存空閑區并不是用戶所關心的主題,而這 些對系統設計人員來說至關重要。
下面我們就來探討一下這些主題
1.文件命名
- 文件是一種抽象機制,它提供了一種方式用來存儲信息以及在后面進行讀取。可能任何一種機制最重要 的特性就是管理對象的命名方式。
- 在創建一個文件后,它會給文件一個命名。當進程終止時,文件會繼 續存在,并且其他進程可以使用名稱訪問該文件。
- 文件命名規則對于不同的操作系統來說是不一樣的,但是所有現代操作系統都允許使用1 -8個字母的 字符串作為合法文件名。
- 某些文件區分大小寫字母,而大多數則不區分。UNIX屬于第一類;歷史悠久的MS-DOS屬于第二類 (盡管MS-DOS歷史悠久,但MS-DOS仍在嵌入式系統中非常廣泛地使用,因此它絕不 是過時的);
- 因此,UNIX系統會有三種不同的命名文件:maria、Maria、MARIA。在MS- DOS ,所有這些命名都屬于相同的文件
- Windows 95和Windows 98都使用了 MS-DOS文件系 統,叫做FAT-16 ,因此繼承了它的一些特征,例如有關文件名的構造方法。
- Windows 98引入了對 FAT-16的一些擴展,從而導致了 FAT-32的生成,但是這兩者很相似。
- 另外,Windows NT, Windows 2000, Windows XP, Windows Vista, Windows 7 和 Windows 8 都支持 FAT 文件系統, 這種文件系統有些過時。
- 然而,這些較新的操作系統還具有更高級的本機文件系統(NTFS),有不同的 特性,那就是基于Unicode編碼的文件名。
- 事實上,Windows 8還配備了另一種文件系統,簡稱 ReFS(Resilient File System),但這個文件系統一般應用于Windows 8的服務器版本。
- 下面除 非我們特殊聲明,否則我們在提到MS-DOS和FAT文件系統的時候,所指的就是Windows的FAT-16 和FAT-32。
- 這里要說一下,有一種類似FAT的新型文件系統,叫做exFAT ,它是微軟公司對閃存和 大文件系統開發的一種優化的FAT 32擴展版本。ExFAT是現在微軟唯一能夠滿足OS X讀寫操作的文 件系統。
- 許多操作系統支持兩部分的文件名,它們之間用 . 分隔開,比如文件名prog.c。原點后面的文件 稱為 文件擴展名(file extension),文件擴展名通常表示文件的一些信息。
- 例如在MS-DOS中, 文件名是1 - 8個字符,加上1-3個字符的可選擴展名組成。在UNIX中,如果有擴展名,那么擴展 名的長度將由用戶來決定,一個文件甚至可以包括兩個或更多的擴展名,例如homepage. html .zip , html 表示一個 web 網頁而.zip 表示文件 homepage. html 已經采用 zip 程 序壓縮完成。
一些常用的文件擴展名以及含義如下圖所示
- 在UNIX系統中,文件擴展名只是一種約定,操作系統并不強制采用。
- 名為file.txt的文件是文本文件,這個文件名更多的是提醒所有者,而不是給計算機傳遞信息。
- 但 是另一方面,C編譯器可能要求它編譯的文件以.c結尾,否則它會拒絕編譯。然而,操作系統并不 關心這一點。
- 對于可以處理多種類型的程序,約定就顯得及其有用。例如C編譯器可以編譯、鏈接多種文件,包括 C文件和匯編語言文件。這時擴展名就很有必要,編譯器利用它們區分哪些是C文件,哪些是匯編文 件,哪些是其他文件
- 因此,擴展名對于編譯器判斷哪些是C文件,哪些是匯編文件以及哪些是其他文 件變得至關重要。
- 與UNIX相反,Windows就會關注擴展名并對擴展名賦予了新的含義。用戶(或進程)可以在操作系 統中注冊擴展名,并且規定哪個程序能夠擁有擴展名。
- 當用戶雙擊某個文件名時,擁有該文件名的程 序就啟動并運行文件。例如,雙擊file.docx啟動了 Word程序,并以file.docx作為初始文件。
2.文件結構
文件的構造有多種方式。下圖列出了常用的三種構造方式
- 上圖中的a是一種無結構的字節序列,操作系統不關心序列的內容是什么,操作系統能看到的就是字 節(bytes)。其文件內容的任何含義只在用戶程序中進行解釋。UNIX和Windows都采用這種辦法。
- 把文件看成字節序列提供了最大的靈活性。用戶程序可以向文件中寫任何內容,并且可以通過任何方便 的形式命名。操作系統不會為為用戶寫入內容提供幫助,當然也不會干擾阻塞你。
- 對于想做特殊操作的 用戶來說,后者是十分重要的。所有的UNIX版本(包括Linux和OS X)和Windows都使用這種文 件模型。
- 圖b表示在文件結構上的第一部改進。在這個模型中,文件是具有固定長度記錄的序列,每個記錄都有 其內部結構。
- 把文件作為記錄序列的核心思想是:讀操作返回一個記錄,而寫操作重寫或者追加一個 記錄。
- 第三種文件結構如上圖c所示。在這種組織結構中,文件由一顆記錄樹構成,記錄樹的長度不 一定相同,每個記錄樹都在記錄中的固定位置包含一個key字段。這棵樹按key進行排序,從而可以 對特定的key進行快速查找。
- 在記錄樹的結構中,可以取出下一個記錄,但是最關鍵的還是根據key搜索指定的記錄。
- 如上圖c所 示,用戶可以讀出指定的pony記錄,而不必關心記錄在文件中的確切位置。用戶也可以在文件中添 加新的記錄。但是用戶不能決定添加到何處位置,添加到何處位置是由操作系統決定的。
3.文件類型
- 很多操作系統支持多種文件類型。例如,UNIX (同樣包括0SX)和Windows都具有常規的文件和目 錄。
- 除此之外,UNIX還具有 字符特殊文件(character special file)和 塊特殊文件(block special file) ,常規文件(Regular files)是包含有用戶信息的文件。
- 用戶一般使用的文件大都 是常規文件,常規文件一般包括可執行文件、文本文件、圖像文件,從常規文件讀取數據或將數據寫 入時,內核會根據文件系統的規則執行操作,是寫入可能被延遲,記錄日志或者接受其他操作。
- 字符特殊文件和輸入/輸出有關,用于串行I/O類設備,如終端、打印機、網絡等。塊特殊文件用于磁盤 類設備。我們主要討論的是常規文件。
- 常規文件一般分為ASCII碼文件或者二進制文件。ASCII碼文件由文本組成。在一些系統中,每行都 會用回車符結束(ASCII碼是13,控制字符CR,轉義字符\r ),另外一些則會使用換行符(ASCII 碼是10,控制字符LF,轉義字符\n )。一些系統(比如Windows)兩者都會使用。
- ASCII文件的優點在于顯示和打印,還可以用任何文本編輯器進行編輯。
- 進一步來說,如果許多應 用程序使用ASCII碼作為輸入和輸出,那么很容易就能夠把多個程序連接起來,一個程序的輸出可能是 另一個程序的輸入,就像管道一樣
- 其他與ASCII不同的是二進制文件。打印出來的二進制文件是無法理解的。
- 下面是一個二進制文件的格 式,它取自早期的UNIX。盡管從技術上來看這個文件只是字節序列,但是操作系統只有在文件格式正 確的情況下才會執行。
- 這個文件有五個段:文件頭、征文、數據、重定位位和符號表。文件頭以 魔數(magic number)為開 始,表明這個文件是一個可執行文件(以防止意外執行非此格式的文件)。
- 然后是文件各個部分的大 小,開始執行的標志以及一些標志位。程序本身的正文和數據在文件頭后面,他們被加載到內存中或 者重定位會根據重定位位進行判斷。符號表則用于調試。
- 二進制文件的另外一種形式是存檔文件,它由已編譯但沒有鏈接的庫過程(模塊)組合而成。每個文 件都以模塊頭開始,其中記錄了名稱、創建日期、所有者、保護碼和文件大小。和可執行文件一樣,模 塊頭也都是二進制數,將它們復制到打印機將會產生舌L碼
- 所有的操作系統必須至少能夠識別一種文件類型:它自己的可執行文件。以前的T0PS-2。系統(用于 DECsystem 20)甚至要檢查要執行的任何文件的創建時間,為了定位資源文件來樓查自動文件創建后 是否被修改過。
- 如果被修改過了,那么就會自動編譯文件。在UNIX中,就是在shell中嵌入make 程序。此時操作系統要求用戶必須采用固定的文件擴展名,從而確定哪個源程序生成哪個二進制文件。
- 什么是make程序?在軟件發展過程中,make程序是一個自動編譯的工具,它通過讀取稱為 Makefiles的文件來自動從源代碼構建可執行程序和庫,該文件指定了如何導出目標程序。
- 盡管集成開發環境和特定于語言的編譯器功能也可以用于管理構建過程,但Make仍被廣泛使用, 尤其是在Unix和類似Unix的操作系統中使用。
- 當程序從文件中讀寫數據時,請求會轉到內核處理程序(kernel driver) ,如果文件是常規文件,則 數據由文件系統驅動程序處理,并且通常存儲在磁盤或其他存儲介質上的某塊區域中,從文件中讀取的 數據就是之前在該位置寫入的數據。
- 當數據讀取或寫入到設備文件時,請求會被設備驅動程序處理。每個設備文件都有一個關聯的編號,該 編號標示要使用的設備驅動程序。
- 設備處理數據的工作是它自己的事兒。
- ?塊設備 也叫做塊特殊文件,它的行為通常與普通文件相似:它們是字節數組,并且在給定位置讀 取的值是最后寫入該位置的值。來自塊設備的數據可以緩存在內存中,并從緩存中讀取;寫入可以 被緩沖。塊設備通常是可搜索的,塊設備的概念是,相應的硬件可以一次讀取或者寫入整個塊,例 如磁盤上的一個扇區
- ?字符設備 也稱為字符特殊文件,它的行為類似于管道、串行端口。將字節寫入字符設備可能會導 致它在屏幕上顯示,在串行端口上輸出,轉換為聲音。
- 目錄(Directories)是管理文件系統結構的系統文件。它是用于在計算機上存儲文件的位置。目錄位 于分層文件系統中,例如Linux, MS-DOS和UNIX
- 它顯示所有本地和子目錄(例如,cdn目錄中的big目錄)。當前目錄是C盤驅動器的根目錄。之所 以稱為根目錄,是因為該目錄下沒有任何內容,而其他目錄都在該目錄下分支。
4.文件訪問
- 早期的操作系統只有一種訪問方式:序列訪問(sequential access)
- 在這些系統中,進程可以按照 順序讀取所有的字節或文件中的記錄,但是不能跳過并亂序執行它們。
- 順序訪問文件是可以返回到起點 的,需要時可以多次讀取該文件。當存儲介質是磁帶而不是磁盤時,順序訪問文件很方便。
- 在使用磁盤來存儲文件時,可以不按照順序讀取文件中的字節或者記錄,或者按照關鍵字而不是位置來 訪問記錄。這種能夠以任意次序進行讀取的稱為隨機訪問文件(random access file)。許多應用程 序都需要這種方式。
- 隨機訪問文件對許多應用程序來說都必不可少,例如,數據庫系統。如果乘客打電話預定某航班機票, 訂票程序必須能夠直接訪問航班記錄,而不必先讀取其他航班的成千上萬條記錄。
- 有兩種方法可以指示從何處開始讀取文件。第一種方法是直接使用read從頭開始讀取。另一種是用 —個特殊的seek操作設置當前位置,在seek操作后,從這個當前位置順序地開始讀文件。UNIX和 Windows使用的是后面一種方式。
5.文件屬性
- 文件包括文件名和數據。除此之外,所有的操作系統還會保存其他與文件相關的信息,如文件創建的日期和時間、文件大小。我們可以稱這些為文件的屬性(attributes)
- 有些人也喜歡把它們稱作 元數 據(metadata)。文件的屬性在不同的系統中差別很大。文件的屬性只有兩種狀態:設置(set)和清除(clear)
下面是一些常用的屬性
- 沒有一個系統能夠同時具有上面所有的屬性,但每個屬性都在某個系統中采用。前面四個屬性(保護,口令,創建者,所有者)與文件保護有關,它們指出了誰可以訪問這個文件,誰 不能訪問這個文件。
- 保護(File Protection):用于保護計算機上有價值數據的方法。
- 文件保護是通過密碼保護 文件或者僅僅向特定用戶或組提供權限來實現。
- 在一些系統中,用戶必須給出口令才能訪問文件。標志(flags)是一些位或者短屬性能夠控制或者允 許特定屬性。
- ?隱藏文件位(hidden flag)表示該文件不在文件列表中出現。
- ?存檔標志位(archive flag)用于記錄文件是否備份過,由備份程序清除該標志位;若文件被修 改,操作系統則設置該標志位。用這種方法,備份程序可以知道哪些文件需要備份。
- ?臨時標志位(temporary flag)允許文件被標記為是否允許自動刪除當進程終止時。
記錄長度(record-length)、鍵的位置(key-position)和鍵的長度(key-length)等字段只能出 現在用關鍵字查找記錄的文件中。它們提供了查找關鍵字所需要的信息。 - 不同的時間字段記錄了文件的創建時間、最近一次訪問時間以及最后一次修改時間,它們的作用不同。 例如,目標文件生成后被修改的源文件需要重新編譯生成目標文件。這些字段提供了必要的信息。
- 當前大小字段指出了當前的文件大小,一些舊的大型機操作系統要求在創建文件時指定文件的最大值, 以便讓操作系統提前保留最大存儲值。但是一些服務器和個人計算機卻不用設置此功能。
6.文件操作
- 使用文件的目的是用來存儲信息并方便以后的檢索。對于存儲和檢索,不同的系統提供了不同的操作。
- 以下是與文件有關的最常用的一些系統調用:
- 1.Create ,創建不包含任何數據的文件。調用的目的是表示文件即將建立,并對文件設置一些屬 性。
- 2.Delete ,當文件不再需要,必須刪除它以釋放內存空間。為此總會有一個系統調用來刪除文 件。
- 3.Open ,在使用文件之前,必須先打開文件。這個調用的目的是允許系統將屬性和磁盤地址列表 保存到主存中,用來以后的快速訪問。
- 4.Close ,當所有進程完成時,屬性和磁盤地址不再需要,因此應關閉文件以釋放表空間。很多 系統限制進程打開文件的個數,以此達到鼓勵用戶關閉不再使用的文件。磁盤以塊為單位寫入,關 閉文件時會強制寫入最后一塊,即使這個塊空間內部還不滿。
- 5.Read ,數據從文件中讀取。通常情況下,讀取的數據來自文件的當前位置。調用者必須指定需 要讀取多少數據,并且提供存放這些數據的緩沖區。
- 6.Write ,向文件寫數據,寫操作一般也是從文件的當前位置開始進行。如果當前位置是文件的 末尾,則會直接追加進行寫入。如果當前位置在文件中,則現有數據被覆蓋,并且永遠消失。
- 7.append,使用append只能向文件末尾添加數據。
- 8.seek ,對于隨機訪問的文件,要指定從何處開始獲取數據。通常的方法是用seek系統調用把 當前位置指針指向文件中的特定位置。seek調用結束后,就可以從指定位置開始讀寫數據了。
- 9.get attributes ,進程運行時通常需要讀取文件屬性。
- 10.set attributes ,用戶可以自己設置一些文件屬性,甚至是在文件創建之后,實現該功能的 是set attributes系統調用。
- 11.rename ,用戶可以自己更改已有文件的名字,rename系統調用用于這一目的。
二、目錄
- 文件系統通常提供目錄(directories)或者文件夾(folders)用于記錄文件的位置,在很多系統 中目錄本身也是文件
下面我們會討論關于文件,他們的組織形式、屬性和可以對文件進行的操作。
1.一級目錄系統
- 目錄系統最簡單的形式是有一個能夠包含所有文件的目錄。這種目錄被稱為根目錄(root directory)
- 由于根目錄的唯一性,所以其名稱并不重要。在最早期的個人計算機中,這種系統很常 見,部分原因是因為只有一個用戶。
下面是一個單層目錄系統的例子
- 該目錄中有四個文件。這種設計的優點在于簡單,并且能夠快速定位文件,畢竟只有一個地方可以檢 索。
- 這種目錄組織形式現在一般用于簡單的嵌入式設備(如數碼相機和某些便攜式音樂播放器)上使 用。
2.層次目錄系統
- 對于簡單的應用而言,一般都用單層目錄方式,但是這種組織形式并不適合于現代計算機,因為現代計算機含有成千上萬個文件和文件夾。如果都放在根目錄下,查找起來會非常困難。
- 為了解決這一問題, 出現了層次目錄系統(Hierarchical Directory Systems),也稱為目錄樹。通過這種方式,可以 用很多目錄把文件進行分組。
- 進而,如果多個用戶共享同一個文件服務器,比如公司的網絡系統,每個 用戶可以為自己的目錄樹擁有自己的私人根目錄。
這種方式的組織結構如下:
- 根目錄含有目錄A、B和C,分別屬于不同的用戶,其中兩個用戶個字創建了子目錄。
- 用戶可以創建 任意數量的子目錄,現代文件系統都是按照這種方式組織的。
3.路徑名
- 當目錄樹組織文件系統時,需要有某種方法指明文件名。
- 常用的方法有兩種,第一種方式是每個文件都 會用一個 絕對路徑名(absolute path name),它由根目錄到文件的路徑組成。
- 舉個例 子,/usr/ast/mailbox意味著根目錄包含一個子目錄usr , usr下面包含了一個mailbox。
- 絕對路徑名總是以/開頭,并且是唯一的。
- 在UNIX中,路徑的組件由/分隔。在Windows中,分隔符 為\。在MULTICS中,它是>。
- 因此,在這三個系統中,相同的路徑名將被編寫如下
- Windows: \usr\ast\mailbox
- UNIX: /usr/ast/mailbox
- MULTICS: >usr>ast>mailbox
- 不論使用哪種方式,如果路徑名的第一個字符是分隔符,那就是絕對路徑。
- 另外一種指定文件名的方法是 相對路徑名(relative path name)。它常常和 工作目錄(working directory)(也稱作當前目錄(current directory))—起使用。用戶可以指定一個目錄作為當 前工作目錄。
- 例如,如果當前目錄是/usr/ast,那么絕對路徑/usr/ast/mailbox可以直接使用
mailbox來引用。 - 也就是說,如果工作目錄是/usr/ast,則UNIX命令 :
- cp /usr/ast/mailbox /usr/ast/mailbox.bak 和命令cp mailbox mailbox.bak具有相同的含義。
- 相對路徑通常情況下更加方便和簡潔。而它實現的功能和絕對路徑安全相同。
- 一些程序需要訪問某個特定的文件而不必關心當前的工作目錄是什么。在這種情況下,應該使用絕對路 徑名。
- 支持層次目錄結構的大多數操作系統在每個目錄中有兩個特殊的目錄項 . 和. .,長讀作dot和 dotdot。dot指的是當前目錄,dotdot指的是其父目錄(在根目錄 中例外,在根目錄中指向自己)。
可以參考下面的進程樹來查看如何使用。
- 一個進程的工作目錄是/usr/ast ,它可采用…沿樹向上,例如,可用命令
- 把文件usr/Hb/dictionary復制到自己的目錄下,第一個路徑告訴系統向上找(到usr目錄), 然后向下到1比 目錄,找到dictionary文件
- 第二個參數.指定當前的工作目錄,當cp命令用目錄名作為最后一個參數時,則把全部的文件復制到該目錄中。當然,對于上述復制,鍵入
- 是更常用的方法。用戶這里采用.可以避免鍵入兩次dictionary。無論如何,鍵入
也可正常工作,就像鍵入
cp /usr/lib/dictionary /usr/li b/di ctionary一樣。所有這些命令都能夠完成同樣的工作。
4.目錄操作
- 不同文件中管理目錄的系統調用的差別比管理文件的系統調用差別大。為了了解這些系統調用有哪些以及它們怎樣工作,下面給出一個例子(取自UNIX)
- 1.Create ,創建目錄,除了目錄項.和…外,目錄內容為空。
- 2.Delete ,刪除目錄,只有空目錄可以刪除。只包含.和…的目錄被認為是空目錄,這兩 個目錄項通常不能刪除
- 3.opendir ,目錄內容可被讀取。例如,未列出目錄中的全部文件,程序必須先打開該目錄,然 后讀其中全部文件的文件名。與打開和讀文件相同,在讀目錄前,必須先打開文件。
- 4.closedir ,讀目錄結束后,應該關閉目錄用于釋放內部表空間。
- 5.readdir ,系統調用readdir返回打開目錄的下一個目錄項。以前也采用read系統調用來讀取 目錄,但是這種方法有一個缺點:程序員必須了解和處理目錄的內部結構。相反,不論采用哪一種 目錄結構,readdir總是以標準格式返回一個目錄項。
- 6.rename ,在很多方面目錄和文件都相似。文件可以更換名稱,目錄也可以。
- 7.link ,鏈接技術允許在多個目錄中出現同一個文件。這個系統調用指定一個存在的文件和一個 路徑名,并建立從該文件到路徑所指名字的鏈接。這樣,可以在多個目錄中出現同一個文件。有時 也被稱為硬鏈接(hard link)。
- 8.unlink ,刪除目錄項。如果被解除鏈接的文件只出現在一個目錄中,則將它從文件中刪除。如 果它出現在多個目錄中,則只刪除指定路徑名的鏈接,依然保留其他路徑名的鏈接。在UNIX中, 用于刪除文件的系統調
總結
以上是生活随笔為你收集整理的OS- -文件系统(一)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: OS- -内存之页面置换算法
- 下一篇: OS- -文件系统(二)