自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

linux塊設備,字符設備

運維 系統(tǒng)運維
設備訪問層下面是驅動程序,所以只要驅動程序提供的方式,都可以。也就是說驅動程序支持stream方式,那么就可以用這種方式訪問,驅動程序如果還支持block方式,那么你想用哪種方式訪問都可以......

字符設備還是塊設備的定義屬于操作系統(tǒng)的設備訪問層,與實際物理設備的特性無必然聯(lián)系。

設備訪問層下面是驅動程序,所以只要驅動程序提供的方式,都可以。也就是說驅動程序支持stream方式,那么就可以用這種方式訪問,驅動程序如果還支持block方式,那么你想用哪種方式訪問都可以,典型的比如硬盤式的裸設備,兩種都支持塊設備(block device):是一種具有一定結構的隨機存取設備,對這種設備的讀寫是按塊進行的,他使用緩沖區(qū)來存放暫時的數(shù)據,待條件成熟后,從緩存一次性寫入設備或從設備中一次性讀出放入到緩沖區(qū),如磁盤和文件系統(tǒng)等

字符設備(Character device):這是一個順序的數(shù)據流設備,對這種設備的讀寫是按字符進行的,而且這些字符是連續(xù)地形成一個數(shù)據流。他不具備緩沖區(qū),所以對這種設備的讀寫是實時的,如終端、磁帶機等。
系統(tǒng)中能夠隨機(不需要按順序)訪問固定大小數(shù)據片(chunks)的設備被稱作塊設備,這些數(shù)據片就稱作塊。最常見的塊設備是硬盤,除此以外,還有軟盤驅動器、CD-ROM驅動器和閃存等等許多其他塊設備。注意,它們都是以安裝文件系統(tǒng)的方式使用的——這也是塊設備一般的訪問方式。

另一種基本的設備類型是字符設備。字符設備按照字符流的方式被有序訪問,像串口和鍵盤就都屬于字符設備。如果一個硬件設備是以字符流的方式被訪問的話,那就應該將它歸于字符設備;反過來,如果一個設備是隨機(無序的)訪問的,那么它就屬于塊設備。

這兩種類型的設備的根本區(qū)別在于它們是否可以被隨機訪問——換句話說就是,能否在訪問設備時隨意地從一個位置跳轉到另一個位置。舉個例子,鍵盤這種設備提供的就是一個數(shù)據流,當你敲入“fox”這個字符串時,鍵盤驅動程序會按照和輸入完全相同的順序返回這個由三個字符組成的數(shù)據流。如果讓鍵盤驅動程序打亂順序來讀字符串,或讀取其他字符,都是沒有意義的。所以鍵盤就是一種典型的字符設備,它提供的就是用戶從鍵盤輸入的字符流。對鍵盤進行讀操作會得到一個字符流,首先是“f”,然后是“o”,最后是“x”,最終是文件的結束(EOF)。當沒人敲鍵盤時,字符流就是空的。硬盤設備的情況就不大一樣了。硬盤設備的驅動可能要求讀取磁盤上任意塊的內容,然后又轉去讀取別的塊的內容,而被讀取的塊在磁盤上位置不一定要連續(xù),所以說硬盤可以被隨機訪問,而不是以流的方式被訪問,顯然它是一個塊設備。

內核管理塊設備要比管理字符設備細致得多,需要考慮的問題和完成的工作相比字符設備來說要復雜許多。這是因為字符設備僅僅需要控制一個位置—當前位置—而塊設備訪問的位置必須能夠在介質的不同區(qū)間前后移動。所以事實上內核不必提供一個專門的子系統(tǒng)來管理字符設備,但是對塊設備的管理卻必須要有一個專門的提供服務的子系統(tǒng)。不僅僅是因為塊設備的復雜性遠遠高于字符設備,更重要的原因是塊設備對執(zhí)行性能的要求很高;對硬盤每多一分利用都會對整個系統(tǒng)的性能帶來提升,其效果要遠遠比鍵盤吞吐速度成倍的提高大得多。另外,我們將會看到,塊設備的復雜性會為這種優(yōu)化留下很大的施展空間。

【編輯推薦】

  1. 在Linux上玩轉磁盤陣列
  2. Linux無線網絡實用工具Top 10
  3. LINUX中建立LVM卷
責任編輯:趙寧寧 來源: ChinaUnix博客
相關推薦

2009-10-22 12:27:30

linux塊設備

2023-05-15 08:58:41

塊設備驅動Linux

2017-02-10 15:32:47

2019-06-14 08:24:16

塊設備Linux操作系統(tǒng)

2019-06-25 10:14:39

IOLinux塊設備

2009-12-16 15:59:13

Linux設備文件管理

2017-01-15 09:56:48

LinuxIO性能

2020-12-18 11:54:22

Linux系統(tǒng)架構

2021-02-22 09:05:59

Linux字符設備架構

2021-06-04 09:35:05

Linux字符設備架構

2015-02-09 09:57:56

Ceph 塊設備OpenStackLinux

2011-01-18 09:41:21

Linux網卡

2017-11-16 14:46:58

Linuxplatform總線驅動設備

2020-12-03 08:59:06

Linux設備驅動

2011-01-18 09:40:49

Linux顯卡

2011-01-18 09:37:52

Linux鍵盤

2017-01-11 16:41:16

Linux設備文件文件系統(tǒng)

2021-07-30 14:55:06

Linuxkernel設備樹

2023-12-01 08:01:59

鏡像Ceph

2011-01-18 09:40:46

LinuxModem
點贊
收藏

51CTO技術棧公眾號