在页式存储管理中 内存页式存储管理

【在页式存储管理中 内存页式存储管理】为了支持多道程序系统和分时系统,支持多个程序并发执行,引入了分区式存储管理,这里给大家分享一些关于内存页式存储管理,希望对大家能有所帮助 。
基本原理
将程序的逻辑地址空间划分为固定大小的页(page),而物理内存划分为同样大小的页框(page frame) 。程序加载时,可将任意一页放人内存中任意一个页框,这些页框不必连续,从而实现了离散分配 。该方法需要CPU的硬件支持,来实现逻辑地址和物理地址之间的映射 。在页式存储管理方式中地址结构由两部构成,前一部分是页号,后一部
页式管理方式的优点是:
1)没有外碎片,每个内碎片不超过页大比前面所讨论的几种管理方式的最大进步是,
2)一个程序不必连续存放 。
3)便于改变程序占用空间的大小(主要指随着程序运行,动态生成的数据增多,所要求的地址空间相应增长) 。
缺点是:要求程序全部装入内存,没有足够的内存,程序就不能执行 。
分为页内地址w(位移量)
页式管理的数据结构
在页式系统中进程建立时,操作系统为进程中所有的页分配页框 。当进程撤销时收回所有分配给它的页框 。在程序的运行期间,如果允许进程动态地申请空间,操作系统还要为进程申请的空间分配物理页框 。操作系统为了完成这些功能,必须记录系统内存中实际的页框使用情况 。操作系统还要在进程切换时,正确地切换两个不同的进程地址空间到物理内存空间的映射 。这就要求操作系统要记录每个进程页表的相关信息 。为了完成上述的功能,—个页式系统中,一般要采用如下的数据结构 。
进程页表:完成逻辑页号(本进程的地址空间)到物理页面号(实际内存空间,也叫块号)的映射 。
页式管理地址变换
在页式系统中,指令所给出的地址分为两部分:逻辑页号和页内地址 。
原理:CPU中的内存管理单元(MMU)按逻辑页号通过查进程页表得到物理页框号,将物理页框号与页内地址相加形成物理地址
上述过程通常由处理器的硬件直接完成,不需要软件参与 。通常,操作系统只需在进程切换时,把进程页表的首地址装入处理器特定的寄存器中即可 。一般来说,页表存储在主存之中 。这样处理器每访问一个在内存中的操作数,就要访问两次内存:
第一次用来查找页表将操作数的 逻辑地址变换为物理地址;
第二次完成真正的读写操作 。
这样做时间上耗费严重 。为缩短查找时间,可以将页表从内存装入CPU内部的关联存储器(例如,快表) 中,实现按内容查找 。此时的地址变换过程是:在CPU给出有效地址后,由地址变换机构自动将页号送人快表,并将此页号与快表中的所有页号进行比较,而且这 种比较是同时进行的 。若其中有与此相匹配的页号,表示要访问的页的页表项在快表中 。于是可直接读出该页所对应的物理页号,这样就无需访问内存中的页表 。由于关联存储器的访问速度比内存的访问速度快得多 。

推荐阅读