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
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值