MIT JOS lab2 首先把内存分布理清楚,由/boot/main.c可知这里把kernel的img的ELF header读入到物理地址0x10000处 这里能够回想JOS lab1的一个小问.当时是问的bootloader怎么就能准确的吧kernle 镜像读入到相应的地址呢? 这里就是main.c在作用. 这里往ELFHDR即0x10000处读入了8个SECTSIZE(这里读入的是一个PAGESIZE 4KB), 从凝视//is this a valid ELF? 開始,bootmain以
注:源代码参见我的github: https://github.com/YaoZengzeng/jos Part A : User Environments and Exception Handling User Exception: 1.kernel维护了以下三个全局变量和environment有关的全局变量 struct Env *envs = NULL; // All environments struct Env *curenv = NULL; // The current env --
本文将介绍如何在macOS下配置MIT6.828 JOS实验的环境. 写JOS之前,在网上搜寻JOS的开发环境,很多博客和文章都提到"不是32位linux就不好配置,会浪费大量时间在配置环境"上之类的论调.故前期开发直接使用了32位ubuntu系统,并做了共享文件系统,背景开一个ubuntu虚拟机进行编译. 最近实在无法忍受背景开虚拟机那恐怖的耗电量和发热量,尝试将开发环境移到macOS下,竟发现非常的简单. Tools we need 在搭建环境之前,首先macOS上需要有以下两个工