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

 

 

 

 

转载于:https://www.cnblogs.com/jun14/archive/2012/12/27/2835637.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值