当前位置:   article > 正文

Linux虚拟内存与分页存储管理_基本请求分页的修改字段相当于cache的替换位

基本请求分页的修改字段相当于cache的替换位

虚拟存储器作为现代操作系统中存储器管理的一项重要技术,实现了内存扩充功能。**但该功能并非是从物理上实际地扩大内存的容量,而是从逻辑上实现对内存容量的扩充,让用户所感觉到的内存容量比实际内存容量大得多。**于是便可以让比内存空间更大的程序运行,或者让更多的用户程序并发运行。这样既满足了用户的需要,又改善了系统的性能。

虚拟内存是操作系统物理内存和进程之间的中间层,它为进程隐藏了物理内存这一概念,为进程提供了更加简洁和易用的接口以及更加复杂的功能。

虚拟内存作为中间层

我们可以将虚拟内存看作是在磁盘上一片空间,当这片空间中的一部分访问比较频繁时,该部分数据会以页为单位被缓存到主存中以加速 CPU 访问数据的性

能,虚拟内存利用空间较大的磁盘存储作为『内存』并使用主存储缓存进行加速,让上层认为操作系统的内存很大而且很快,然而区域很大的磁盘并不快,而很快的内存也并不大

虚拟内存

Linux为什么需要虚拟内存:

  • 为应用程序提供看起来容量足够大且访问足够快的存储。
  • 通过共享代码库以减少物理内存的开销。让改动尽可能的少。
  • 通过分配连续的虚拟内存(物理内存上不一定连续) 简化内存的连接、分配过程。
  • 通过给各个进程分配不同的虚拟内存空间实现内存访问上的隔离,提供了一定的安全性。

拓展:

​ 当我们在 Linux 中调用 fork 创建子进程时,实际上只复制了父进程的页表

问题❓

  • 当有一个作业很大,超过了内存的总容量,作业不能全部装入内存怎么办?
  • 有大量作业需要运行,但是由于内存容量不足以容纳这些所有的作业怎么办?(先执行一部分)

解决办法:

  1. 增加物理内存容量
  2. 逻辑上扩充内存容量(虚拟内存方法)

局部性原理
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小丑西瓜9/article/detail/163406

推荐阅读
相关标签