引导

作者: minlover | 来源:发表于2017-06-04 10:08 被阅读29次

    1、计算机加电or Reset后:

    处理器工作在实模式、分页机制关闭

    CS(代码段寄存器)选择符为0xF000、基址为0xFFFF0000,EIP初值为0x0000FFF0

    第一条指令地址为0xFFFFFFF0,位于一块Flash Memory中,,是一个长跳转指令,是BIOS入口。


    2、①BIOS有两个地址0xFFFFFFF0和0xFFFF0,访问的地方相同,为一个长跳转指令。

    ②保护模式中,指令地址=CS段基地址+EIP;实模式中,指令地址=CS<<4+EIP。

    系统开机时在实模式,采用保护模式的计算方式,因为只有CS被重载之后才会是用实模式计算地址。

    ③0xFFFFFFF0处的长跳转 --> CS=0xf000,IP=0xe05b,所以下一条指令在0xfe05b。

    之后按照实模式地址计算方式。


    3、BIOS将系统基本配置信息记录在BIOS数据区0~4KB

    BIOS将引导设备第一扇区(主引导记录MBR)读到内存0x7C00处,然后执行第一上去上的引导程序。(制度一个扇区,若一个扇区不够再自己读)

    磁盘第0扇区主引导记录MBR:一段引导程序bootloder和一个分区表。

    显存在0xB800??????????????????????????????????????????


    4、引导程序bootloader将操作系统(内核)读入到内存中。

    (1)内核应该存放在1M以上。(1M=0x100000) 内核是ELF文件

    访问1M以上的内存 --> 先将处理器切换到保护模式。(将CR0.PE置1)

    (2)切换到保护模式之前建好GDT表(全局描述符表),至少一个代码段一个数据段


    5、传参的两种方式:①(约定内存)堆栈   ②寄存器

    6、控制器初始化

    内存初始化:①重新做GDT表 --> 引导程序中只做了两个段并且引导程序完成后就回收了,内存GDT有内核代码段、内核数据段、用户代码段、用户数据段、任务状态段(用于中断切换)

    ②做好中断控制器(一开中断就来了)

    相关文章

      网友评论

      • loinliao:请问你是看得什么书/资料?
        minlover:因为是期末考主要是看的老师给的ppt,如果是考研复习推荐《高分笔记》

      本文标题:引导

      本文链接:https://www.haomeiwen.com/subject/jdlvfxtx.html