MIT 6.828
文章平均质量分 82
weixin_51187533
这个作者很懒,什么都没留下…
展开
-
2022-3-17 MIT 6.828 Lab 3: User Environments | Part A: User Environments and Exception Handling
从 lab2 切换到 lab3 的方法Lab 3 是为了设置用户在运行的时候适应的上下文环境Allocating the Environments ArrayExercise 1. Modify mem_init() in kern/pmap.c to allocate and map the envs array. This array consists of exactly NENV instances of the Env structure allocated much like how y转载 2022-03-19 09:57:23 · 285 阅读 · 0 评论 -
2022-3-16 MIT 6.828 Lab 2: Memory Management | Part 3: Kernel Address Space | Exercise 5
Exercise 5. Fill in the missing code in mem_init() after the call to check_page().Your code should now pass the check_kern_pgdir() and check_page_installed_pgdir() checks.// Set up a two-level page table:// kern_pgdir is its linear (virtual) address转载 2022-03-17 11:05:33 · 233 阅读 · 0 评论 -
2022-3-12 MIT6.828 Lab 2: Memory Management | Part 2: Virtual Memory | Exercise 2-4
Exercise 2. Look at chapters 5 and 6 of the Intel 80386 Reference Manual, if you haven’t done so already. Read the sections about page translation and page-based protection closely (5.2 and 6.4). We recommend that you also skim the sections about segmentat转载 2022-03-16 09:16:10 · 278 阅读 · 0 评论 -
2022-3-13 MIT lab1 到 lab2 代码的切换
具体的操作过程我尝试使用git checkout -b lab2 origin/lab2 来下载 lab2 所需要的代码,但是出现了本机上 lab1 当中的内容与远程文件夹中的lab1 内容不一致,所以报错。这个时候有两种选择,要么备份不一致,要么删除不一致。我选择了使用git reset --hard 来删除不一致。具体参考文章:git pull 时,error: 您对下列文件的本地修改将被合并操作覆盖...转载 2022-03-13 18:30:06 · 160 阅读 · 0 评论 -
2022-3-4 Lab 2: Memory Management | Part 1: Physical Page Management
Exercise 1. In the file kern/pmap.c, you must implement code for the following functions (probably in the order given).boot_alloc()mem_init() (only up to the call to check_page_free_list(1))page_init()page_alloc()page_free()check_page_free_list() and转载 2022-03-12 10:48:36 · 284 阅读 · 0 评论 -
2022-2-27 MIT 6.828 Lab 1: Booting a PC | Part 3: The Kernel | The Stack |exercise 9 - 11
Exercise 9. Determine where the kernel initializes its stack, and exactly where in memory its stack is located. How does the kernel reserve space for its stack? And at which “end” of this reserved area is the stack pointer initialized to point to?answer:转载 2022-03-03 16:23:04 · 184 阅读 · 0 评论 -
2022-2-24 MIT 6.268 lab:Booting PC Part 3: The Kernel —— exercise7-8
Using virtual memory to work around position dependence操作系统会被映射到高地址处,较低的虚拟地址会交给用户程序使用。实验中先映射 4MB 的物理内存,这足以保证启动。使用 kern/entrypgdir.c 中的页目录来完成这一操作。使用 kern/entry.S 来设立 CR0_PG 标志位,这个标志位一旦设立,便会从物理地址转换到线性地址(物理地址)。先查看 boot.out (计算机启动的可执行文件)发现其虚拟地址和物理地址是一致的。转载 2022-02-27 10:37:34 · 225 阅读 · 0 评论 -
2022-2-16 MIT 6.828 Lab1:Booting a PC part1-part2
Part 1: PC BootstrapGetting Started with x86 assemblyExercise 1. Familiarize yourself with the assembly language materials available on the 6.828 reference page. You don’t have to read them now, but you’ll almost certainly want to refer to some of this m转载 2022-02-23 09:17:30 · 440 阅读 · 0 评论 -
2022-2-16 MIT 6.828 实验环境安装
前期参考:MIT6.828 实验环境安装教程但是中途遇到了一个问题:参考这个解决最终的成果原创 2022-02-16 19:51:35 · 355 阅读 · 0 评论