• 0.00-050613_zc


    1、

    ROM bios --> 启动盘第一个扇区(此处内容为boot) 加载到 内存位置0x7C00(31KB) --> 执行权转移(也就相当于跳转)

      boot程序主要功能:把 软盘/映像文件 中的 head内核代码加载到内存某个指定位置处,并在设置好临时GDT表等信息后,把处理器设置成运行在保护模式下,然后跳转到 head 代码处去运行内核代码。

    ROM bios 中断 int 0x13 --> 0x10000[64KB] --> 0x00 --> CR0 --> jmp 0x00

    ROM BIOS 中断向量表:0x00,ROM BIOS数据区:内存 1K开始处。

    也可以 直接运行 0x10000处的 head代码 而不移动它。

    2、

    head.s 运行在 32位保护模式下,主要包括:

      初始设置的代码(①重新设置GDT表;②设置系统定时器芯片;③重新设置IDT表 并且设置时钟和系统调用中断门;④移动到任务A中执行)、

      时钟中断 int 0x08 的过程代码、

      系统调用中断 int 0x80 的过程代码、

      任务A 和 任务B 等的代码和数据、

    虚拟地址空间中 head.s 程序的内核代码和任务代码分配图 如图4-41所示。

    3、

    章节 ==> 4.9.1多任务程序结构和工作原理

    图4-42 的内存分配是 下面是内存低位,上面是内存高位。

  • 相关阅读:
    django 之(一) --- DjangoRestFormwork
    工具 --- Git理解
    部署 --- Docker使用
    django 之(三) --- 会话|关系|静态*
    flask 之(七) --- 认证|文件|部署
    系统 --- Linux系统环境搭建
    flask 之(六) --- API|RestfulApi
    flask 之(五) --- 对象|钩子|拆分
    数据类型检测
    基本数据类型和引入数据类型
  • 原文地址:https://www.cnblogs.com/CodeSkill/p/5086109.html
Copyright © 2020-2023  润新知