摘要: MIT 6.828 Lab 6: Network Driver (default final project) tags: mit 6.828 os 概述 本lab是6.828默认的最后一个实验,围绕 网络 展开。主要就做了一件事情。 从0实现网络驱动。 还提到一些比较重要的概念: 1. 内存映射I 阅读全文
posted @ 2018-12-06 23:15 gatsby123 阅读(3300) 评论(0) 推荐(1) 编辑
摘要: Lab 5: File system, Spawn and Shell tags: mit 6.828 os 概述 本lab将实现JOS的文件系统,只要包括如下四部分: 1. 引入一个 文件系统进程(FS进程) 的特殊进程,该进程提供文件操作的接口。 2. 建立RPC机制 ,客户端进程向FS进程发送 阅读全文
posted @ 2018-11-13 10:08 gatsby123 阅读(4354) 评论(0) 推荐(1) 编辑
摘要: Lab 4: Preemptive Multitasking tags: mit 6.828, os 概述 本文是lab4的实验报告,主要围绕 进程 相关概念进行介绍。主要将四个知识点: 1. 开启多处理器。现代处理器一般都是多核的,这样每个CPU能同时运行不同进程,实现并行。需要用锁解决多CPU的 阅读全文
posted @ 2018-11-08 17:53 gatsby123 阅读(5358) 评论(0) 推荐(3) 编辑
摘要: Lab 3: User Environments实验报告 tags:mit 6.828 os 概述: 本文是lab3的实验报告,主要介绍JOS中的进程,异常处理,系统调用。内容上分为三部分: 1. 用户环境建立,可以加载用户ELF文件并执行。(目前还没有文件系统,需要在内核代码硬编码需要加载的用户程 阅读全文
posted @ 2018-10-23 18:19 gatsby123 阅读(6445) 评论(1) 推荐(3) 编辑
摘要: MIT 6.828 Lab 2: Memory Management实验报告 tags:mit 6.828 os 概述 本文主要介绍lab2,讲的是操作系统内存管理,从内容上分为三部分: 1. 第一部分讲的是物理内存管理,要进行内存管理首先需要知道哪些物理内存是空闲的,哪些是被使用的。还需要实现一些 阅读全文
posted @ 2018-10-22 19:34 gatsby123 阅读(6604) 评论(3) 推荐(1) 编辑
摘要: Lab1:Booting a PC 概述 本文主要介绍lab1,从内容上分为三部分,part1简单介绍了汇编语言,物理内存地址空间,BIOS。part2介绍了BIOS从磁盘0号扇区读取boot loader到0000:7c00处,并将cs:ip设置成0000:7c00。boot loader主要做两 阅读全文
posted @ 2018-10-09 11:11 gatsby123 阅读(9294) 评论(1) 推荐(1) 编辑
摘要: ELF文件(Executable Linkable Format)是一种文件存储格式。Linux下的目标文件和可执行文件都按照该格式进行存储,有必要做个总结。 概要 本文主要记录总结32位的Intel x86平台下的ELF文件结构。ELF文件以Section的形式进行存储。代码编译后的指令放在代码段 阅读全文
posted @ 2018-10-07 15:12 gatsby123 阅读(16175) 评论(0) 推荐(5) 编辑
摘要: MIT 6.828是操作系统中最经典的一门课程。完成所有的lab就相当于完成了一个迷你的操作系统。我跟的是2018年的课程,课程首页在 "6.828课程官网" 。当然所有资料都是英文的,所以难度也不低,这里推荐几本非常有用的参考书:《x86汇编语言 从实模式到保护模式》,《程序员的自我修养 链接、装 阅读全文
posted @ 2018-10-05 22:52 gatsby123 阅读(14812) 评论(7) 推荐(3) 编辑