MIT-6.828 Lab1实验报告
Lab1:Booting a PC 本文主要介绍lab1,从内容上分为三部分,part1简单介绍了汇编语言,物理内存地址空间,BIOS。part2介绍了BIOS从磁盘0号扇区读取boot loader到0000:7c00处,并将cs:ip设置成0000:7c00。boot loader主要做两件事: 创建两个全局描述符表项(代码段和数据段),然后进入保护模式 从磁盘加载kernel到内存 part3主要介绍进入内核后的一些操作,首先会开启分页模式。还介绍了格式化输出,函数调用过程。 对应的lab主页为: lab1 Part 1: PC Bootstrap 本课程使用的汇编使用AT&T语法, Brennan's Guide to Inline Assembly 给出Intel语法和AT&T语法之间的一些对应关系。 物理地址内存空间可用下图来描述: +------------------+ <- 0xFFFFFFFF (4GB) | 32-bit | | memory mapped | | devices | | | /\/\/\/\/\/\/\/\/\/\ /\/\/\/\/\/\/\/\/\/\ | | | Unused | | | +------------------+ <- depends on amount of RAM | | | | | Extended Memory