从零开始写 OS (6) —— 页表简介
在RISC-V32架构下,根页表也称为页目录,用于保存指向子页表(二级页表)的物理地址。在实现分页机制时,通常需要处理页面异常,如在读、写等操作时缺少权限。目前,我们可以通过简单的异常处理机制(如panic)来应对这些异常情况。实现页表机制后,可以有效地管理虚拟内存与物理内存之间的转换,提高内存管理...
如何从零开始写一个简单的操作系统
题主你好,如何写一个简单的操作系统,不是三言两语能够讲清楚的,也不是一两行代码就可完成的。要完成一个简单的操作系统,而不是一个裸机下打印一下hello world的引导扇区。这需要有足够的计算机系统的知识。包括但不仅限于汇编,C和操作系统原理。在自己写操作系统这一领域,也有不少大作。我之前...
从零开始的ARMv8操作系统内核实践 3 为内核启动MMU
现有OS内核代码通常在虚拟地址的高地址区,这是一种历史传承。在DOS时代,CPU不支持虚拟地址,应用程序会独享内存。当CPU支持虚拟地址后,OS为兼容之前的程序,将应用程序放在低地址区运行,自身则放置在高地址区,以确保自身数据不与应用程序数据冲突。我们通过页表实现低48位的恒等映射,并将页表安装在TTB...