設備文件系統

設備文件在類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在併發控制上採取了多種設備驅動程序的原理 。