内存容量检查
这里不使用BIOS函数,而是自己去检查。思路是先关闭CPU的高速缓存(cache)功能,再进行内存检查。内存检查时,要往内存里随便写入一个值,然后马上读取,检查写入的值与读取的值是否相等。
高速缓存:每次访问内存时,都将所访问的地址和内容都放到高速缓存里,这样会大大提高CPU的性能,这种性能的提升可能是数倍以上的。
聪明的编译器
在对内存进行检查时,发现了问题。编译器对用C语言编写的看似重复性的代码进行了优化处理,将该段程序自动省去了。因此改用汇编语言编写内存检查的程序。
运行一下make run——
内存管理
内存管理的内容主要是内存分配和内存释放。
内存管理的方法有很多:一种是将内存均分为若干单元,对单独的单元进行管理。然后创建一个区域,往其中写入0或者1来标记哪里是空着,哪里是正在使用。另一种是列表管理法,将从“xxx号地址开始的yyy字节都是空着”的信息存在列表里。
列表管理的方法的优点首先是占用内存少,再有就是大块的内容分配和释放都非常迅速。缺点是当空间特别零碎,可能会将空间管理信息都用完。
https://gitee.com/mint1993/myos.git