【问题标题】:Is the paging area on a hard disk in a specific location or are the data blocks also distributed over the entire hard disk? [closed]硬盘上的分页区域是在特定位置还是数据块也分布在整个硬盘上? [关闭]
【发布时间】:2020-12-02 01:18:45
【问题描述】:

我想知道分页区域是在特定位置的硬盘上还是数据块也分布在整个硬盘上?

及以后:当加载包含我的代码和数据的进程时,根据预分页,只有部分代码加载到 RAM 中,其余部分加载到硬盘驱动器或所有内容都完全存储在一开始是内存?

是否有可能处于“就绪”状态的进程,即那些可能即将到期的进程,也在后台内存中完全换出?

【问题讨论】:

    标签: process operating-system paging virtual-memory hard-drive


    【解决方案1】:

    总体答案是取决于您的系统

    在历史上,一些系统需要专用的磁盘或鼓用于交换区域、一些专用的分区以及以后可以动态添加和删除的文件。与基于文件的交换相比,专用交换区域具有一些延迟、性能和简单性优势;但是后者要灵活得多。

    理论上,不需要加载任何代码或数据。它所需要的只是一组与可执行文件中的偏移量相关联的页表。在实践中,这些页面中的一些被引用来获取加载模块头和对共享对象的依赖关系,因此不离开它们没有任何好处。仔细阅读 mmap(2),它是它的主力。

    cpu的调度不需要知道可执行文件中内存页的状态;所以理论上是的。在实践中,这是不可能的。无论哪种方式,尝试运行它都会导致其页面被带回。

    顺便说一句,后台内存更可能是后备存储,它标识页面存在的位置(不在 ram 中),或者如果从 ram 中逐出则将被存储。

    【讨论】:

      猜你喜欢
      • 2018-01-20
      • 1970-01-01
      • 2016-10-15
      • 2012-04-01
      • 2016-10-24
      • 2010-11-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多