ucore os lab

本项目实现了ucore os lab中的lab2、lab3、lab5、lab6、lab7 运行环境ubuntu,需要安装硬件模拟器QEMU

lab2为物理内存管理 包含三个部分。首先了解如何发现系统中的物理内存;然后了解如何建立对物理内存的初步管理,即了解连续物理内存管理;最后了解页表相关的操作,即如何建立页表来实现虚拟内存到物理内存之间的映射,对段页式内存管理机制有一个比较全面的了解。 终端进入lab2文件,运行如下命令

make qemu

lab3为虚拟内存管理 借助于页表机制和实验一中涉及的中断异常处理机制,完成Page Fault异常处理和FIFO页替换算法的实现,结合磁盘提供的缓存空间,从而能够支持虚存管理,提供一个比实际物理内存空间“更大”的虚拟内存空间给系统使用。 终端进入lab3文件,运行如下命令

make qemu

lab5为用户进程管理 创建用户进程,让用户进程在用户态执行,且在需要ucore支持时,可通过系统调用来让ucore提供服务。 终端进入lab5文件,运行如下命令

make grade

lab6为调度器 熟悉ucore的系统调度器框架,以及基于此框架的Round-Robin(RR) 调度算法。然后参考RR调度算法的实现,完成Stride Scheduling调度算法。 终端进入lab6文件,运行如下命令

make grade

lab7为同步互斥 熟悉ucore的进程同步机制—信号量(semaphore)机制,以及基于信号量的哲学家就餐问题解决方案。然后掌握管程的概念和原理,并参考信号量机制,实现基于管程的条件变量机制和基于条件变量来解决哲学家就餐问题。 终端进入lab7文件,运行如下命令

make grade