zoukankan      html  css  js  c++  java
  • minix中的GDT,LDT,IDT和TSS

    1.全局描述符表(Global Descriptor Table):

    GDT表项指向LDT。

    GDT对所有进程均可用。

    GDT记录OS使用的内存区域的段描述符。

    整个系统只定义一个GDT,其中存放有允许多个进程共同访问的那些段的描述符。
     

    2.局部描述符表(Local Descriptor Table):

    每个进程的局部空间的段的所有段描述符集中存放在一张表中,这张表为该进程的局部描述符表(LDT)。

    每个进程的LDT通常存放在核心空间中,系统也将它看成是一个段,因此也需要一个段描述符来给出其在内存的基址、长度等信息,这类描述符被称为LDT描述符,它们被存放在GDT中。

    当前正在执行的进程,其在GDT中的LDT描述符位置,由CPU的LDTR寄存器指出。

    3.中断描述符表(Interrupt Descriptor Tabel):

    各类中断的中断处理程序的相关信息,是通过一个控制段描述符来描述的,该描述符叫中断门,其描述符类型为E。

    所有中断门集中保存在一张表中,该表即中断描述符表IDT,其作用类似于实模式下的中断向量表。

    CPU寄存器IDTR中存放有IDT的限长和物理基址,从而可以找到系统使用的IDT。

    4.任务状态段(Task State Segment):

    每个任务都有一个任务状态段TSS,描述任务状态段的描述符称为TSS描述符(类型 = 1、3、9、 B)

    所有任务的TSS描述符均被存放在GDT中。

    系统可通过TR寄存器在GDT中找到正在执行的任务的TSS描述符,从而找到相应任务的TSS。

    任务状态段TSS中包含:

      1.任务的CPU现场(通用寄存器、段选择寄存器、指令指针、标志寄存器等);

      2.特权级分别为0、1、2时的堆栈段选择符和栈顶指针;

      3.该任务被调用时,前一个任务TSS的返回连接选择符;

      4.I/O允许位图等。

    参考自梁老师的PPT

  • 相关阅读:
    混合装置实现了24/7的能量收集和储存
    2020年人工智能汽车将出台多项标准
    自动驾驶汽车事故的责任追究
    多核处理器集成了神经处理单元
    广泛的信号处理链如何让语音助理“正常工作”
    先进机器人系统中的关键技术
    模拟内存计算如何解决边缘人工智能推理的功耗挑战
    TinyML设备设计的Arm内核
    获取url指定参数值(js/vue)
    js 实时监听textarea输入
  • 原文地址:https://www.cnblogs.com/jun14/p/2835637.html
Copyright © 2011-2022 走看看