欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

操作系统的引导(个人笔记)

程序员文章站 2022-06-19 16:49:38
...

计算机在接电后,运行的是bios,bios是运行在主板的一个小程序,然后bios将找到MBR(Main Boot Record 主引导程序),MBR存在于硬盘最开始的扇区,0盘0道1扇区,MBR引导扇区中内容:

  1. 446字节引导程序以及参数;
  2. 64字节的分区表;
  3. 2字节结束标记0x55 和 0xaa

MBR负责找次引导程序。

每个分区占16字节,故有4个分区表,这四个分区中有次引导程序,MBR遍历这四个分区,将系统控制权交给次引导程序。
次引导程序是操作系统提供的的加载器,由加载器完成操作系统的自举。

注:约定好:活动分区位于0x80

OBR(OS Boot Record)内核加载引导扇区,在OBR扇区前三个字节存放了跳转指令,MBR找到活动分区后,就跳到OBR引导扇区起始位置,OBR扇区前三个指令存放的是跳转指令。
OBR:
1.跳转指令
2.厂商信息,版本
3.BIOS参数块
4.操作系统引导程序
5.结束标记0x55,0xaa

通电开机后,BIOS调用int 0x19h
找到任何可用磁盘,就把它第一个扇区加载到0x7c00。

主引导程序代码段

SECTION MBR vstart = 0x7c00
mov ax,cs
mov ds,ax
mov es,ax
mov ss,ax
mov fs,ax
mov sp,0x7c00

mov ax,0x600
mov bx,0x700
mov cx,0
mov dx,0x184f

int 0x10

mov ah,3
mov bh,0

int 0x10


mov ax,message
mov bp,ax

mov cx,5
mov bp,ax
mov cx,5
mov ax,0x1301

mov bx,0x2

int 0x10

jmp $

message db "this is mbr"
times 510-($-$$) db 0
db 0x55,0xaa
相关标签: OS 操作系统