6.828 lab4 Preemptive Multitasking 2019-08-03 操作系统 Part A: Multiprocessor Support and Cooperative Multitasking Exercise 1 实现 mmio_map_region MMIO 区域的基地址为 MMIOBASE,我们要将 [pa, pa+size] 映射到 [MMIOBASE, MMIOBASE+size],因为这里是 device memory 所以 cache 不可用,可以 Read more...
6.828 lab3 User Environments 2019-07-25 操作系统 Part A: User Environments and Exception Handling Exercise 1 修改 kern/pmap.c 中的 mem_init(),分配存放 env 数组的内存,并且完成内存空间映射 代码实现: Exercise 2 实现下列函数 env_init(): 初始胡 env 数组,将数组 Read more...
6.828 lab2 Memory Management 2019-07-13 操作系统 Part 1: Physical Page Management Exercise 1 实现 kern/pmap.c 中的下列四个函数 boot_alloc() mem_init() page_init() page_alloc() page_free() 首先实现 boot_alloc(), 根据注释,实现三点 如果 n > 0 分配 n 个字节的物理内存,不需要初始化 如果 n = 0 直接将下个 Read more...
6.828 lab1 Booting a PC 2019-07-11 操作系统 Part 1: PC Bootstrap Exercise 1 通过 PC Assembly Language Book 了解汇编语言,不需要现在就去读这些,但是要在读写 x86 汇编时知道去查阅这些资料。 建议阅读 Brennan’s Guide to Inline Assembly 了解 AT&T 汇编语法,因为 Jos Read more...
6.824 lab4 Sharded Key/Value Service 2019-04-21 Go 这个 lab 是要在 lab2 的基础上实现一个容错的 kv 存储 (kvserver),实现 Put、Append、Get 操作。 3A 首先 client 端发起的 Put、Append、 Read more...