物理内存管理
第五组
目录
内存管理的任务
物理内存管理的办法
静态分区法
动态分区法
伙伴算法
内存管理的任务
在计算机系统中,除了处理器以外,最主要的资源就是存储器
内存是紧缺的系统资源,需要操作系统严格管理
帕金森定律:不管存储器有多大,程序都会把它填满
内存管理的任务
内存管理的任务是:
(1)物理内存的分配与回收。
(2)为进程模拟出尽可能大的虚拟内存。
(3)提供进程虚拟内存间的隔离、保护、共享。
物理内存管理的办法
最简单的物理内存管理方法是不管理:
在同一时间段内,只允许一个进程驻留在内存,由进程自己管理内存的使用。
在进程终止时,回收所有内存,创建或换入下一个进程。
当进程必须等待时,将其从内存中整个换出到外存,创建或换入下一个进程。
问题:利用率低、并发性差、响应速度慢。
物理内存管理的办法
改进的管理办法是:分区管理
静态分区法
动态分区法
伙伴算法
静态分区法
由操作系统或系统管理员预先将内存划分成若干个分区。在系统运行过程中,分区的边界不能再改变。
操作系统以分区为单位分配物理内存。
分配时,找一个空闲且足够大的分区。
如没有合适的分区,可以:
(1)让申请者等待;
(2)先换出某分区的内容,再将其分配出去。
静态分区法等尺寸分区——各分区具有相同的尺寸
可为申请者分配指定的分区或为其任选一个分区
如果没有空闲分区,可将一个分区的内容换出
等尺寸静态分区法的主要问题:
可能出现内部碎片
无法满足大内存需求。
静态分区法不等尺寸分区——各分区可有不同的尺寸
小分区用来满足小内存需求,可减少内部碎片;
大分区用来满足大内存需求,可减少限制
不等尺寸静态分区的分配方法:
(1)固定分配。只分配某种尺寸的特定分区,如分区已被使用,申请者必须等待。
可能出现不公平等待:虽有更大尺寸的空闲分区,却必须等待。
(2)最佳适应分配。分配能满足需要的最小尺寸的空闲分区。只有当所有分区都已被用完时,申请者才需要等待。
灵活,但可能产生较大的内部碎片。
动态分区法
不预先确定分区的大小和数量,将划分分区的工作推迟到实际分配内存时进行。
初始情况下,把所有的空闲内存看成一个大分区。
在分配内存时,按申请的尺寸,找一块足够大的空闲内存分区,临时从中划出一块构成新的分区。新分区的尺寸与申请的大小相等,不会出现内部碎片。
在回收分区时,尽可能地将其与邻近的空闲分区合并。
在内存紧缺时,可将某个选定的分区换出。
物理内存管理 来自淘豆网www.taodocs.com转载请标明出处.