MIT6.828 主要内容

Lab 1: Booting a PC

这个实验室分为三个部分。第一部分的重点是熟悉x86汇编语言、QEMU x86模拟器和PC的开机引导过程。第二部分将检查我们的6.828内核的引导加载程序,它位于lab树的引导目录中。最后,第三部分深入研究了6.828内核本身的初始模板,名为JOS,位于kernel目录中。

主要是PC的启动部分的内容:其中包含BIOS、Boot Loader之间所作的事情,还有就是对于内核的了解

Lab 2: Memory Management

在这个实验中,你将为你的操作系统编写内存管理代码。内存管理有两个组件。

第一个组件是内核的物理内存分配器,使内核可以分配内存并稍后释放内存。分配器的工作单位是4096字节(2的12次方——4KB),称为页。你的任务是维护数据结构,记录哪些物理内存页是空闲的,哪些物理内存页是已分配的,以及有多少进程正在共享每个已分配的内存页。大家还将编写分配和释放内存页的例程。

内存管理的第二个部分是虚拟内存,它将内核和用户软件使用的虚拟地址映射到物理内存中的地址x86硬件的内存管理单元(MMU)在指令使用内存时执行映射,查阅一组页表。用户可以修改JOS,根据我们提供的规范建立MMU的页表

分页内存管理 物理页管理 按页分配内存 页目录和页表的管理

Lab 3: User Environments

在本实验中,您将实现运行受保护的用户态环境(即“进程”)所需的基本内核设施。您将增强JOS内核,以设置数据结构来跟踪用户环境、创建单个用户环境、将程序映像加载到环境中并启动它运行。您还将使JOS内核能够处理用户环境发出的任何系统调用,并处理它引起的任何其他异常。

注意:在本实验中,环境和进程这两个术语是可以互换的——它们都指的是允许你运行程序的抽象。我们引入“环境”这个术语,而不是传统的“进程”,是为了强调JOS环境和UNIX进程提供了不同的接口,并且没有提供相同的语义。

第A部分:用户环境和异常处理

环境状态

分配环境数组

创建和运行环境

处理中断和异常

保护控制转移的基础知识

异常和中断的类型

嵌套的异常和中断

设置IDT

B部分:缺页异常、断点异常和系统调用

处理页错误

断点异常

系统调用

用户模式启动

缺页异常和内存保护

Lab 4: Preemptive Multitasking

实验4:先发制人的多任务处理

在本实验中,您将在多个同时活跃的用户模式环境中实现抢占式多任务处理

在A部分中,我们将为JOS添加多处理器支持,实现轮询调度,并添加基本的环境管理系统调用(创建和销毁环境的调用,以及分配/映射内存的调用)。

在B部分中,我们将实现一个类似unix的fork()它允许用户态环境创建自身的副本。

最后,在C部分,你将添加对进程间通信(IPC)的支持,允许不同的用户模式环境显式地相互通信和同步。您还将添加对硬件时钟中断和抢占的支持

Part A: Multiprocessor Support and Cooperative Multitasking

多处理器支持

应用处理器引导程序

Per-CPU状态和初始化

Locking

循环调度

系统调用用于创建环境

Part B: Copy-on-Write Fork

B部分:写时复制Fork

用户级页错误处理

设置页面异常处理程序

用户环境中的正常和异常堆栈

调用用户页面错误处理程序

用户模式页面错误入口点

测试

实现写时复制Fork

Part C: Preemptive Multitasking and Inter-Process communication (IPC)

C部分:抢占式多任务和进程间通信(IPC)

时钟中断和抢占

中断纪律

处理时钟中断

进程间通信(IPC)

JOS中的IPC

发送和接收消息

传输页

实现IPC

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MIT 6.828是一门关于xv6操作系统的课程,该课程提供了关于xv6操作系统的中文指南和实验室。 xv6是一个操作系统的教学版本,MIT 6.828课程提供了xv6全文的翻译成书供学习使用。 在课程中,还提供了一些实验,供学生进行实践和学习。 关于xv6的具体实现细节,根据引用中的内容,在user.h文件中可以找到函数的定义。需要在date.c的代码中补充相应的函数。 另外,引用中提供了一个样例过程,展示了一系列操作的执行顺序,包括fork、exec、open、close、write等。这个样例过程可以帮助理解xv6操作系统的运行机制。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [MIT-6.828:MIT 6.828操作系统课程](https://download.csdn.net/download/weixin_42139357/15728097)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [MIT6.828 Homework3 xv6 system calls](https://blog.csdn.net/qq_43012789/article/details/107746030)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值