Part 2 目录 Part 2 学习理论知识 反汇编 扇区 BIOS 启动过程总结 Boot loader启动过程总结 A20 gate 读boot/boot.S 和 boot/boot.c源码 - boot/boot.S - boot/mian.c 学习理论知识 反汇编 把机器语言转换为汇编语言代码 扇区 对于PC来说,软盘,硬盘都可以被划分为一个个大小为512字节的区域,叫做扇区.一个扇区是一次磁盘操作的最小粒度.每一次读取或者写入操作都必须是一个或多个扇区.如果一个磁盘是可以被用来启动操…
<MIT 6.828 Lab1: Booting a PC>实验报告 本实验的网站链接见:Lab 1: Booting a PC. 实验内容 熟悉x86汇编语言.QEMU x86仿真器.PC开机引导流程 测试6.828 内核的启动加载器(boot loader) 研究6.828 内核的初始化模板(JOS) 实验题目 注意:部分Exercise的解答过程较长,因此专门新建一个文档来记录解答过程,而在本文中给出其链接. Exercise 1:阅读汇编语言资料 Exercise 1. Familia…
Lab01:Booting a PC 目录 Lab01:Booting a PC JOS BIOS 背景知识 8086的基本知识 GDB 常用调试指令 Real mode && Protected mode 实模式(real mode) 保护模式(protected mode) GDT/LDT JOS the initial template for our 6.828 kernel itself, named JOS BIOS basic input output system 在IBM…
Lab 1 Part 1: PC bootstrap 我们继续~ PC机的物理地址空间 这一节我们将深入的探究到底PC是如何启动的.首先我们看一下通常一个PC的物理地址空间是如何布局的:                           这张图仅仅展示了内存空间的一部分. 第一代PC处理器是16位字长的Intel 8088处理器,这类处理器只能访问1MB的地址空间,即0x00000000~0x000FFFFF.但是这1MB也不是用户都能利用到的,只有低640KB(0x00000000~0x00…
Lab 1: Booting a PC Part 1: PC Bootstrap 介绍这一部分知识的目的就是让你能够更加熟悉x86汇编语言,以及PC启动的整个过程,而且也会首次学习使用QEMU软件来仿真xv6操作系统,并且配合GDB对操作系统的运行进行调试. 开始学习X86汇编语言 由于x86汇编语言在我们这节实验中扮演了非常重要的角色,所以MIT官方为我们提供了一个关于汇编语言的参考资料"004. pcasm-book"(资料文件名,在resources目录下),里面基本介绍了汇编语…
0. 简介 操作系统是计算机科学中十分重要的一门基础学科,是一名计算机专业毕业生必须要具备的基础知识.但是在学习这门课时,如果仅仅把目光停留在课本上一些关于操作系统概念上的叙述,并不能对操作系统有着深层次的理解.必须要结合动手实践,才能真正掌握核心的知识. MIT的操作系统课程6.828是一门被广泛好评的入门课程.它最重要的特点就是它实践第一的教学原则.在这门课程中会涉及到非常丰富的实验,也会有非常多的动手机会.而且授课者更是亲自构建了一个简化的基于Unix内核的操作系统xv6.所有的实验都是在…
本作业的网站链接:MIT 6.828 Homework 1: boot xv6 问题 Exercise: What is on the stack? While stopped at the above breakpoint, look at the registers and the stack contents: (gdb) info reg ... (gdb) x/24x $esp ... (gdb) Write a short (3-5 word) comment next to eac…
本实验的网站链接:mit 6.828 lab1 Exercise 3. 题目 Exercise 3. Take a look at the lab tools guide, especially the section on GDB commands. Even if you're familiar with GDB, this includes some esoteric GDB commands that are useful for OS work. Set a breakpoint at…
本实验链接:mit 6.828 lab1 Exercise2. 题目 Exercise 2. Use GDB's si (Step Instruction) command to trace into the ROM BIOS for a few more instructions, and try to guess what it might be doing. You might want to look at Phil Storrs I/O Ports Description, as we…
MIT 6.828 课程介绍 本文是对MIT 6.828操作系统课程介绍的简单摘录,详细介绍见6.828: Learning by doing以及朱佳顺的推荐一门课:6.828.学习资源均可以在课程主页找到,包括课程讲义.源代码.工具使用.实验作业等.2017年的课程主页中没有教学视频,想看视频的可以在2011年的课程主页中找.(无字幕,再加上我英语听力很差,基本听不懂......) what you will learn virtual memory, kernel and user mode…