计算机的启动过程
-
计算机的加电和复位
对于INTEL 8086来说,复位将使代码段寄存器(CS)的内容为0xFFFF,其他所有寄存器的内容都为0x0000,也就是说复位后,计算机运行物理地址0xFFFF0处的指令 -
ROM-BIOS
ROM-BIOS:0xF0000~0xFFFFF
DRAM:0x00000~0x9FFFF
中间部分分给了其他外围设备 -
硬盘及其工作原理
- 磁头(Head):编号从0开始,第1个盘片,上面的磁头编号为0,下面的磁头编号为1;第2个盘片,上面的磁头编号为2,下面的磁头编号为3,依次类推
- 磁道(Track):编号从盘面最边缘的那条磁道开始,向着圆心的方向,从0开始编号
- 柱面((Cylinder):每个盘面上的同一条磁道形成的一个虚拟的圆柱,硬盘的访问是按柱面进行的。
- 扇区(Sector):扇区的编号是从1开始的,每条磁道能够划分为几个扇区,取决于磁盘的制造者,但通常为63个。每个扇区以扇区头开始,然后是512字节的数据区,扇区头包含本扇区的磁道号、磁头号和扇区号,用来定位。现代的硬盘还会在扇区头部包括一个指示扇区是否健康的标志,以及用来替换该扇区的扇区地址。用于替换扇区的,是一些保留和隐藏的磁道。硬盘的读写是以扇区为单位的
- CHS模式:采用磁头、磁道和扇区这种模式来访问硬盘
- LBA(Logical Block Address):LBA模式不考虑扇区的物理位置(磁头号、磁道号),而是把它们全部组织起来统一编号。在这种编址方式下,原先的物理扇区被组织成逻辑扇区,且都有唯一的逻辑扇区号
LBA = C*磁头总数*每道扇区数+H*每道扇区数+(S-1)
C:磁道 H:磁头 S:扇区号
- 从哪里启动
- 主引导扇区:硬盘的第一个扇区(0面0道1扇区)
ROM-BIOS读取主引导扇区的内容并将它加载到内存地址0x0000:0x7c00,然后用jmp指令跳转到那里接着执行
- 主引导扇区:硬盘的第一个扇区(0面0道1扇区)
创建和使用虚拟机
往虚拟硬盘的第一个扇区写入数据并执行虚拟机