摘要: MIT 6.828 | JOS | 关于虚拟空间和物理空间的总结 🚩 Question: 做lab过程中越来越迷糊,明明虚拟空间和物理空间都是4G,为什么还要有映射?又为啥映射要像JOS这样映射? 解决途径: 停下来,根据当前lab的进展,再回头看上学期操作系统的ppt & 上网冲浪查资料!意识到 阅读全文
posted @ 2020-08-18 17:29 Cindy's 阅读(1193) 评论(2) 推荐(1) 编辑
摘要: MIT 6.828 Labs 笔记汇总 以下为各部分lab的实验笔记记录汇总,可直接点击跳转💝 mit-6.828 Lab Tools mit-6.828 Lab01:Booting a PC exercise1.1 mit-6.828 Lab01:Booting a PC Exercise 1. 阅读全文
posted @ 2020-08-18 17:13 Cindy's 阅读(1618) 评论(1) 推荐(0) 编辑
摘要: MIT 6.828 Lab5:File system, Spawn and Shell 概括总结 本lab将实现JOS的文件系统,只要包括如下四部分: 引入一个**文件系统进程(FS进程)**的特殊进程,该进程提供文件操作的接口。 建立RPC机制,客户端进程向FS进程发送请求,FS进程真正执行文件操 阅读全文
posted @ 2020-08-18 15:52 Cindy's 阅读(511) 评论(0) 推荐(0) 编辑
摘要: 在本实验中,我们将在多个同时活动的用户模式环境中实施抢占式多任务处理。 PartA: 为 JOS 增添多处理器支持特性。 实现 round-robin scheduling循环调度。 添加一个基本的环境(进程)管理系统调用(创建和销毁环境,分配和映射内存)。 PartB: 实现一个类Unix的for 阅读全文
posted @ 2020-08-18 15:42 Cindy's 阅读(719) 评论(0) 推荐(0) 编辑
摘要: PartB :Page Faults, Breakpoints Exceptions, and System Calls Handling Page Faults 缺页中断中断号是14,发生时引发缺页中断的线性地址将会被存储到CR2寄存器中。 Exercise 05 修改trap_dispatch( 阅读全文
posted @ 2020-08-18 15:29 Cindy's 阅读(343) 评论(0) 推荐(0) 编辑
摘要: Part 1 这里user environment 含义与进程几乎等价: // An environment ID 'envid_t' has three parts: // // +1+ 21 + 10 + // |0| Uniqueifier | Environment | // | | | I 阅读全文
posted @ 2020-08-18 15:01 Cindy's 阅读(876) 评论(0) 推荐(1) 编辑
摘要: MIT 6.828 Lab02 前期准备 切换git环境 切回lab1分支,提交了lab1 在mit-6.828的提交页申请了提交API key Exercise 01 首先需要理解物理内存的分布 内存分为用户空间和内核空间 4G的进程地址空间被人为的分为两个部分--用户空间与内核空间。用户空间从0 阅读全文
posted @ 2020-08-18 14:50 Cindy's 阅读(782) 评论(0) 推荐(0) 编辑
摘要: Part 03 The kernel 关于Kernel的链接地址和运行地址 OS 习惯于linked and run at 高地址,把低地址留给user program 利用processor 的memory management hardware 实现物理地址(load address)到虚拟地址 阅读全文
posted @ 2020-08-18 14:35 Cindy's 阅读(429) 评论(0) 推荐(1) 编辑
摘要: Exercise 03 - obj/boot/boot.asm 反汇编文件 截取asm部分文件并注释理解 # Set up the important data segment registers (DS, ES, SS). xorw %ax,%ax # Segment number zero 7c 阅读全文
posted @ 2020-08-18 14:27 Cindy's 阅读(523) 评论(0) 推荐(0) 编辑