内存
文章平均质量分 91
张十五
这个作者很懒,什么都没留下…
展开
-
页面更换算法
页面需要更换 之前介绍了分页系统。它克服了交换系统的各种缺点:外部碎片、难以增长、程序不能大于物理内存。但是天下没有免费的午餐,既然优点如此之多,那总得付出点代价。这个代价就是页面的更换。在交换系统下,一个程序作为一个整体加载到内存。因此,在运行时,无需再从磁盘上加载任何东西。而在分页系统下,一个程序的所有页面并不一定都在内存中这样,在执行的过程中就可能发生页面不在内存的情况。 如果访问的页面不在内存,则系统将产生缺页中断。缺页中断服务程序将负责把位于磁盘上的数据加载到物理内存来。如果物理内存还有空闲页面,原创 2021-10-31 15:06:41 · 711 阅读 · 0 评论 -
段式内存管理
分页系统的缺点 前面一节阐述了分页内存管理它克服了交换系统的所有缺点,但它自己有缺点吗? 页表太大?这个缺占用多级页表克服了。多级页表速度慢?这个问题用TLB解决了绝大部分。页面来回更换?这个缺点用页面更换算法解决了大部分。 固定页面大小呢?这不应该算是一个缺点,因为可变页面大小的操作系统不仅难以选择最优的页面大小,而且会变得很复杂。内部碎片算是一个小小的缺憾,但总比交换系统的外部碎片强,一个进程的内部碎片所浪费的空间平均起来只有半个页面,相对于分页系统的诸多优点来说,这个缺点似乎微不足道。 那么分页系统还原创 2021-10-30 16:56:59 · 1005 阅读 · 1 评论 -
页式内存管理
内存管理就是要将各种媒介组建成为一体,形成一个巨无霸似的虚拟存储系统。 基址极限管理模式的问题 到目前为止,已经讲述了几种基本的内存管理方法,分别是固定加载地址的内存管理、固定分区的内存管理、非固定分区的内存管理和交换内存管理,固定加载地址的内存管理只适合于单道编程,而其他三种则可用于多道编程。这三种适用于多道编程的内存管理模式均使用同一种实现机制:基址与极限 基址与极限的工作原理是将程序发出的虚拟地址加上基址而获得物理地址!如果地址超过指定的极限,则视为地址出界而禁止访问,否则访问正常进行。 在介绍过的三原创 2021-10-30 15:01:20 · 1819 阅读 · 0 评论 -
基本内存管理
内存管理的环境 程序要运行,必须先加载到内存。但在很久以前,准确地说是在操作系统出现以前,程序并不需要加载到内存才能运行。实际上,在那个已经久远的年代里,程序曾经是存放在卡片上,计算机每读一张卡片,就运行一条指令。因此,程序是直接从卡片到执行。 但这种从外部存储媒介上直接执行指令的做法效率极低,且灵活性很差。因此,人们发明了内存储器来将需要运行的程序先行加载,再自动执行,从而提高效率和灵活性。这也导致了“存储的程序”概念,而存储的程序概念又导致计算机及软件系统的革命性变化。此后,人们对内存的要求是越来越多,原创 2021-10-29 19:48:20 · 971 阅读 · 0 评论