我正在編寫一個程序,需要以隨機順序讀取和寫入大量數據,並且由於我不想使用數百個小文件,因此我正在嘗試開發一個這種虛擬文件系統寫入一個大文件,用於跟蹤「文件」在「磁盤」文件中的位置。因此,我一直在試圖找到有關文件系統實現的詳細信息,但是這些東西似乎永遠不能用我能理解的方式解釋:文件系統如何跟蹤新文件的空閒/刪除扇區創建?例如,FAT在一開始就有一個索引,它似乎是唯一可以保存這些信息的地方,但是以線性O(n)方式在索引中搜索一個新的自由空間區域似乎是效率相當低,特別是如果沒有刪除扇區,並且您必須在列表末尾插入某些內容。我是否錯過了一些東西,或者這是文件系統如何真正檢測到未使用的扇區進行寫入?謝謝!文件系統如何跟蹤可用空間
1
A
回答
1
我發現了一個有用的PDF文件,解釋瞭如何在Linux文件系統中映射可用空間。這更符合我所尋找的內容。
http://www.kernel.org/doc/ols/2010/ols2010-pages-121-132.pdf
-2
它就像一個鏈接列表:每個文件可以被分隔成多個分區,在分區的每個分區它指的下一個相同的begining結束無二免費speaces。將空閒空間看作一個包含不在另一個文件內的字節的大文件!
1
答案取決於整個文件系統架構。它可以是免費的網頁線性表,或自由空間可以以同樣的方式與其他文件(如鏈表)進行計數。
實際上開發有效的文件系統是你有一個邊任務相當嚴肅的任務。因此,使用一些已經創建的虛擬文件系統是有意義的,例如一個CodeBase提供的或我們的Solid File System。
相關問題
- 1. 如何跟蹤系統依賴關係?
- 2. 如何跟蹤Windows系統調用
- 3. 高性能高可用跟蹤系統
- 4. MySQL跟蹤系統
- 5. GPS跟蹤系統
- 6. Android系統跟蹤[跟蹤標記]
- 7. 如何跟蹤系統時鐘?
- 8. 問題跟蹤系統?
- 9. 跟蹤/監控系統
- 10. c#跟蹤系統。診斷
- 11. 如何構建變更跟蹤系統 - 不是審計系統
- 12. 如何計算bug修復時間JIRA問題跟蹤系統
- 13. 從文件系統刪除跟蹤文件vs hg刪除
- 14. 如何將跟蹤輸出發送到文件系統中的文件?
- 15. 在多個系統上跟蹤用戶
- 16. 用於跟蹤系統的NoSQL存儲
- 17. 我的堆棧跟蹤如何將文件系統引用到生成機器?
- 18. 如何跟蹤系統中的以下事件?
- 19. 什麼是用戶空間中的虛擬文件系統或文件系統?
- 20. 通過c程序模擬文件系統跟蹤
- 21. 跟蹤Windows和Mac中的文件系統更改
- 22. 如何將coreutils跟蹤到系統調用?
- 23. 如何使用WINAPI跟蹤系統關閉?
- 24. 如何將問題跟蹤器用於內部系統?
- 25. 如何使用net-ssh gem跟蹤所需的時間ssh進入系統
- 26. 通過保存跟蹤文件系統(文件夾/文件)狀態
- 27. 如何跟蹤回購/項目中系統特定的配置文件?
- 28. 如何在同一個文件系統中'git remote add'並跟蹤分支
- 29. 醫院問題跟蹤系統?
- 30. Subversion集成票務/跟蹤系統?
請問爲什麼downvote? [維基百科頁面(http://en.wikipedia.org/wiki/File_Allocation_Table)是我對這個答案的資源。 – Ali1S232 2011-06-26 13:16:28
這是一個有效的具體爲一個,高度廢棄的文件系統:FAT – dmeister 2011-06-27 08:18:11