操作系统真象还原第十一章

11.1 为什么要有任务状态段 TSS

11.1.1 多任务的起源

TSS 是 Task State Segment 的缩写,即任务状态段。

硬件厂商提供的多任务硬件解决方案主要是 LDT 和 TSS。

11.1.3 TSS 的作用

Intel 的建议是给每个任务关联一个任务状态段,这就是 TSS,用它来表示任务。

TSS 是由程序员“提供”的,由 CPU 来维护。

CPU 中有一个专门存储 TSS 信息的寄存器,这就是 TR 寄存器,它始终指向当前正在运行的任务。

TSS 和其它段一样,本质上是一片存储数据的内存区域,Intel 打算用这片内存区域保存任务的最新状态。使用 TSS 描述符来“描述” TSS。

在这里插入图片描述

TSS 描述符属于系统段描述符。

在这里插入图片描述

TSS 的主要作用就是保存任务的快照,也就是 CPU 执行该任务时,寄存器当时的瞬时值。

除了从中断和调用门返回外,CPU 不允许从高特权级转向低特权级。另外,CPU 在不同特权级下用不同的栈。

Linux 只用到了 0 特权级和 3 特权级,因此只设置 SS0 和 esp0 的值就够了。

TR 寄存器存储 TSS 的起始地址及偏移大小。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值