linux設備檔案有哪幾類

青灯夜游
發布: 2022-06-06 14:20:49
原創
5164 人瀏覽過

linux設備文件有兩類:1、字元設備,是能夠像位元組流一樣被存取的設備文件,當對字元設備發出讀寫請求,相應的IO操作立即發生,常見的字符設備有字元終端、串列埠、鍵盤、滑鼠;2、塊設備,是進行TO操作時必須以塊為單位進行存取的設備文件,塊設備能夠安裝文件系統,常見的塊設備有硬碟、軟碟機、藍光閱讀器和快閃記憶體。

linux設備檔案有哪幾類

本教學操作環境:linux5.9.8系統、Dell G3電腦。

裝置檔案概述

在類別Unix作業系統中,裝置檔案或特殊檔案是裝置驅動程式的接口,出現在檔案系統中就好像它是普通文件一樣。在MS-DOS,OS / 2和Microsoft Windows中也有特殊檔案。 這些特殊檔案允許應用程式透過標準輸入/輸出系統呼叫使用其裝置驅動程式與裝置進行互動。使用標準系統呼叫簡化了許多程式設計任務,並且無論裝置的特性和功能如何,都可以實現一致的使用者空間I / O機制。

裝置檔案通常提供與標準裝置(如印表機和序列埠)的簡單接口,但也可用於存取這些裝置(如磁碟分割)上的特定獨特資源。此外,設備檔案對於存取與任何實際設備(如資料接收器和隨機數產生器)無關的系統資源非常有用。

在Linux系統下,有七類檔案類型:

  • #普通檔案(-)

  • ##目錄(d)

  • 軟體連結(字元連結L)

  • #套接字檔(S)

  • #字元設備(S)

  • 區塊裝置(B)

  • 管道檔案(命名管道P)

因此,裝置檔案有兩類:字元裝置和區塊裝置。

(1)字元設備

  字元設備是能夠像字節流一樣被存取的設備,當對字元設備發出讀寫請求,對應的IO操作立即發生。 Linux系統中許多設備都是字元設備,如字元終端機、串列埠、鍵盤、滑鼠等。在嵌入式Linux 開發中,接觸最多的就是字元裝置以及驅動程式。

(2)塊設備

  塊設備是Linux系統中進行TO操作時必須以塊為單位進行存取的設備,塊設備能夠安裝檔案系統。區塊裝置驅動會利用一塊系統記憶體作為緩衝區,因此對區塊裝置發出讀寫訪問,並不一定立即產生硬體I/O操作。 Linux系統中常見的區塊裝置有如硬碟、軟驅等等。

區分區塊設備和字元設備

  • #區塊設備是硬體設備,透過隨機(不一定是順序)存取固定大小的資料塊(chunk)來區分。固定大小的chunk稱為區塊(block)。最常見的區塊設備是硬碟,但也存在許多其他區塊設備,如軟碟機、藍光讀取器和快閃記憶體。注意,這些都是掛載檔案系統的設備,檔案系統就像是區塊設備的通用語言。

  • 字元設備透過連續的流資料訪問,一個位元組接著一個位元組。典型的字元設備是終端(終端分多種,由實體的也有虛擬的)和鍵盤。

區分區塊裝置和字元裝置最簡單的方法是看資料存取的方式。能隨機存取取得資料的是區塊設備,必須按位元組順序存取的是字元設備。

如果可以這裡讀一點數據,那裡讀一點數據,最後串成一整段連續的數據,那麼這個就是塊設備,就像硬碟上的數據是不連續的,有可能需要透過隨機訪問的方式取得一段資料。例如磁碟上一個稍大一點的文件,可能前10k資料是連續的資料塊或在連續的磁區內,之後的10k資料在離它很遠甚至在不同的柱面上。

如果一段資料中的每個位元組都跟存取時的位元組順序是一樣的,即位元組先後順序從存取取得時到最後處理資料的過程中都是完全一致的,那麼這個就是字元設備。換句話說,字元設備可以看作是流設備。就像鍵盤輸入資料一樣,連續敲兩個字鍵,這兩個鍵對應的位元組資料在被接收的時候一定是先敲的在前面,後敲的在後面。同理終端設備也是以一樣的,程式將資料輸出到終端機時,程式先輸出字母a再輸出數字3,那麼顯示在終端機上時一定是a在前,3在後。

相關推薦:《

Linux影片教學

以上是linux設備檔案有哪幾類的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!