2011-08-16 50 views
3

在最底層,大多數操作系統文件操作包括打開,關閉,讀取,寫入,刪除以及查找和追加操作,但沒有預先操作。是否有一個低級prepend操作的文件系統?

問題出現了,因爲我的一位同事正在處理一個他生成的大型(多吉字節)數據日誌,並且他意識到他沒有將文件頭寫入日誌文件。即使他只需要在文件的前面添加一百個字節,我們也看不出有什麼辦法可以做到這一點,而不必進入塊/扇區文件分配表級別的東西。

是否有任何歷史或技術原因,prepend操作不存在,或者會比類似的append操作更昂貴?

+0

希爾伯特描述了這樣一個文件系統。 – bmargulies

+0

在這裏查看類似的問題:http://stackoverflow.com/questions/4573604/inserting-text-into-file-at-specific-offset-using-win32-api –

回答

0

我只知道一個研究論文描述是這樣的:1992年,從 「Supporting Insertions and Deletions in Striped Parallel Filesystems」的抽象是

在並行計算機的處理速度的顯着改善轉向許多計算綁定工作進入IO約束的工作。已經提出並行文件系統以更好地將IO吞吐量與處理能力相匹配。許多並行文件系統在多個磁盤上分割文件;每個磁盤都有自己的控制器。條帶文件可以被附加(或預先)並保持其結構。但是,塊不能插入或從文件中間刪除,因爲這樣做會破壞文件的常規條帶結構。在本文中,我們提出了一個分佈式文件結構,用於在傳遞多處理器的消息上維護索引條帶化區域中的文件。這種方法允許高度並行的隨機和順序讀取,並允許在文件中間插入和刪除。

您可以在論文中找到更多信息。

相關問題