檔案系統 HDU 1413

2022-07-15 13:42:11 字數 1493 閱讀 2356

檔案系統 hdu-1413 hdu 2006-5 programming contest  

時間限制 1000ms  記憶體限制 32mb

這道題主要是直觀上給出乙個簡單檔案系統的樹狀印象,其實還是屬於簡單的資料結構題,做的話構造一棵根目錄為根節點的有向樹就可以。不外乎要注意一些細節上的處理。

我這裡把檔案和目錄分開來處理了,對於這個問題而言是較為簡單的做法,但是實際的檔案系統實現可能是將目錄也看作特殊的檔案進行處理。而且檔案表在磁碟上的儲存方式並非簡單的樹,因為乙個檔案必須要考慮到充分利用磁碟空間,也就是乙個檔案可能儲存在磁碟的不同位置上。這個樹只是乙個分區內檔案的邏輯結構。鑑於現在還沒學習作業系統課程,不好作深入**,只能就此打住。

1 #include2 #include3 #include

4 #include5 #include

6using

namespace

std;

7struct

folder

817 folder(string & fn, folder *pnt)

1822

};23 folder *init()

2427 folder * newfolder(folder * curfolder, string &fname)

2838 folder * delfolder(folder * curfolder, string &fname)

3950 folder * gotodir(folder * root, folder * cur, string &fname)

5161 map::iterator it = cur->folders.find(fname);

62if (it == cur->folders.end())

63return null; //

not found

64else

65return it->second;66}

67int newfile(folder * curfolder, string &fname)

6875

int delfile(folder * curfolder, string &fname)

7683

intmain()

84102

}103

else

if (op == "md"

)104

110else

if (op == "rd"

)111

117else

if (op == "

create")

118124

else

if (op == "

delete")

125131

}132

return0;

133 }

檔案系統 why檔案系統

為什麼需要檔案系統,可否由作業系統直接寫裸裝置?裸裝置是一種沒有經過格式化的磁碟或分割槽,即讓作業系統直接管理操作磁碟設定,進行資料讀寫等。通過檔案系統的方式組織磁碟儲存和資料管理有很多好處,比如 1.資料讀取 管理等操作變得簡單便捷 檔案系統給使用者提供了乙個簡單的操作介面,只需簡單的操作就能實現...

檔案系統 檔案系統的架構

vfs是具體檔案系統的抽象,依靠超級塊 inode dentry以及檔案這些結構來發揮作用,檔案系統的架構就體現在這些結構的使用方式中。1 超級塊作用分析 1 2 所有的dentry都指向乙個dentry hashtable dentry hashtable是乙個樹組,每乙個樹組成員都是hash鍊錶...

檔案系統 編寫檔案系統

8.5 編寫乙個檔案系統 如果寫乙個實際檔案系統,但是涉及的東西太多,不容易簡明扼要的理解檔案系統的實現。linux核心中提供的romfs檔案系統是個非常理想的例子,既有實際應用架構,也清晰明了,故以romfs為例項分析檔案系統的實現。一 linux檔案系統的實現要素 編寫新檔案系統涉及一些基本物件...