欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

Linux操作系統(tǒng)中的塊設(shè)備是什么

這篇文章主要介紹了Linux操作系統(tǒng)中的塊設(shè)備是什么的相關(guān)知識(shí),內(nèi)容詳細(xì)易懂,操作簡單快捷,具有一定借鑒價(jià)值,相信大家閱讀完這篇Linux操作系統(tǒng)中的塊設(shè)備是什么文章都會(huì)有所收獲,下面我們一起來看看吧。

網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)!專注于網(wǎng)頁設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、小程序開發(fā)、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了平山免費(fèi)建站歡迎大家使用!

在Windows操作系統(tǒng)下磁盤設(shè)備似乎是一個(gè)實(shí)實(shí)在在的設(shè)備,我們可以通過圖形界面對(duì)磁盤設(shè)備進(jìn)行管理。如圖1是Windows下的磁盤管理界面,可以通過這個(gè)界面清晰的看到磁盤設(shè)備,并且可以對(duì)其進(jìn)行格式化等操作。

Linux操作系統(tǒng)中的塊設(shè)備是什么

圖1 Windows磁盤設(shè)備

Linux操作系統(tǒng)的磁盤設(shè)備并不直觀,在LInux系統(tǒng)中“一切皆文件”的理念下,磁盤設(shè)備其實(shí)是一個(gè)文件,只不過是一個(gè)比較特殊的文件。如圖2是某些磁盤和分區(qū)的文件路徑,其中黃色字體部分是磁盤的路徑(類似文件路徑),而前面紅色方框內(nèi)的b表示這個(gè)文件是磁盤設(shè)備文件,而非普通文件。

Linux操作系統(tǒng)中的塊設(shè)備是什么

圖2 Linux系統(tǒng)下磁盤設(shè)備

磁盤設(shè)備文件也是位于VFS(虛擬文件系統(tǒng))下面,與Ext4等文件系統(tǒng)類似(參考圖3)。用戶層面可以用訪問普通文件的接口(API)訪問磁盤。如下代碼是用Python實(shí)現(xiàn)的一個(gè)向磁盤寫入字符串的程序。代碼很簡單,就是打開磁盤所在的路徑(path),然后調(diào)用write函數(shù)寫數(shù)據(jù)。

Linux操作系統(tǒng)中的塊設(shè)備是什么

Linux系統(tǒng)中磁盤的本質(zhì)

通過上面的描述我們知道對(duì)于Linux操作系統(tǒng)來說,磁盤就是一個(gè)文件。而磁盤本身就是一個(gè)線性存儲(chǔ)空間(可以理解為一個(gè)大數(shù)組),這種方式與文件也是非常類似的。鑒于上述相似性,Linux將磁盤設(shè)備抽象為一個(gè)文件并沒有任何不妥之處。

實(shí)質(zhì)上,在Linux操作系統(tǒng)磁盤設(shè)備是基于一個(gè)稱為bdev的偽文件系統(tǒng)來管理的,bdev文件系統(tǒng)是一個(gè)在內(nèi)存中的偽文件系統(tǒng)(在內(nèi)存的文件系統(tǒng),無持久化的數(shù)據(jù)),位置與Ext4等文件系統(tǒng)相同。如圖3所示,bdev文件系統(tǒng)的位置為圖中紅色區(qū)域。

Linux操作系統(tǒng)中的塊設(shè)備是什么

圖3 bdev文件系統(tǒng)位置

理解了塊設(shè)備的管理方式,再結(jié)合我們之前對(duì)文件系統(tǒng)的相關(guān)介紹,這樣就很容易理解后續(xù)的內(nèi)容了。在文件系統(tǒng)相關(guān)文章介紹中我們知道,不同文件系統(tǒng)數(shù)據(jù)處理的關(guān)鍵是其提供的函數(shù)集,而這個(gè)函數(shù)集是在打開文件的時(shí)候確定的。磁盤設(shè)備也是如此,當(dāng)我們打開磁盤設(shè)備時(shí),操作系統(tǒng)根據(jù)磁盤設(shè)備的特性,會(huì)初始化inode中的函數(shù)集。而后續(xù)對(duì)該磁盤設(shè)備的讀寫操作就能通過該函數(shù)集完成。如下代碼所示  ,塊設(shè)備連同字符設(shè)備和管道都作為特殊的文件進(jìn)行處理,并初始化對(duì)應(yīng)的函數(shù)集。

Linux操作系統(tǒng)中的塊設(shè)備是什么

完成函數(shù)集的初始化后,當(dāng)用戶調(diào)用VFS層的接口時(shí),VFS層就可以找到具體的處理函數(shù),進(jìn)而完成用戶的操作。這里的函數(shù)集與本地文件系統(tǒng)的函數(shù)集別無二致,差異在于普通文件系統(tǒng)需要管理目錄和文件,而bdev偽文件系統(tǒng)是將磁盤看作一個(gè)大文件,更簡單一些。

磁盤的緩存

既然磁盤偽文件系統(tǒng)bdev本身也是一個(gè)文件系統(tǒng),因此自然也可以有緩存。這個(gè)緩存就是用于提升磁盤性能的緩存系統(tǒng)。磁盤的緩存系統(tǒng)與文件系統(tǒng)的緩存系統(tǒng)類似,也是通過頁緩存來實(shí)現(xiàn)的。當(dāng)然,Linux磁盤的緩存是可以關(guān)閉的,此時(shí)將調(diào)用另外一套函數(shù)集。

這樣說起來可能比較抽象,下面我們以一個(gè)具體的例子來看一下磁盤緩存的具體實(shí)現(xiàn)。如下是磁盤偽文件系統(tǒng)的函數(shù)集,我們以寫數(shù)據(jù)為例進(jìn)行介紹。

Linux操作系統(tǒng)中的塊設(shè)備是什么

圖4 磁盤函數(shù)集

寫數(shù)據(jù)的函數(shù)為blkdev_write_iter,該函數(shù)會(huì)調(diào)用generic_perform_write函數(shù)。如果大家閱讀過本號(hào)關(guān)于文件系統(tǒng)的文件的話,很清楚后者就是VFS中向頁緩存寫數(shù)據(jù)的函數(shù)。也就是說塊設(shè)備偽文件系統(tǒng)的邏輯與本地文件系統(tǒng)完全一致。

關(guān)于“Linux操作系統(tǒng)中的塊設(shè)備是什么”這篇文章的內(nèi)容就介紹到這里,感謝各位的閱讀!相信大家對(duì)“Linux操作系統(tǒng)中的塊設(shè)備是什么”知識(shí)都有一定的了解,大家如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

網(wǎng)頁標(biāo)題:Linux操作系統(tǒng)中的塊設(shè)備是什么
網(wǎng)址分享:http://www.chinadenli.net/article46/pegphg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計(jì)定制網(wǎng)站定制開發(fā)移動(dòng)網(wǎng)站建設(shè)網(wǎng)站改版外貿(mào)網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站建設(shè)