在需求分頁中,數據是從磁盤複製到主內存中的,還是被傳輸到主內存中,在磁盤中什麼也沒有留下來?需求分頁時數據是否留在磁盤上?
0
A
回答
2
什麼都沒有「移動」。數據不是一張紙,一次只能在一個地方;它被複制到內存中,然後它仍然在磁盤上。將其擦除在磁盤上意味着用不同的數據覆蓋它,在讀取之後需要額外的時間。
它最終可能會被覆蓋,因爲系統當然會知道交換的哪些部分仍然有效並且需要數據,哪些部分被視爲「未使用」。
0
其實以上都不是。傳統上,每當請求時,進程和文件都將其內容複製到內存中。然而,在需求分頁的情況下,情況並非如此。當請求將文件加載到內存中時,操作系統將該文件標記爲位於進程的虛擬地址空間內,但實際上並未分配內存或複製文件。只要進程讀取或寫入該內存區域,處理器就會拋出操作系統陷入的故障。操作系統然後將該文件的內容複製到頁面,然後只有。這具有節省內存的效果,因爲只分配了實際訪問的頁面。堆分配也是如此。如果一個程序請求一大塊內存,那麼在程序使用該內存之前實際上不會分配它。
相關問題
- 1. 將部分數據保留在內存中並且保留在磁盤中
- 2. 組件是否需要磁盤上的物理存在?
- 3. 在iPhone上保留磁盤空間
- 4. 存儲空數據時是否消耗磁盤空間?
- 5. CoreData完成從磁盤讀取數據時是否有通知?
- 6. 是否sqoop臨時數據溢出到磁盤
- 7. StringTemplate 4是否需要磁盤上的模板文件?
- 8. 頻繁訪問磁盤的需求?
- 9. 使分散在磁盤上的git跟蹤數據
- 10. Postgres在多個磁盤上分發數據
- 11. Solr保留磁盤空間
- 12. 磁盤分區
- 13. MySQL的performance_schema數據庫中的信息是否存儲在磁盤上?
- 14. Graphite - 長時間數據保留時間使得數百GB的磁盤空間
- 15. 我們是否需要使用MappedByteBuffer.force()將數據刷新到磁盤?
- 16. 解釋上的數據磁盤
- 17. Apache Cassandra磁盤上的數據存儲
- 18. python dumbdbm,數據何時寫回磁盤?
- 19. SQLite是否總是讀取磁盤?
- 20. 磁盤驅動器是否被視爲數據庫?
- 21. 是否有基於磁盤的最近鄰數據結構?
- 22. 請求磁盤時的HTTP 400
- 23. 尺寸上的部分填充HDF5數據集的磁盤
- 24. MongoDB數據庫中的數據如何存儲在磁盤上?
- 25. Hadoop FS的意圖是保留在RAM還是磁盤?
- 26. Azure磁盤數據丟失
- 27. 是否可以在本地磁盤上創建ClearCase VOB?
- 28. RabbitMQ是否在磁盤上序列化每個入站消息?
- 29. 使用File.Exists()檢查視圖是否存在於磁盤上
- 30. 檢查磁盤上是否存在文件?
你認爲「轉移」會是什麼樣子? – 2012-07-21 22:49:34