30天自制操作系统——第九天内存管理

内存容量检查

这里不使用BIOS函数,而是自己去检查。思路是先关闭CPU的高速缓存(cache)功能,再进行内存检查。内存检查时,要往内存里随便写入一个值,然后马上读取,检查写入的值与读取的值是否相等。

高速缓存:每次访问内存时,都将所访问的地址和内容都放到高速缓存里,这样会大大提高CPU的性能,这种性能的提升可能是数倍以上的。

聪明的编译器

在对内存进行检查时,发现了问题。编译器对用C语言编写的看似重复性的代码进行了优化处理,将该段程序自动省去了。因此改用汇编语言编写内存检查的程序。

运行一下make run——

在这里插入图片描述

内存管理

内存管理的内容主要是内存分配和内存释放。

内存管理的方法有很多:一种是将内存均分为若干单元,对单独的单元进行管理。然后创建一个区域,往其中写入0或者1来标记哪里是空着,哪里是正在使用。另一种是列表管理法,将从“xxx号地址开始的yyy字节都是空着”的信息存在列表里。

列表管理的方法的优点首先是占用内存少,再有就是大块的内容分配和释放都非常迅速。缺点是当空间特别零碎,可能会将空间管理信息都用完。

在这里插入图片描述

https://gitee.com/mint1993/myos.git

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值