溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

linux設(shè)備文件的類型有哪些

發(fā)布時間:2022-05-12 10:36:32 來源:億速云 閱讀:229 作者:zzz 欄目:建站服務(wù)器

這篇文章主要介紹“l(fā)inux設(shè)備文件的類型有哪些”,在日常操作中,相信很多人在linux設(shè)備文件的類型有哪些問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”linux設(shè)備文件的類型有哪些”的疑惑有所幫助!接下來,請跟著小編一起來學(xué)習(xí)吧!

linux設(shè)備文件有兩類:1、字符設(shè)備,是能夠像字節(jié)流一樣被訪問的設(shè)備文件,當對字符設(shè)備發(fā)出讀寫請求,相應(yīng)的IO操作立即發(fā)生,常見有字符終端、鍵盤等等;2、塊設(shè)備,是進行TO操作時必須以塊為單位進行訪問的設(shè)備文件,塊設(shè)備能夠安裝文件系統(tǒng)。

本教程操作環(huán)境:linux5.9.8系統(tǒng)、Dell G3電腦。

設(shè)備文件概述

在類Unix操作系統(tǒng)中,設(shè)備文件或特殊文件是設(shè)備驅(qū)動程序的接口,出現(xiàn)在文件系統(tǒng)中就好像它是普通文件一樣。在MS-DOS,OS / 2和Microsoft Windows中也有特殊文件。 這些特殊文件允許應(yīng)用程序通過標準輸入/輸出系統(tǒng)調(diào)用使用其設(shè)備驅(qū)動程序與設(shè)備進行交互。使用標準系統(tǒng)調(diào)用簡化了許多編程任務(wù),并且無論設(shè)備的特性和功能如何,都可以實現(xiàn)一致的用戶空間I / O機制。

設(shè)備文件通常提供與標準設(shè)備(如打印機和串行端口)的簡單接口,但也可用于訪問這些設(shè)備(如磁盤分區(qū))上的特定獨特資源。此外,設(shè)備文件對于訪問與任何實際設(shè)備(如數(shù)據(jù)接收器和隨機數(shù)生成器)無關(guān)的系統(tǒng)資源非常有用。

在Linux系統(tǒng)下,有七類文件類型:

  • 普通文件(-)

  • 目錄(d)

  • 軟鏈接(字符鏈接L)

  • 套接字文件(S)

  • 字符設(shè)備(S)

  • 塊設(shè)備(B)

  • 管道文件(命名管道P)

因此,設(shè)備文件有兩類:字符設(shè)備和塊設(shè)備。

(1)字符設(shè)備

  字符設(shè)備是能夠像字節(jié)流一樣被訪問的設(shè)備,當對字符設(shè)備發(fā)出讀寫請求,相應(yīng)的IO操作立即發(fā)生。Linux系統(tǒng)中很多設(shè)備都是字符設(shè)備,如字符終端、串口、鍵盤、鼠標等。在嵌入式Linux 開發(fā)中,接觸最多的就是字符設(shè)備以及驅(qū)動。

(2)塊設(shè)備

  塊設(shè)備是Linux系統(tǒng)中進行TO操作時必須以塊為單位進行訪問的設(shè)備,塊設(shè)備能夠安裝文件系統(tǒng)。塊設(shè)備驅(qū)動會利用一塊系統(tǒng)內(nèi)存作為緩沖區(qū),因此對塊設(shè)備發(fā)出讀寫訪問,并不一定立即產(chǎn)生硬件I/O操作。Linux系統(tǒng)中常見的塊設(shè)備有如硬盤、軟驅(qū)等等。

區(qū)分塊設(shè)備和字符設(shè)備

  • 塊設(shè)備是硬件設(shè)備,通過隨機(不一定是順序)訪問固定大小的數(shù)據(jù)塊(chunk)來區(qū)分。固定大小的chunk稱為塊(block)。最常見的塊設(shè)備是硬盤,但也存在許多其他塊設(shè)備,如軟盤驅(qū)動器、藍光閱讀器和閃存。注意,這些都是掛載文件系統(tǒng)的設(shè)備,文件系統(tǒng)就像是塊設(shè)備的通用語言。

  • 字符設(shè)備通過連續(xù)的流數(shù)據(jù)訪問,一個字節(jié)接著一個字節(jié)。典型的字符設(shè)備是終端(終端分多種,由物理的也有虛擬的)和鍵盤。

區(qū)分塊設(shè)備和字符設(shè)備最簡單的方法是看數(shù)據(jù)訪問的方式。能隨機訪問獲取數(shù)據(jù)的是塊設(shè)備,必須按字節(jié)順序訪問的是字符設(shè)備。

如果可以這里讀一點數(shù)據(jù),那里讀一點數(shù)據(jù),最后串成一整段連續(xù)的數(shù)據(jù),那么這個就是塊設(shè)備,就像硬盤上的數(shù)據(jù)是不連續(xù)的,有可能需要通過隨機訪問的方式獲取一段數(shù)據(jù)。比如磁盤上一個稍大一點的文件,可能前10k數(shù)據(jù)是連續(xù)的數(shù)據(jù)塊或在連續(xù)的扇區(qū)內(nèi),之后的10k數(shù)據(jù)在離它很遠甚至在不同的柱面上。

如果一段數(shù)據(jù)中的每個字節(jié)都跟訪問時的字節(jié)順序是一樣的,即字節(jié)先后順序從訪問獲取時到最后處理數(shù)據(jù)的過程中都是完全一致的,那么這個就是字符設(shè)備。換句話說,字符設(shè)備可以看作是流設(shè)備。就像鍵盤輸入數(shù)據(jù)一樣,連續(xù)敲兩個字鍵,這兩個鍵對應(yīng)的字節(jié)數(shù)據(jù)在被接收的時候一定是先敲的在前面,后敲的在后面。同理終端設(shè)備也是以一樣的,程序?qū)?shù)據(jù)輸出到終端時,程序先輸出字母a再輸出數(shù)字3,那么顯示在終端上時一定是a在前,3在后。

到此,關(guān)于“l(fā)inux設(shè)備文件的類型有哪些”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識,請繼續(xù)關(guān)注億速云網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI