1

我认为区别在于:

  • 在动态加载中不需要操作系统支持,用户有责任设计程序以使其可以从动态加载中受益,但在按需分页中,需要操作系统支持来管理页面。虚拟内存使程序员的工作更轻松。
  • 在动态加载中,我们在需要时加载例程和模块,在按需分页中,我们在需要时加载页面。

但我认为我错过了更多差异,非常感谢任何帮助!

这也是我的第一个问题,所以请放轻松:)

4

1 回答 1

2

将动态加载与按需寻呼进行比较就像将驾驶汽车与使用内容管理系统进行比较。您可以争辩说它们都可以帮助您提高效率并更快地完成工作,但这就是两者之间的相似之处。

动态加载是程序在运行时加载另一个二进制文件(库被认为是二进制文件)的机制。需求分页是虚拟内存管理中使用的一种优化技术,仅在需要时(通常在页面错误时)将页面加载到内存中。

它们服务于不同的目的。动态加载通常用于实现插件系统。需求分页只是一种优化技术。它们被不同级别的不同系统使用。一个是应用程序级别的用户应用程序,另一个是操作系统,非常接近硬件,在虚拟内存级别。他们加载两种不同的东西。一个是二进制,另一个是虚拟页面。他们对何时加载使用不同的策略。一项针对显式请求,一项针对页面错误。它们使用不同的实现机制。

当然,你可以说两者都使用延迟加载的原理,但是这个原理适用于两种不同的事物,以两种不同的方式服务于两种不同的目的。

归根结底,它们只是两个根本不同的东西

于 2020-01-17T11:43:43.133 回答