原文:MIT 6.828 JOS学习笔记18. Lab 3.2 Part B: Page Faults, Breakpoints Exceptions, and System Calls

现在你的操作系统内核已经具备一定的异常处理能力了,在这部分实验中,我们将会进一步完善它,使它能够处理不同类型的中断 异常。 Handling Page Fault 缺页中断是一个非常重要的中断,因为我们在后续的实验中,非常依赖于能够处理缺页中断的能力。当缺页中断发生时,系统会把引起中断的线性地址存放到控制寄存器 CR 中。在trap.c 中,已经提供了一个能够处理这种缺页异常的函数page fau ...

2016-05-17 21:07 3 3588 推荐指数:

查看详情

MIT 6.828 JOS学习笔记10. Lab 1 Part 3: The kernel

Lab 1 Part 3: The kernel   现在我们将开始具体讨论一下JOS内核了。就像boot loader一样,内核开始的时候也是一些汇编语句,用于设置一些东西,来保证C语言的程序能够正确的执行。 使用虚拟内存   在运行boot loader时,boot loader中的链接 ...

Tue Mar 08 23:53:00 CST 2016 1 3818
MIT 6.828 JOS学习笔记1. Lab 1 Part 1: PC Bootstrap

Lab 1: Booting a PC Part 1: PC Bootstrap   介绍这一部分知识的目的就是让你能够更加熟悉x86汇编语言,以及PC启动的整个过程,而且也会首次学习使用QEMU软件来仿真xv6操作系统,并且配合GDB对操作系统的运行进行调试。 开始学习X86汇编语言 ...

Wed Dec 23 06:41:00 CST 2015 7 8694
MIT 6.828 JOS学习笔记4. Lab 1 Part 2.1: The Boot Loader

Part 2: The Boot Loader 对于PC来说,软盘,硬盘都可以被划分为一个个大小为512字节的区域,叫做扇区。一个扇区是一次磁盘操作的最小粒度。每一次读取或者写入操作都必须是一个或多个扇区。如果一个磁盘是可以被用来启动操作系统的,就把这个磁盘的第一个扇区叫做启动扇区。这一部分介绍 ...

Thu Feb 25 20:59:00 CST 2016 0 2918
MIT 6.828 JOS学习笔记7. Lab 1 Part 2.2: The Boot Loader

Lab 1 Part 2 The Boot Loader Loading the Kernel 我们现在可以进一步的讨论一下boot loader中的C语言的部分,即boot/main.c。但是在我们分析之前,我们应该先回顾一些关于C语言的基础知识。 Exercise 4:   阅读 ...

Fri Feb 26 20:58:00 CST 2016 1 2197
MIT 6.828 JOS学习笔记17. Lab 3.1 Part A User Environments

Introduction   在这个实验中,我们将实现操作系统的一些基本功能,来实现用户环境下的进程的正常运行。你将会加强JOS内核的功能,为它增添一些重要的数据结构,用来记录用户进程环境的一些信息;创建一个单一的用户环境,并且加载一个程序运行它。你也可以让JOS内核能够完成用户环境所作 ...

Mon May 02 07:28:00 CST 2016 1 4818
MIT 6.828 JOS学习笔记2. Lab 1 Part 1.2: PC bootstrap

Lab 1 Part 1: PC bootstrap   我们继续~ PC机的物理地址空间   这一节我们将深入的探究到底PC是如何启动的。首先我们看一下通常一个PC的物理地址空间是如何布局的:         这张图仅仅展示了内存空间 ...

Sun Dec 27 00:09:00 CST 2015 2 6226
MIT 6.828 JOS学习笔记16. Lab 2.2

Part 3 Kernel Address Space JOS把32位线性地址虚拟空间划分成两个部分。其中用户环境(进程运行环境)通常占据低地址的那部分,叫用户地址空间。而操作系统内核总是占据高地址的部分,叫内核地址空间。这两个部分的分界线是定义在memlayout.h文件中的一个宏 ULIM ...

Thu Mar 31 10:58:00 CST 2016 2 3987
MIT 6.828 JOS学习笔记15. Lab 2.1

Lab 2: Memory Management   lab2中多出来的几个文件:   inc/memlayout.h   kern/pmap.c   kern/pmap.h   kern/kclock.h   kern/kclock.c   memlayout.h描述了虚拟地址 ...

Thu Mar 24 01:45:00 CST 2016 3 6133
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM