[ Learn ] 清华大学 ucore os labs
Ucore Development
构建顺序:
- Bootloader
- Interpret
- Physical Memory management
- virtual Memory management / swaping / disk management
- Process
- Scheduling
- Sync / Async
- File System
在 x86 的世界里, 内核就像是在一个地区建立一个工厂.
生产车间是 CPU, 内存是仓库.
仓库一般在这个地方的起始位置, 在 x86 的世界里. 在0x7c00 这个位置.
首先需要确定一个事情,就是仓库建立的时候, 你需要了解仓库里面, 哪个地方用来放机器的零件(code), 那些用来放产品结果(data).
这两个东西不能混到一起, 所以需要一个表格来告诉操作的人分别在什么位置. 这个表格就是 gdt.
questions
在初始化的时候, 会将 cs , es, ss, ds 等等寄存器初始化, 根据这个内容, 获取到 gdt 里面的内容. 进而
lab2
get_pte()
- 什么时候启动了虚拟地址与物理地址的转换? 2.
next step
xv6 system from MIT