内存管理方式有3大类:连续存储管理、分页存储管理、分段存储管理。
1、连续存储管理:也称分区管理,是指将一个程序安排在一个或多个分区中,程序在每个分区内是连续存放的。连续存储管理有固定分区和可变分区两种方式,固定分区是预先由系统将内存划分为数目固定而大小不等的分区,为了提高内存利用率,分区大小可以根据作业大小事先设计好;而可变分区是根据整个作业大小来为作业分配分区,系统应该保存已分区和未分区的信息。
2、分页存储管理:将线性地址空间中的用户部分以页为单位划分为多个页面,将物理内存(不包括交换文件)以页为单位划分为多个页框,页尺寸一般为4KB。页表是操作系统为每个进程创建的,是页面到页框的映射关系表。页表存放在内存中,其在内存中的位置由页表基址寄存器指定,页表长度随进程大小而定。页尺寸由操作系统决定。CPU得到线性地址(在实模式下可以称为逻辑地址)后,可以根据页尺寸从线性地址中计算出页面号和页内偏移,根据页面号从页表中得到页框号,根据页框号、页尺寸、页表基址这三个量可以计算出此页框内部的首地址,页框内部的首地址+偏移地址即为物理地址。线性地址到物理地址的转换由MMU硬件完成。页表基址寄存器的值会因进程切换而发生改变。
虚拟内存:页表不仅存放页面到页框的映射关系,还会存储页面的保护属性(是否可读、可写、可执行等)、驻留标志位等,驻留标志位指示此页面是否在内存中,如果不在内存将会引发缺页中断(硬件产生),系统会从交换文件中将缺失的页调入内存,然后重新启动相应指令。
3、分段存储管理:略。
操作系统原理之内存管理
最新推荐文章于 2024-08-04 13:01:59 发布