概述 本实验分为三部分。第一部分集中在熟悉x86汇编语言,QEMU x86模拟器,以及PC的开机启动过程。第二部分考察6.828内核(即JOS)的启动加载器,它位于目录boot中。最后,第三部分深入研究JOS自身的初始模板,它位于目录kern中。我的实验环境是Ubuntu 18.04,安装课程所需要 ...
分类:
其他好文 时间:
2020-08-05 00:09:29
阅读次数:
103
Introduction In part A we should add multiprocessor support to JOS, implement round-robin scheduling, and add basic environment management system call ...
分类:
其他好文 时间:
2020-07-11 23:16:57
阅读次数:
101
"Lab1:" 简介 本实验分为三个部分。 第一部分着重于熟悉x86汇编语言,QEMU x86仿真器和PC的开机引导程序。 第二部分检查了6.828内核的引导加载程序,该加载程序位于实验室树的引导目录中。 最后,第三部分深入研究了6.828内核本身的初始模板,名为JOS,它位于内核目录中。 源码下载 ...
分类:
其他好文 时间:
2020-02-17 19:53:53
阅读次数:
63
"MIT 6.828 JOS 环境搭建" "ELF文件格式" "lab1:C, Assembly, Tools, and Bootstrapping" "lab2:Memory management" "lab3:User Environments" "lab4:Preemptive Multita ...
分类:
其他好文 时间:
2019-12-21 00:20:38
阅读次数:
124
在MIT JOS lab4的实验中,为了能够在用户态自定义处理页面错误,我们必须要知道操作的页面的属性(是否当前用户具有读写权限、是否copy on write页面),这就需要查询指向当前物理页面的页表项和目录表项获取它的属性 在之前的实验中,我们已经通过 修改 的目录表项,用此操作允许用户读取任一 ...
分类:
其他好文 时间:
2019-04-18 18:32:44
阅读次数:
183
Part C:抢占式多任务处理和进程间通信(IPC) 注:根据MIT JOS的lab指导手册,以下不明确区分“环境”和“进程” 重要提醒:每次实现完系统调用,记得补充 的`syscall()`!!!!!!! 在lab4的最后一部分,我们将修改内核以支持抢占不合作环境拥有的资源并允许进程间通信 时钟中 ...
分类:
其他好文 时间:
2019-04-18 14:44:43
阅读次数:
148
Part B:缺页异常,断点异常和系统调用 到目前位置我们以及你实现了内核基本的异常处理,现在要在此基础上利用异常处理进行系统调用。 处理缺页异常 缺页异常(page fault,中断向量14)是我们在本实验和往后会大量使用的一个重要例子。当缺页异常发生时,处理器将导致故障的线性地址(虚拟地址)存放 ...
分类:
其他好文 时间:
2019-04-14 15:54:49
阅读次数:
114
Part A:用户环境和异常处理 用户环境创建 本节中我们将实现一些内核的基本工具来支持受保护的用户进程的运行。我们将增加JOS内核的功能,为它增加一些数据结构来追踪用户进程的一些信息;创建一个单一用户的环境,并在其中加载运行一个程序。我们也会使JOS内核处理用户进程做出的任何系统调用和它导致的任何 ...
分类:
其他好文 时间:
2019-04-11 14:44:20
阅读次数:
196
系统: 6.828 / Fall 2014 这个,不用我多介绍了吧,xv6 和jos 的代码都值得好好读的。 6.858 / Fall 2014 / Schedule 这是很多人忽视的6.858, computer system security方面的,lab都做完以后真·受益匪浅,还有video和 ...
分类:
其他好文 时间:
2018-12-01 18:37:30
阅读次数:
406
Lab 5: File system, Spawn and Shell tags: mit 6.828 os 概述 本lab将实现JOS的文件系统,只要包括如下四部分: 1. 引入一个 文件系统进程(FS进程) 的特殊进程,该进程提供文件操作的接口。 2. 建立RPC机制 ,客户端进程向FS进程发送 ...
分类:
系统相关 时间:
2018-11-13 10:28:17
阅读次数:
242