最近準備讀《NTFSI》這本書, 做點小記錄。讀之前引用清代學者王鳴盛《十七史商榷》中的一段話
"凡讀書最切要者,目錄之學,目錄之明,方可讀書;不明,終是亂讀。"
所以大致把目錄翻譯一下,至少告訴自己一個方向。 當然因爲還沒有涉及內容,翻譯也許很草率。以後發現錯了,及時更正吧。
NTFSI 全稱 Windows NT File System Internals即windows NT架構文件系統內部結構
本書分爲
一 overview 綜述
1 NT系統的組成部分
基本部分
windows NT 內核
windows NT 執行者
2 文件系統, 驅動開發
什麼是文件系統驅動?
什麼是過濾驅動?
通常驅動開發的問題
windows NT 對象命名空間
對於網絡重定向的文件名的處理
3 結構化的驅動開發
分發異常的支持
結構化異常處理
事件日誌
驅動同步機制
支持的例程(RTLs 運行時庫)
二 管理者部分
4 I/O 管理器
I/O 子系統
常用數據結構
I/O 請求: 一個問題
系統引導順序
5 虛擬內存管理
功能
進程地址空間
物理內存管理
虛擬內存支持
共享內存和內存映射文件支持
可修改的和映射的文件
頁錯誤處理
文件系統驅動間的交互
6 緩存管理器I
功能
文件流
虛擬塊緩存
讀寫操作產生的緩存
緩存管理器接口
緩存管理器客戶
一些重要的數據結構
文件大小考慮
7 緩存管理器II
緩存管理器結構
客戶之間的交互(文件系統和網絡重定向)
緩存管理器接口
8 緩存管理器III
刷新緩存
緩存的結束
多樣化的文件系統處理功能
與虛擬內存管理器之間的交互
與I/O管理器之間的交互
預讀模塊
延遲寫功能
三 驅動部分
9 寫一個文件驅動I
文件系統設計
註冊表交互
數據結構
分發例程:Driver Entry
分發例程:Create
分發例程:Read
分發例程:Write
10 寫一個文件驅動II
I/O 再看:誰被調用?
異步I/O處理
分發例程:File Information
分發例程:Directory Control
分發例程:Cleanup
分發例程:Close
11 寫一個文件驅動III
處理 Fast I/O
回調 例子
分發例程:Flush File Buffers
分發例程:Volume Information
分發例程:Byte-RangeLocks
Opportunistic Locking 猜測的鎖定?
分發例程:File System and Device Control
文件系統識別器
12 過濾驅動
爲什麼使用過濾驅動?
在過濾中的基本步驟
在過濾中可以做什麼和不可以做什麼
四 附錄
A windows NT 系統服務
B MPR 支持
C 構建內核模式的驅動
D Debugging 支持
E 推薦的閱讀和引用
F 額外的尋求幫助的來源
索引