回覆列表
  • 1 # 使用者3062693063472

    曾經在微控制器上實現過fat32檔案系統,每個分割槽、每個資料夾 每個檔案 都有固定的資訊頭,檔案和資料夾的資訊頭所佔位元組數是相同的這些資訊頭記錄著以上三種類型的大小、名字、建立時間、修改時間、內容的起始位置等,結束位置可以根據大小和起始位置計算得出,檔案的的內容即是檔案的內容,資料夾的內容是該資料夾下所有檔案和子資料夾的資訊頭,且內容所佔的位元組數是對齊的,就比如建立一個記事本,裡面就寫一箇中文字,它的檔案大小所佔的位元組數絕對不是2個位元組,按多少位元組對齊和系統有關,32位系統的話是32位元組對齊即不足32位元組按照32位元組補齊。 好了,下面回答第一個問題,刪掉的檔案去哪兒?刪掉有兩種,一種是將資訊頭的頭兩個位元組清零,當系統讀到這樣的資訊頭時認為是未使用的空間,而此時,被指向的內容未被修改,只是沒有資訊頭指向它了,在系統中看不到這個檔案但資料還是在硬盤裡,這種方式的刪除,資料是可以找回的,只要將那個表頭資訊找出來就能知道內容的位置 畢竟只是少了前兩個位元組的資料。另一種的話比較狠,會把資訊頭和內容的資訊全部清零,這種情況下是找不回資料的。windows下有快速格式化和格式化兩個格式化的方式,大家應該能想到他們的區別了。 第二個問題,建立一個檔案,對磁碟做了什麼,首先在當前資料夾的內容裡找個空的地方且夠大的連續區域,建立資訊頭,然後把內容資料記錄在資訊頭後面。因為真的過去很久了,大三做的東西,可能會有紕漏,還請大家指正。且僅針對fat32檔案系統,其他檔案系統 沒研究過 逃(

  • 中秋節和大豐收的關聯?
  • 給我說出一首歌歌名,證明你老了?