哈工大-操作系统L21

内存分区于分页

编译时进行分段,在内存中如何找到空闲的分区,找到之后入读,初始化TDL表

一.内存分区

固定分区,但由于需要不同所以这种方法不太合适

可变分区,需要两个表,一个记录已经分配的表,一个表记录空闲区

有请求分配,有空闲区,就添加进已分配表,修改空闲区表

释放内存,释放完之后将空的内存添加到空闲区表,修改已分配表

操作系统很多算法没有对错,只有优缺点,首先适配,查表更快,最佳适配会出现特别多细小的内存碎片,最差适配会得到比较均与的空间,有各自不同的特点

A.最佳适配

二.分页

实际物理内存要通过分页来进行分配,而不用内存分区来进行,内存碎片,段不连续,内存紧缩,花费时间,内存改变了,需要修改LDT,CPU无法执行上层用户的操作

能否将请求的内存打散分配?

将段分成一页一页的,物理内存也分成一页一页的,内存不需要紧缩,最多浪费一页一页4K

分页如何重定位,和前面的一样分段有段表,分页有页表,cr3页表寄存器指向页表初始地址,每个页表大小为4K,4K=2^12,重定位需要先找到页号,假设逻辑地址是0x2240向右移动12位,剩下的2就是页号,页框3对应的物理地址3x4K,形成物理地址0x3240

  • 10
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值