CG Blog

与其临渊羡鱼,不如退而结网

ucore lab4

清华大学操作系统实验 ucore 实验四

实验题目 ucore lab4 内核线程管理 实验目的 了解内核线程创建/执行的管理过程 了解内核线程的切换和基本调度过程 实验内容 实验2/3完成了物理和虚拟内存管理,这给创建内核线程(内核线程是一种特殊的进程)打下了提供内存管理的基础。当一个程序加载到内存中运行时,首先通过ucore OS的内存管理子系统分配合适的空间,然后就需要考虑如何分时使用CPU来“并发”执行...

ucore lab3

清华大学操作系统实验 ucore 实验三

实验题目 ucore lab3 虚拟内存管理 实验目的 做完实验二后,大家可以了解并掌握物理内存管理中的连续空间分配算法的具体实现以及如何建立二级页表。本次实验是在实验二的基础上,借助于页表机制和实验一中涉及的中断异常处理机制,完成Page Fault异常处理和FIFO页替换算法的实现。实验原理最大的区别是在设计了如何在磁盘上缓存内存页,从而能够支持虚存管理,提供一个比实际物理内存空间...

ucore lab2

清华大学操作系统实验 ucore 实验二

实验题目 ucore lab2 物理内存管理 实验目的 操作系统是一个软件,也需要通过某种机制加载并运行它。在这里我们将通过另外一个更加简单的软件-bootloader来完成这些工作。为此,我们需要完成一个能够切换到x86的保护模式并显示字符的bootloader,为启动操作系统ucore做准备。lab1提供了一个非常小的bootloader和ucore OS,整个bootloader...

ucore lab1

清华大学操作系统实验 ucore 实验一

练习1:理解通过make生成执行文件的过程 1.操作系统镜像文件ucore.img是如何一步一步生成的? 首先我们在 lab1 代码下输入 make 看看会发生什么 可以看到输出了一些信息,根据对这些信息的解读,并且观察文件目录我们可以发现,输入 make 生成了一系列的目标文件: bin 文件夹下的 ucore.img:被 qemu 访问的虚拟硬盘文件 bin 文件夹下的...

git 的 merge 以及 revert 操作

使用 git 进行版本合并和版本回退

背景 对于版本合并,最近在做学校编译原理实验的时候,遇到了一个问题。在我 fork 了实验项目之后,原实验项目又有了新的 push,我想要我的仓库更新,但是我已经做了一部分实验了,所以肯定不能简单地 delete 后再 fork 对于版本回退,就是单纯地想记录一下,防止自己忘记 版本合并 merge 设置 upstream 首先进入本地仓库打开终端,输入命令 git remote ...