Memory management 动态加载和请求分页之间的区别

Memory management 动态加载和请求分页之间的区别,memory-management,operating-system,virtual-memory,dynamic-loading,demand-paging,Memory Management,Operating System,Virtual Memory,Dynamic Loading,Demand Paging,我认为区别在于: 在动态加载中,不需要操作系统支持,用户有责任设计一个能够从动态加载中获益的程序,但在按需分页中,需要操作系统支持来管理页面。虚拟内存使程序员的工作更容易 在动态加载中,我们在需要时加载例程和模块;在按需分页中,我们在需要时加载页面 但我想还有更多的差异,我错过了,任何帮助都是非常感谢的 另外,这是我的第一个问题,所以请放轻松:)比较动态加载和请求分页就像比较开车和使用内容管理系统一样。你可以说,它们都能帮助你提高效率,更快地完成任务,但就两者的相似性而言,这就是问题所在 动

我认为区别在于:

  • 在动态加载中,不需要操作系统支持,用户有责任设计一个能够从动态加载中获益的程序,但在按需分页中,需要操作系统支持来管理页面。虚拟内存使程序员的工作更容易
  • 在动态加载中,我们在需要时加载例程和模块;在按需分页中,我们在需要时加载页面
但我想还有更多的差异,我错过了,任何帮助都是非常感谢的


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

比较动态加载和请求分页就像比较开车和使用内容管理系统一样。你可以说,它们都能帮助你提高效率,更快地完成任务,但就两者的相似性而言,这就是问题所在

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

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

当然,您可以说两者都使用了延迟加载的原则,但是这一原则应用于两种不同的事情,以两种不同的方式服务于两种不同的目的

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

我认为这是恰当的: