![為什麼資料夾刪除不並行?](https://rvso.com/image/1642397/%E7%82%BA%E4%BB%80%E9%BA%BC%E8%B3%87%E6%96%99%E5%A4%BE%E5%88%AA%E9%99%A4%E4%B8%8D%E4%B8%A6%E8%A1%8C%EF%BC%9F.png)
答案1
現代檔案系統試圖確保在寫入期間始終保持資料完整性。過去我聽說這被稱為“原子”寫入,因為它要么成功完成,要么根本不完成。
您一次只能向實際磁碟發送一個命令,忽略磁碟佇列和緩存,並且刪除操作將是多次讀取(掃描目錄等),依此類推,然後才能從目錄樹中刪除該項目並標記空間自由。
結合現代日誌記錄(允許磁碟任務根據中斷時間向後或向前滾動),瓶頸很可能在於磁碟控制器的實際排隊任務(讀取/查找/寫入)。
將某些內容移至回收站只是移動一個資料夾,這樣「刪除」某些內容的操作要少得多,因為您只是修改資料夾結構而不是將大量資料標記為不再需要。不過,當您清空回收站時,您最終將再次執行釋放磁碟空間的任務。
答案2
此操作的瓶頸不是 CPU,而是磁碟。您無法讓 CPU 的運作速度快於磁碟儲存變更的速度。因此,CPU 會等待磁碟完成其工作,然後再提交更多工作。
對於許多小檔案的操作,這種影響尤其明顯,其中檔案系統開銷大於檔案本身的大小,因此它們的處理時間似乎異常長。