• 任务的调度


    软件或处理器可以用以下方式中的任何一种来调度任务执行:

    用 CALL 指令显式地调用任务。

    用 JMP 指令显式地跳转到任务。

    (由处理器)隐式地调用中断处理程序任务。

    隐式地调用异常处理程序任务。

    EFLAGS 寄存器的NT 标志置位时的任务返回(由IRET 指令发出)。

    所有这些调度方法都是用指向任务门或任务TSS 的段选择子来识别被调度的任务的。当用CALL 或JMP 指令调度任务时,指令中的选择子可以直接指向TSS,也可以指向包含TSS

    选择子的任务门。通过调度任务来处理中断或异常时,相应中断或异常对应的IDT 项必须包含一个任务门,门中含有指向中断或异常处理程序任务的TSS 的选择子。一个任务被调

    度执行时,会自动地在当前任务和被调任务之间发生任务切换。切换时,当前任务的执行环境(称做任务状态或场境(context))保存进其TSS 中,该任务随即被挂起。然后,

    处理器加载被调任务的场境到各个寄存器中,从刚加载的EIP寄存器指向的指令处开始执行新任务。若该任务是系统上次初始化以来的首次执行,则EIP 指向任务代码的第一条指

    令;否则,指向任务上次被挂起时执行的最后一条指令的下一条指令。如果是由当前任务(调用任务)调用了被调度的任务(被调任务)而发生了任务切换,则把调用任务的TSS

    的选择子保存到被调任务的TSS 中,以提供返回调用任务的链接

  • 相关阅读:
    linux 打包 压缩
    HDU 2036 改革春风吹满地
    Windows 7 蓝屏代码大全 & 蓝屏全攻略
    Linux Shell參数扩展(Parameter Expansion)
    android不是内部或外部命令,也不是可执行的程序或批处理文件
    Object类
    抽象类中注意事项
    抽象类和接口的区别
    类接口之间的关系
    接口
  • 原文地址:https://www.cnblogs.com/cdwodm/p/2916128.html
Copyright © 2020-2023  润新知