大文件的複製和貼上如何工作

大文件的複製和貼上如何工作

我很好奇計算機如何執行大資料夾的“複製”和“貼上”。我讀過,不同進程或同一進程之間的文本複製和貼上是透過將內容保存到 RAM 中然後將其從那裡複製到目標位置來實現的。

那麼,在具有 2 GB RAM 和 4 GB 最大虛擬記憶體的電腦上複製 10 GB 的資料夾時,電腦指令如何流動。文件複製與文字複製不同。

我認為這是基本問題,但任何連結或見解都值得讚賞。

答案1

剪貼簿不必儲存整個文件。當您複製一個或多個檔案時,僅將其路徑放入剪貼簿。它也被標記為文件 - 剪貼簿會追蹤其內容的Ctrl類型,例如純文字、格式化文字、文件、圖像、Word 文字等。C貼上到目錄中- 因為您複製了圖片,而目錄保存的是文件,而不是圖片。

當您將相容內容(即檔案和/或資料夾)貼上到目錄中時,某些應用程式將處理複製/移動操作。預設情況下,它將是該explorer進程(負責顯示「開始」功能表和所有檔案總管視窗的相同進程),但某些應用程式可能會取代它。[1]

現在發生的情況取決於您正在做什麼:

  • 如果你是將檔案移到同一分割區上的另一個目錄,它不會在磁碟上進行物理移動,只會更新其路徑[2]
  • 如果你是將檔案移動到另一個分區,它會被分割成相同大小的區塊[3],並且這些區塊將被一一複製,然後原始檔案將被刪除。太小的區塊會減慢進程,太大的區塊會消耗更多的記憶體。
  • 當你複製文件(不管是否是同一個分割區),只是原始檔案不會被刪除。
  • 寫入外部記憶體(如 USB 驅動器)的工作方式並不完全像[4],我不確定接下來會發生什麼。我的猜測是,這不是一個連續的逐塊過程,而是每隔幾個區塊就會發生一些事情(與緩衝區相關?)。如果有人對此有所了解,請隨意編輯。

註:

[1]。例如泰拉複製,這是一個很好的高級複製視窗替代品。

[2]。硬碟上的實體檔案結構與目錄結構不同 - 它是平面的,所有層次結構資訊都儲存在分區的單獨部分中。它到底是如何完成的取決於檔案系統(例如參見微量FT)。此資訊區塊保存有關檔案位置等的所有資訊。

[3]。並非字面上的意思,硬碟上不會分割任何內容。處理複製過程的程式將像有多個單獨的區塊一樣工作,但原始檔案將保持不變。這純粹是虛擬的。

[4]。您可以在使用 TeraCopy 時看到它:「預測進度」不像在固定磁碟機上那樣工作,而是「實際進度」趕上它,然後「預測進度」擴充等等。 Explorer 的預設複製視窗也有 USB 問題。

相關內容