關於FAL FMD的網摘

2021-05-24 08:58:49 字數 1036 閱讀 5257

塊裝置驅動從字面上來看,它是以塊即block為單位進行讀取的流式裝置驅動。

因為屬於流驅動範疇,所以也是***_init ***_read ***_write ***_iocontorl的介面形式。

但是這種驅動往往用於儲存裝置,所以一般是冠以dsk_的prefix,而且它會有乙個固定的iclass=,你隨便找個sample看看就曉得了。所有的塊裝置驅動會在被裝置管理器載入後被儲存管理發現,因為它的iclass會讓device.exe偷偷告訴filesys.exe有活幹了,後者通知下屬儲存管理去載入塊裝置驅動所註明的檔案系統並且mount上存在儲存裝置上的分割槽。

塊裝置驅動的iocontorl裡面一般都會有固定的read和write的ioctlcode,上層的檔案系統或其他middleware會通過這兩個介面來訪問資料,訪問的最小單位是block,預設為512bytes。得益於塊驅動的固定介面模型,方便系統在設計上層檔案系統和其他middleware的時候具有最大的平台移植性。舉例來說,sd卡和nand雖然驅動不同,但是因為對外提供的介面都是塊裝置介面,所以檔案系統都可以識別並且載入它們,就算你換到其他的soc平台,檔案系統和儲存管理也不需要改變。塊裝置上層也可以不是檔案系統,舉個middleware的例子就是當device做massstorage client使用的時候,usb client驅動會直接訪問塊裝置驅動介面,提供給usb host那段的資料訪問服務。

在ce裡面,塊裝置驅動有自己的專屬類別(iclass),ce會把具有塊裝置驅動的iclass的驅動和普通裝置驅動區分對待。比如電源管理中,塊裝置驅動必須在suspend過程中最後乙個進入電源節省狀態,而在resume的時候第乙個進入電源恢復狀態,以保證系統的正常執行(因為類似binfs的檔案系統,都是建立在塊裝置驅動基礎之上,基礎不能work後上層建築就掛了)

你的問題是fal+fmd是否是塊裝置驅動?

答案是是塊裝置驅動,fal+fmd是微軟的nand驅動的架構,類似於mdd+pdd,fal+fmd整體上實現了乙個完整的塊裝置驅動,當然按照微軟的習慣,對外的流介面和與平台無關的邏輯層一定會放在mdd層也就是fal層去實現,而和硬體平台有關的控制器的驅動就是fmd了。

我的網摘 VC 關於CString總結 小結

總的來講,不錯的文章 乙個小瑕疵 舉例的時候 strcpy temp,temp a指向的引用記憶體塊的引用計數為1,長度為0,分配長度為10 這裡的長度為0應該是4 再提一下releasebuffer 函式的用法 1.如果該cstring物件已經有乙個以上的引用,要重開一塊記憶體 2.因為跟在get...

網摘精靈教程 網摘精靈延時功能詳解

網摘精靈教程 網摘精靈延時功能詳解 網摘精靈軟體裡面有個功能設定項是 延時 這個延時如何設定呢?簡單地說,就是傳送資料一次,最多花費多久時間。這個是以秒為單位的,設定值應該是數字。我們使用瀏覽器訪問 的一般過程是 輸入 發出請求,解析為伺服器ip位址,伺服器接收請求,進行相應處理,返回響應到瀏覽器,...

月亮網摘(2006 10 11)

類網不易 新奇特科技產品介紹站點,最好玩的地方在於站長會用非常幽默的口吻模擬乙個個場景,然後引出他要介紹的東西。帶我遛遛 gmail申請秘密通道 你是知恩圖報的人嗎?成功註冊了gmail以後不但要報答站長,也要記得報答我啊!語錄中國 嗯,當我們需要寫網路議 的時候,從這裡摘抄幾條語錄是不錯的主意。新...