跳至內容
主選單
主選單
移至側邊欄
隱藏
導覽
首頁
近期變更
隨機頁面
MediaWiki說明
Taiwan Tongues 客語維基
搜尋
搜尋
外觀
建立帳號
登入
個人工具
建立帳號
登入
檢視 裝置檔案系統 的原始碼
頁面
討論
臺灣正體
閱讀
檢視原始碼
檢視歷史
工具
工具
移至側邊欄
隱藏
操作
閱讀
檢視原始碼
檢視歷史
一般
連結至此的頁面
相關變更
特殊頁面
頁面資訊
外觀
移至側邊欄
隱藏
←
裝置檔案系統
由於以下原因,您無權編輯此頁面:
您請求的操作只有這些群組的使用者能使用:
使用者
、taigi-reviewer、apibot
您可以檢視並複製此頁面的原始碼。
'''裝置檔案'''在類 Unix 系統裡肚係一個裝置驅動程式个介面,乜像係常規檔案共樣出現在檔案系統肚。 在軟軟个 MS-DOS、OS 兩子爺 Windows 等作業系統當中也有專門个裝置檔案。佢兜做得用程式使用裝置驅動程式,通過標準輸入輸出系統呼籲摎驅動程式互動,簡單就簡化著當多工,乜帶來欸同裝置特性、功能無關係使用者級 I / O。 裝置檔案一般係周邊裝置提供簡單个介面,比方講印表機。佢也做得存在這兜裝置个特定資源,像係硬碟分割區。佢還做得存取無連接著任何真實裝置个系統資源,像資料接受器還有亂數生成器。 在類 Unix 作業系統當中包含兩類裝置較節點,分別係字元个檔案摎塊檔案。佢兜个區別係作業系統摎硬體仰仔向佢兜讀寫資料。佢兜合安到'''裝置特定个檔案''',摎之對應个係安名管道,佢既毋連接著任何裝置,也毋係一個檔案。 MS-DOS 个裝置檔案借鑑了 Unix 个特殊檔案个概念。MS-DOS 个早期版本毋支援檔案目錄層次,裝置檔案个檔案分人設定做保留字以區分普通檔案,新檔案或者新目錄做毋得使用這兜裝置檔案个檔案名。 在該支援 chroot 行程獨立个 Unix 系統(比將講 Solaris Containers)中,逐個 chroot 環境當中有蓋多規个情況下都需要一個獨立 / dev ,佢兜个掛載點在主機个檔案系統當中各種地方顯示。通過限制裝置節點單淨做得放入去 / dev 內个 chroot 實例中,chroot 環境做得強制實行硬體隔離(比 Unix 个檔案系統權限還愛嚴格个一種存取控制,做得禁止特定應用程式存取或者安名硬體)。 MS-DOS 通過開放裝置檔案个形式保證裝置包含性,應用程式試等存取當在分人使用个裝置時節會無辦法存取裝置節點。Unix摎 Linux 在還過控制上採取了當多種裝置驅動程式个原理。 ==實現== 本質上講,裝置節點對應該愛在作業系統分配个資源。Unix 通過放在節點結構當中个 _ 主裝置號 _ 摎 _ 對裝置號 _來辨識這兜資源。在各種作業系統同系統平台項,這兜數目係分唯一分配个。一般,主數係用在指定驅動程式,第二次數用在指定个逐動程式控制个某一特定裝置(驅動程式可能控制幾下隻裝置), 在恁樣个情況下,系統可能摎次數作為參數傳分逐動程式。 電腦就像對待普通檔案恁樣,用標準系統呼籲裝置節點。根據硬體个介面類型摎作業系統處理輸入輸出个方式,裝置檔案做得分做兩類。 ==裝置=====字元裝置=== _ 字元裝置 _ 係講逐擺摎系統傳輸一隻字元个裝置。這兜裝置較節點一般為傳真、虛擬終端和序列埠數據機之類裝置提供流通信服務,佢一般毋支援隨機存取資料。 字元裝置在實現个時節,大部分都毋使用遽取記憶體。系統直接對裝置讀取/寫入每一隻字元。 ===塊裝置=== _ 塊裝置 _ 係講同系統間用塊个方式行動資料个裝置。這兜裝置節點通常代表做得定址裝置,像硬碟、CD-ROM 還有記憶體个區域。 塊裝置一般支援隨機存取得還有定址,乜使用遽取記憶體。作業系統為輸入輸出分配了遽取以儲存一塊資料。當程式个向裝置傳送了讀取或者寫入資料个請求个時節,系統摎資料裡肚个每一隻字元儲存在適當个遽取中。遽遽拿滿个時節正拿,會採取適當个操作(摎資料傳走), 下後系統會清空快取。 ===偽裝置=== 在類 Unix 作業系統裡背,裝置較節點無定著愛著應該愛同物理裝置起來。無這種對應關係个裝置係 _ 偽裝置 _。作業系統運用了佢兜提供个多種功能。部份輒常使用著个偽裝置包括: '''` / dev / null `''' : 還過無愛分佢兜擲忒;就係不產生任何輸出。 '''` / dev / full `''' : 永遠在不滿狀態个裝置。 '''` / dev / loop `''' : Loop 裝置 '''` / dev / zero `''' :產生連續个 NUL 字元个串流 ( 數值係零 )。 '''` / dev / random `''' : 產生一個虛假隨機个任意長度字元串流。( Blocking ) '''` / dev / urandom `''' : 產生一個虛假隨機个任意長度字元串流。( Non-Blocking ) ==建立這個節點== 節點係由 _ mknod _ 系統呼籲建立个。在命令列當中,有共名个程式來建立這個節點。rename 摎 unlink 系統呼籲做得用在移動摎刪除節點,相應个命令係 mv 摎 rm。在使用 cp 命令个時節加上 ` -R ` 抑係 ` -a ` 參數,做得建立一個同原裝置節點有共樣性質个節點。 ==命名約定== 在基於 Linux 个系統肚項,裝置節點一般在 ` / dev ` 下,一般使用像下个字首: * fb:frame 緩衝 * fd:軟碟* hd:IDE 硬碟抑係光碟機 * lp:印表機 * par:搭並並並並並列做埠 * pt:偽終端 * s:SCSI 裝置 * scd:SCSI 音訊光碟機 * sd:SCSI 硬碟* sg:SCSI 通用裝置 * sr:SCSI 資料光碟機 * st:SCSI 磁帶 * tty:終端 * ttyS:序列埠大部分裝置个字第一名後背跈等一隻數字, 佢唯一指定麼个裝置。硬碟機个字頭一個後背跈等一隻字母同一個數字,字母用在指明裝置,這數字用在說明分割區。故所,` / dev / sda 三 ` 指定硬碟項个一個分割區,` / dev / pts /十四 ` 指定了一個網路終端對談。 一息仔 Linux 發行版用 SCSI 層來定義非 IDE 硬碟个硬碟裝置,比將講 SATA 硬碟、USB 磁碟這兜,故所雖然一垤硬碟可能毋係 SCSI 硬碟,毋過還係做得通過 ` sd ` 裝置存取佢。 ==參考資料== [[分類: 待校正]]
返回到「
裝置檔案系統
」。