第一章
下载bochs
1 | 下载bochs的2.6.2版本 |
第二章
知识点
概念性
CPU的硬件电路被设计成只能运行处于内存中的程序。
动态:存储介质由于本身电气元件的性质,需要动态刷新【补充电】
CPU可访问的地址 != 物理内存
CPU提交地址 => 根据地址范围,地址被映射到不同存储设备 => ROM、显存、内存条等
魔数:没有明确定义的数
$:表示当前行
$$:表示本section的地址
bin文件:纯二进制
BIOS
全称:Base Input & Output System【基本输入输出系统】
主要工作:检测、初始化硬件和建立中断向量表,
是计算机第一个运行的程序
由硬件加载
BIOS被加载到ROM低端1MB【0xf0000 ~ 0xfffff】
BIOS入口地址:0xffff0【开机时,cs:ip寄存器被强制初始化为0xf000:0xfff0】
入口地址的指令:jmp far f000:e05b【BIOS代码真正开始的地方】
磁盘扇区表示法
CHS方法
- 柱面(Cylinder):所有盘面上,编号相同的磁道集合
- 磁头(Header):一张盘有上下两个盘面,一个盘面对应一个磁头 => 使用磁头表示盘面
- 扇区(Sector):磁道划分的小区间【扇区编号从1开始】
LBA方法
【扇区编号从0开始】
MBR
主引导记录
存在0盘0道1扇区【磁盘的第一个扇区】
- 扇区末尾两个字节是0x55和0xaa
- 物理地址0x7c00【存储于最小内存32KB最后部分,且需保证自身可以运行1KB => 0x8000 - 0x400 = 0x7c00】
- 大小:必须为512字节 => 保证扇区末尾两个字节是0x55和0xaa
dd命令
用于磁盘操作
1 | dd if=读取文件路径 of=输出文件路径 bs=块大小 count=拷贝的块数 conv=notrunc(文件转换方式:不打断文件) |