Jos - lab1 Boot the PC

Start up flow of PC:

1. BIOS

    a. At the very beginning, BIOS will load 512-byte boot sector into [0x7c00,0x7dff);

    b. Then set CS:IP = 0000:7C00

2. Boot loader

    a. Switch from real mode (16 bit) to protected mode (32 bit), mainly by setting gdtr.

    b. Load kernel image from hard disk.

         ((void (*)(void))(ELFHDR->e_entry())();      // Check the kernel image, it's 0x0010000c

3. Kernel

    a. In kern/entry.S, it will turn on MMU first, set cr3 & cr0 with entry_pgdir

    b. Set esp and ebp.

    c. i386_init()

i386_init()
|--> cons_init()
|    |--> cga_init()
|    |--> kbd_init()
|    |--> serial_init()
|--> mem_init()
|--> env_init()
|--> trap_init()
|--> mp_init()
|--> lapic_init()
|--> pic_init()
|--> boot_aps()
|--> env_create()


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值