动态加载和需求分页的区别
Difference between dynamic loading and demand paging
我认为不同之处在于:
- 在动态加载中不需要 OS 支持,用户有责任设计一个程序,使其可以从动态加载中受益,但在按需分页中,OS 支持需要管理页面。而虚拟内存让程序员的工作更轻松。
- 在动态加载中,我们在需要时加载例程和模块,在请求分页中,我们在需要时加载页面。
但我认为我遗漏了更多差异,非常感谢任何帮助!
这也是我的第一个问题,请放轻松:)
将动态加载与需求分页进行比较就像将驾驶汽车与使用内容管理系统进行比较。您可以争辩说它们都可以帮助您提高效率并更快地完成工作,但就两者之间的相似性而言,仅此而已。
动态加载是一种程序在运行时加载另一个二进制文件(库被视为二进制文件)的机制。请求分页是一种用于虚拟内存管理的优化技术,仅在需要时(通常在页面错误时)在内存中加载页面。
它们有不同的用途。动态加载通常用于实现插件系统。请求分页只是一种优化技术。它们由不同级别的不同系统使用。一个是应用程序级别的用户应用程序,另一个是 OS,非常接近硬件,在虚拟内存级别。他们加载两个不同的 things。一个是二进制文件,另一个是虚拟页。他们在加载时使用不同的策略。一个是根据明确请求,一个是页面错误。他们使用不同的实现机制。
当然,你可以说两者都使用延迟加载的原理,但这个原理适用于两种不同的事物,以两种不同的方式服务于两种不同的目的。
最终它们只是两个根本不同的事物。
我认为不同之处在于:
- 在动态加载中不需要 OS 支持,用户有责任设计一个程序,使其可以从动态加载中受益,但在按需分页中,OS 支持需要管理页面。而虚拟内存让程序员的工作更轻松。
- 在动态加载中,我们在需要时加载例程和模块,在请求分页中,我们在需要时加载页面。
但我认为我遗漏了更多差异,非常感谢任何帮助!
这也是我的第一个问题,请放轻松:)
将动态加载与需求分页进行比较就像将驾驶汽车与使用内容管理系统进行比较。您可以争辩说它们都可以帮助您提高效率并更快地完成工作,但就两者之间的相似性而言,仅此而已。
动态加载是一种程序在运行时加载另一个二进制文件(库被视为二进制文件)的机制。请求分页是一种用于虚拟内存管理的优化技术,仅在需要时(通常在页面错误时)在内存中加载页面。
它们有不同的用途。动态加载通常用于实现插件系统。请求分页只是一种优化技术。它们由不同级别的不同系统使用。一个是应用程序级别的用户应用程序,另一个是 OS,非常接近硬件,在虚拟内存级别。他们加载两个不同的 things。一个是二进制文件,另一个是虚拟页。他们在加载时使用不同的策略。一个是根据明确请求,一个是页面错误。他们使用不同的实现机制。
当然,你可以说两者都使用延迟加载的原理,但这个原理适用于两种不同的事物,以两种不同的方式服务于两种不同的目的。
最终它们只是两个根本不同的事物。