您好,登錄后才能下訂單哦!
今天就跟大家聊聊有關如何理解AIX 共享磁盤中的字符設備及塊設備,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。
AIX 6.1 , Oracle 11.2.0.1 , ASM
在配置ASM 共享磁盤時,通過 lspv 查看到/dev 下有很多 hdiskn 及 rhdiskn 的設備, 那么在使用hdiskn作為共享磁盤的時候一定注意使用的文件是/dev/rhdiskn,而不是/dev/hdiskn, 因為rhdiskn是字符設備,hdiskn是塊設備。
那么 /dev/hdisk 和 /dev/rhdisk 具體的區別是什么 ?
系統中能夠隨機(不需要按順序)訪問固定大小數據片(chunks)的設備被稱作塊設備,這些數據片就稱作塊。最常見的塊設備是硬盤,除此以外,還有軟盤驅動器、CD-ROM驅動器和閃存等等許多其他塊設備。注意,它們都是以安裝文件系統的方式使用的——這也是塊設備的一般訪問方式。
另一種基本的設備類型是字符設備。字符設備按照字符流的方式被有序訪問,像串口和鍵盤就都屬于字符設備。如果一個硬件設備是以字符流的方式被訪問的話,那就應該將它歸于字符設備;反過來,如果一個設備是隨機(無序的)訪問的,那么它就屬于塊設備。
這兩種類型的設備的根本區別在于它們是否可以被隨機訪問——換句話說就是,能否在訪問設備時隨意地從一個位置跳轉到另一個位置。舉個例子,鍵盤這種設備提供的就是一個數據流,當你敲入“fox” 這個字符串時,鍵盤驅動程序會按照和輸入完全相同的順序返回這個由三個字符組成的數據流。如果讓鍵盤驅動程序打亂順序來讀字符串,或讀取其他字符,都是沒有意義的。所以鍵盤就是一種典型的字符設備,它提供的就是用戶從鍵盤輸入的字符流。對鍵盤進行讀操作會得到一個字符流,首先是“f”,然后是“o”,最后是“x”,最終是文件的結束(EOF)。當沒人敲鍵盤時,字符流就是空的。硬盤設備的情況就不大一樣了。硬盤設備的驅動可能要求讀取磁盤上任意塊的內容,然后又轉去讀取別的塊的內容,而被讀取的塊在磁盤上位置不一定要連續,所以說硬盤可以被隨機訪問,而不是以流的方式被訪問,顯然它是一個塊設備。
內核管理塊設備要比管理字符設備細致得多,需要考慮的問題和完成的工作相比字符設備來說要復雜許多。這是因為字符設備僅僅需要控制一個位置—當前位置—而塊設備訪問的位置必須能夠在介質的不同區間前后移動。所以事實上內核不必提供一個專門的子系統來管理字符設備,但是對塊設備的管理卻必須要有一個專門的提供服務的子系統。不僅僅是因為塊設備的復雜性遠遠高于字符設備,更重要的原因是塊設備對執行性能的要求很高;對硬盤每多一分利用都會對整個系統的性能帶來提升,其效果要遠遠比鍵盤吞吐速度成倍的提高大得多。另外,我們將會看到,塊設備的復雜性會為這種優化留下很大的施展空間。
簡單來講,塊設備可以隨機存取,而字符設備不能隨機存取,那裸設備又該如何解釋呢?
難道裸設備,如磁盤裸設備也不能隨機讀取嗎?那在數據庫中用裸設備建一個2g的數據文件,為了存取最后一個數據塊,難道Oracle還要把前面的所有數據塊都讀一遍,顯然不符合事實,如果這樣解釋呢,操作系統不能隨機讀取,并不意味著數據庫也不能隨機讀取。
塊設備通過系統緩存進行讀取,不是直接和物理磁盤讀取。字符設備可以直接物理磁盤讀取。不經過系統緩存。(如鍵盤,直接相應中斷
看完上述內容,你們對如何理解AIX 共享磁盤中的字符設備及塊設備有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。