第6章-引导启动程序

    1529373063852.png

    • 这里再一次体现了Linus对GNU工具的依赖,所以当之无愧应该叫GNU/Linux
    • 知道1994年GNU as才开始支持16位代码专用伪指令.code16
    • 直到2.4内核才统一使用as来编写启动代码

    1528848828332.png

    1528851975844.png

    • 从0x7c00到0x000A,0000都是可以直接使用,不在BIOS部署的特定地址用途地址空间。640KB-50B

    1528850976538.png

    1528853149504.png

    • CPU在进入保护模式之前需要设定IDT表,因此在setup.S设定了一个长度为0的空表。
    • 原来的启动扇区加载的地方用来存放使用BIOS中断获取到的参数

    1530935343694.png

    • 通过BIOS获取一大波参数,同时低级初始化一波设备
    • 中断控制器,这里讲的非常简单通俗易懂,看了就懂,没毛病

    1528854509909.png

    1528856210406.png