• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            posts - 297,  comments - 15,  trackbacks - 0

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

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

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

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

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

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

            from:

            http://os.51cto.com/art/200909/151133.htm

            posted on 2010-01-28 15:00 chatler 閱讀(402) 評(píng)論(0)  編輯 收藏 引用 所屬分類: linux kernel
            <2009年5月>
            262728293012
            3456789
            10111213141516
            17181920212223
            24252627282930
            31123456

            常用鏈接

            留言簿(10)

            隨筆分類(307)

            隨筆檔案(297)

            algorithm

            Books_Free_Online

            C++

            database

            Linux

            Linux shell

            linux socket

            misce

            • cloudward
            • 感覺這個(gè)博客還是不錯(cuò),雖然做的東西和我不大相關(guān),覺得看看還是有好處的

            network

            OSS

            • Google Android
            • Android is a software stack for mobile devices that includes an operating system, middleware and key applications. This early look at the Android SDK provides the tools and APIs necessary to begin developing applications on the Android platform using the Java programming language.
            • os161 file list

            overall

            搜索

            •  

            最新評(píng)論

            閱讀排行榜

            評(píng)論排行榜

            久久无码人妻一区二区三区| 俺来也俺去啦久久综合网| 国产精品女同一区二区久久| 日本精品久久久中文字幕| 99久久国产综合精品成人影院| 国产精品一区二区久久精品无码 | 久久久久女人精品毛片| 国产精品久久网| 久久久久亚洲爆乳少妇无 | 777午夜精品久久av蜜臀| 性做久久久久久久| 激情久久久久久久久久| 人妻精品久久无码区| 欧美日韩精品久久免费| 四虎国产永久免费久久| 97久久精品人妻人人搡人人玩| 久久久亚洲欧洲日产国码aⅴ| 少妇内射兰兰久久| 久久国产热精品波多野结衣AV| 久久国产色AV免费看| 亚洲一本综合久久| 久久精品国产亚洲一区二区三区| 久久精品国产99国产精品导航| 国产2021久久精品| 久久免费99精品国产自在现线| 久久久久久久综合综合狠狠| 伊人久久大香线蕉精品不卡| 久久综合久久综合久久| 国产精品免费久久久久影院| 久久亚洲2019中文字幕| 波多野结衣久久精品| 国内精品久久久人妻中文字幕| 久久久久国产一级毛片高清版| 久久久中文字幕日本| 久久久SS麻豆欧美国产日韩| 精品亚洲综合久久中文字幕| 人妻精品久久久久中文字幕69 | 久久久无码精品亚洲日韩软件| 伊人久久亚洲综合影院| 99国产精品久久久久久久成人热| 人人狠狠综合久久亚洲|