MIT6.828 JOS系统 lab2】的更多相关文章

MIT6.828 LAB2:http://pdos.csail.mit.edu/6.828/2014/labs/lab2/ LAB2里面主要讲的是系统的分页过程,还有就是简单的虚拟地址到物理地址的过程.关于系统分页,在MIT6.828 虚拟地址转化为物理地址——二级分页:http://blog.csdn.net/fang92/article/details/47320747中有讲. 下面主要是lab2的几个exercise的解题过程. 1.第一个boot_alloc()函数: static vo…
本文将介绍如何在macOS下配置MIT6.828 JOS实验的环境. 写JOS之前,在网上搜寻JOS的开发环境,很多博客和文章都提到"不是32位linux就不好配置,会浪费大量时间在配置环境"上之类的论调.故前期开发直接使用了32位ubuntu系统,并做了共享文件系统,背景开一个ubuntu虚拟机进行编译. 最近实在无法忍受背景开虚拟机那恐怖的耗电量和发热量,尝试将开发环境移到macOS下,竟发现非常的简单. Tools we need 在搭建环境之前,首先macOS上需要有以下两个工…
这个分页,主要是在mit6.828的lab2的背景下来说的. Mit6.828 Lab2:http://pdos.csail.mit.edu/6.828/2014/labs/lab2/ lab2主要讲虚拟内存->物理内存的变换,通过一定的函数来实现软件MMU的部分. 整个地址转化的过程如下图所示: 首先,明确一点,在程序里面的所有地址,都是虚拟地址,程序里面是不会出现物理地址的,就算是物理地址,CPU也会把它当做虚拟地址,通过MMU转化为物理地址. 通过上面的图,可以知道,在系统中,CPU得到一…
Lab 1 Part 1: PC bootstrap 我们继续~ PC机的物理地址空间 这一节我们将深入的探究到底PC是如何启动的.首先我们看一下通常一个PC的物理地址空间是如何布局的:                           这张图仅仅展示了内存空间的一部分. 第一代PC处理器是16位字长的Intel 8088处理器,这类处理器只能访问1MB的地址空间,即0x00000000~0x000FFFFF.但是这1MB也不是用户都能利用到的,只有低640KB(0x00000000~0x00…
本文介绍在MacOS下搭建Mit6.828/6.S081 fall2019实验环境的详细过程,包括riscv工具链.qemu和xv6,对于Linux系统同样可以参考. 介绍 只有了解底层原理才能写好上层应用,曾经几度想要系统地学习OS课程,尝试去看了<计算机操作系统>.<Operating Systems: Three Easy Pieces>.<UNIX环境高级编程>,均以半途而废告终.被大量的抽象概念所淹没,对操作系统如何工作,用户程序如何运行,与CPU等硬件如何交…
Lab Tools 目录 Lab Tools 写在前面 GDB GNU GPL (通用公共许可证) QEMU ELF 可执行文件的格式 Verbose mode Makefile 写在前面 操作系统小学期选择了做mit6.828的lab,非常具有挑战性!希望可以记录下学习的内容和自己努力进步的点滴~ GDB linux 程序调试工具 gdb的目的主要是让你知道程序内部正在运行什么代码,或者是当程序崩溃的时候正在执行什么代码 GDB主要可以做四种事情来帮助你找到bug: 启动你的程序,指定任意可以…
title:[MIT6.828]centos7下使用Qemu搭建xv6运行环境 date: "2020-05-05" [MIT6.828]centos7下搭建xv6运行环境 1. 基础依赖 yum install libX11 libX11-devel SDL2 SDL2-devel -y 2. 编译和安装 QEMU ~]# wget https://download.qemu.org/qemu-4.2.0.tar.xz ~]# xz -d qemu-4.2.0.tar.xz &…
Lab2 0. 任务介绍 你将编写一个内存管理代码.主要分为两大部分.分别对物理内存和虚拟内存的管理. 对于物理内存,每次分配内存分配器会为你分配4096bytes.也称为一个页(在大部分操作系统中一个页的大小都是4B)你需要维护一个数据结构来记录哪个物理页是空闲的哪个物理页是已被占用的.以及有多少进程共享已分配的页.并且你需要编写程序来进行内存的分配和回收 对于虚拟内存,它将内核和用户软件使用的虚拟地址映射到物理内存中的地址. x86硬件的内存管理单元(MMU)在指令使用内存时执行映射,查阅一…
Question: 做lab过程中越来越迷糊,为什么一会儿虚拟地址是4G 物理地址也是4G ,那这有什么作用呢? 解决途径: 停下来,根据当前lab的进展,再回头看上学期操作系统的ppt & 上网冲浪查资料!意识到自己对于分段机制理解不够. 最强总结:https://www.cnblogs.com/tolimit/p/4775945.html?utm_source=tuicool&utm_medium=referral 解决过程: 分段机制主要功能只有两点: 将物理内存划分为多个段,让操作…
Introduction 在这个实验中,我们将实现操作系统的一些基本功能,来实现用户环境下的进程的正常运行.你将会加强JOS内核的功能,为它增添一些重要的数据结构,用来记录用户进程环境的一些信息:创建一个单一的用户环境,并且加载一个程序运行它.你也可以让JOS内核能够完成用户环境所作出的任何系统调用,以及处理用户环境产生的各种异常. Part A: User Environments and Exception Handling 新包含的文件inc/env.h里面包含了JOS内核的有关用户环境(…