• 34 深入浅出 x86 中断机制(下)


    参考

    https://blog.51cto.com/13475106/category6.html及狄泰软件相关课程

    Q:实模式下的中断向量表和中断服务程序需要程序内核来建立吗?
    在之前的屏幕打印的的结构是int中断是由程序的来实现的,与现在所说的程序中断是由内核来建立的不符,为什么会出现这样的情况/
    在这里进行解答,在计算机通电时,X86处理器直接在实模式执行
    硬件做的工作--将主板ROM的代码(BIOS)拷贝到内存;将CS:IP寄存器的值进行设置,接下来时BIOS所做的工作
    BIOS工作--硬件检测并且进行简单的厨初始化,并在内存建立中断向量表,建立中断服务程序。接下来BIOS从启动盘扇区载入程序(操作系统引导程序),载入0X7C00起始地址处。通过这两个处理,BIOS交出了控制权。
    操作系统-x86中断机制

     

    保护模式下的中断处理

    1.使用中断描述符映射不同中断与中断服务程序
    2.中断描述符表--可以包括中断门,陷阱门,任务门,门描述表(包含中断程序的入口-选择子:偏移;包含各种用于合法性检查的属性:特权级)
    操作系统-x86中断机制操作系统-x86中断机制
    在使用是用到了Gate宏,参数固定为0

    C.保护模式下的中断处理

    1.每个中断产生一个中断向量
    2.通过中断向量在IDT中查找对应的中断描述符
    3.通过中断描述符中的选择子和偏移可找到ISR的入口地址
    操作系统-x86中断机制
    注意事项
    1.IDT处理提供ISR入口地址,还提供特权级等属性
    2.中端发生后,转移执行ISR代码前需要金特权级检查
    3.实模式与保护模式的中断向量完全一致
    4.IDT中必须提供每种中断所对应的ISR入口地址

  • 相关阅读:
    系统改造/升级项目的注意点
    phpunit相关
    IE浏览器:定义文档兼容性
    pptx,docx,xlsx 文件下载问题
    常用linux命令
    oracle 子查询写法
    QQ上传大文件为什么这么快
    decimal tostring 格式
    2020HDU多校第三场 1005 Little W and Contest
    火车进栈(进出栈的模拟,dfs爆搜)
  • 原文地址:https://www.cnblogs.com/lh03061238/p/14497822.html
Copyright © 2020-2023  润新知