zoukankan      html  css  js  c++  java
  • 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 的内存分配是 下面是内存低位,上面是内存高位。

  • 相关阅读:
    Mybatis- 动态sql总结
    Mybatis- 映射文件标签总结
    mybatis全局配置文件标签

    环形链表介绍和约瑟夫环
    MyBatis入门 + 接口式编程(idea实现)
    尚硅谷 mybatis
    Android 开发中使用 SQLite 数据库
    DDMS中File Explorer无法查看data/data文件解决办法
    ANDROID 自动生成动态表格for
  • 原文地址:https://www.cnblogs.com/CodeSkill/p/5086109.html
Copyright © 2011-2022 走看看