裝置檔案系統
界面 / 維基百科,自由的 encyclopedia
裝置檔案在類Unix系統中是一個裝置驅動程式的介面,並如常規檔案一樣出現在檔案系統中。
在微軟的MS-DOS、OS-2和Windows等作業系統中也有專門的裝置檔案。它們允許應用程式使用裝置驅動程式,通過標準輸入輸出系統呼叫與驅動程式互動,從而簡化了許多工,也帶來了與裝置特性、功能無關的用戶級I/O。
裝置檔案通常為周邊裝置提供簡單的介面,如印表機。它也可訪問這些裝置的特定資源,如硬碟分區。它還可以訪問沒有連接到任何真實裝置的系統資源,如數據接受器和亂數生成器。
在類Unix作業系統中包含兩類裝置節點,分別為字元檔案與塊檔案。它們的區別是作業系統和硬件如何向它們讀寫數據。它們合稱為裝置特定檔案,與之對應的是命名管道,它既不連接到任何裝置,也不是一個檔案。
MS-DOS的裝置檔案借鑑了Unix的特殊檔案的概念。MS-DOS的早期版本並不支援檔案目錄層次,裝置檔案的檔名被設定為保留字以區分普通檔案,新檔案或新目錄不能夠使用這些裝置檔案的檔名。
在支援chroot行程獨立的Unix系統(例如Solaris Containers)中,每個chroot環境中常規情況下都需要一個獨立的/dev,它們的掛載點在主機的檔案系統中各種地方顯示。通過限制裝置節點只能放入/dev內的chroot實例中,chroot環境可以強制實行硬件隔離(比Unix的檔案系統權限還要嚴格的一種訪問控制,可以禁止特定應用程式訪問或命名硬件)。
MS-DOS通過開放裝置檔案的形式保證了裝置包含性,應用程式嘗試訪問正在被使用的裝置時會無法訪問裝置節點。Unix與Linux在並行控制上採取了多種裝置驅動程式的原理。[1]