Memory 寻呼机如何在请求寻呼中猜测将哪个页面带入内存?

Memory 寻呼机如何在请求寻呼中猜测将哪个页面带入内存?,memory,memory-management,operating-system,paging,virtual-memory,Memory,Memory Management,Operating System,Paging,Virtual Memory,当一个进程要被换入时,寻呼机会在该进程再次被换出之前猜测将使用哪些页面。因此,寻呼机将只交换所需的页面。但是,寻呼机将如何在高级阶段猜测这些特定页面是必需的呢?这不是猜测。如果存在请求分页,这意味着:如果需要(=进程想要读取它),它将进入内存 虽然可以使用某种类型的启发式方法在需求之前完成,但实际上这并没有发生,因为这种类型的内存也可以有更好的利用率:它可以用来缓存最后的读/写磁盘块 您还可以使用一个术语:“进程交换”。在现代操作系统中,整个流程都不会被移入/移出,只有它们的页面。在较旧的时代,

当一个进程要被换入时,寻呼机会在该进程再次被换出之前猜测将使用哪些页面。因此,寻呼机将只交换所需的页面。但是,寻呼机将如何在高级阶段猜测这些特定页面是必需的呢?

这不是猜测。如果存在请求分页,这意味着:如果需要(=进程想要读取它),它将进入内存

虽然可以使用某种类型的启发式方法在需求之前完成,但实际上这并没有发生,因为这种类型的内存也可以有更好的利用率:它可以用来缓存最后的读/写磁盘块


您还可以使用一个术语:“进程交换”。在现代操作系统中,整个流程都不会被移入/移出,只有它们的页面。在较旧的时代,进程作为一个整体进行了交换,因为当时分页无法处理这个问题。

这是不可能的。如果存在请求分页,这意味着:如果需要(=进程想要读取它),它将进入内存

虽然可以使用某种类型的启发式方法在需求之前完成,但实际上这并没有发生,因为这种类型的内存也可以有更好的利用率:它可以用来缓存最后的读/写磁盘块


您还可以使用一个术语:“进程交换”。在现代操作系统中,整个流程都不会被移入/移出,只有它们的页面。在较旧的时代,进程作为一个整体进行了交换,因为当时分页无法处理这个问题。

这是不可能的。如果存在请求分页,这意味着:如果需要(=进程想要读取它),它将进入内存

虽然可以使用某种类型的启发式方法在需求之前完成,但实际上这并没有发生,因为这种类型的内存也可以有更好的利用率:它可以用来缓存最后的读/写磁盘块


您还可以使用一个术语:“进程交换”。在现代操作系统中,整个流程都不会被移入/移出,只有它们的页面。在较旧的时代,进程作为一个整体进行了交换,因为当时分页无法处理这个问题。

这是不可能的。如果存在请求分页,这意味着:如果需要(=进程想要读取它),它将进入内存

虽然可以使用某种类型的启发式方法在需求之前完成,但实际上这并没有发生,因为这种类型的内存也可以有更好的利用率:它可以用来缓存最后的读/写磁盘块


您还可以使用一个术语:“进程交换”。在现代操作系统中,整个流程都不会被移入/移出,只有它们的页面。在以前,进程作为一个整体进行了交换,因为当时分页无法处理这个问题。

我最近有机会为一个小型实时操作系统实现了demand paging manager(DPM)。我无法解释大型操作系统的功能,但在我工作的RTO中,它没有做任何预测/猜测。它所做的唯一“猜测”是试图找出它应该退出哪个页面,以便为新页面腾出空间

我需要一个通用的DPM——一个在任何情况下都能工作的DPM。我采取了一种纯粹的被动态度;也就是说,页面将被分页以响应要求它们出现的某些事件(例如页面错误)。我的DPM并不介意采用主动式方法(预先猜测需要哪些页面)。我这样做是为了避免招致以下处罚/费用:

  • 是时候开发更复杂的代码了
  • 执行预测算法的时间
  • 预测未命中惩罚(加载数据、保存数据和预测页面)

  • 此外,主动方法仍然需要被动组件(及其成本)来处理预测失误。采用反应式方法更具成本效益。

    我最近有机会为一个小型实时操作系统实现了demand paging manager(DPM)。我无法解释大型操作系统的功能,但在我工作的RTO中,它没有做任何预测/猜测。它所做的唯一“猜测”是试图找出它应该退出哪个页面,以便为新页面腾出空间

    我需要一个通用的DPM——一个在任何情况下都能工作的DPM。我采取了一种纯粹的被动态度;也就是说,页面将被分页以响应要求它们出现的某些事件(例如页面错误)。我的DPM并不介意采用主动式方法(预先猜测需要哪些页面)。我这样做是为了避免招致以下处罚/费用:

  • 是时候开发更复杂的代码了
  • 执行预测算法的时间
  • 预测未命中惩罚(加载数据、保存数据和预测页面)

  • 此外,主动方法仍然需要被动组件(及其成本)来处理预测失误。采用反应式方法更具成本效益。

    我最近有机会为一个小型实时操作系统实现了demand paging manager(DPM)。我无法解释大型操作系统的功能,但在我工作的RTO中,它没有做任何预测/猜测。它所做的唯一“猜测”是试图找出它应该退出哪个页面,以便为新页面腾出空间

    我需要一个通用的DPM——一个在任何情况下都能工作的DPM。我采取了一种纯粹的被动态度;也就是说,页面将被分页以响应要求它们出现的某些事件(例如页面错误)。我的DPM并不介意采用主动式方法(预先猜测需要哪些页面)。我这样做是为了避免招致以下处罚/费用:

  • 是时候开发更复杂的代码了。