任务状态段和门
来源:互联网 发布:最好的编程工具 编辑:程序博客网 时间:2024/05/29 09:58
每一个任务(可以理解为进程)都有一个任务状态段TSS,用于保存任务的有关信息,在任务内变换特权级和任务切换时要用到这些信息。
系统段是为实现存储管理机制所使用的一种特别的段。在80386中,有两种系统段:任务状态段TSS和局部描述附表LDT段(注意:全局描述附表GDT不属于状态段)。不光在高级语言应用或者说用户应用程序编程中用到了数据结构,个人觉得在CPU硬件的支持下,系统编程也是把数据结构发挥的淋漓尽致,甚至CPU硬件支持本身就充分体现了结构化,或者说数据结构。GDT段描述符,LDT段描述符,TSS段描述符,对描述符进行组织的描述附表,门描述符等等都有自己的数据结构,他们运用自己的格式将数据组织起来。
门描述符。门描述符并不描述某种内存段,而是描述控制转移的入口点。这种描述符好比一个通向另一代码段的门。通过这种门,可实现任务内特权级的变换和任务间的切换。门描述符分为:任务门、调用们、中断门、陷阱门。
调用门。调用门描述某个子程序的入口。调用门内的选择子必须指向代码段描述符,调用门内的偏移是对应代码段内的偏移。利用段间调用指令CALL,通过调用门可实现任务内从外层特权级变换到内层特权级。
任务门。任务门指示任务。任务门内的选择子必须指向GDT中的任务状态段TSS描述符,,门中的便宜无意义。任务的入口点保存在TSS中。利用段间转移指令JMP和段间调用指令CALL,通过任务门可以实现任务的切换。
中断门和陷阱门。中断门和陷阱门描述中断/异常处理程序的入口点。中断门和陷阱门内的选择子必须指向代码段描述符,门内的偏移就是对应代码段的入口偏移。中断门和陷阱门只有在中断描述符表IDT中才有效。
任务状态段。TSS在任务切换过程中起着重要作用,通过它实现任务的挂起和恢复。所谓任务切换是指,挂起当前正在执行的任务,恢复另一个任务的执行。在任务切换过程中:1、处理器中各寄存器的当前值自动保存到TR所指定的TSS中;2、下一个任务的TSS的选择子呗装入TR;3、从TR所指定的TSS中取出各寄存器的值送到处理器的各寄存器中。由此可见,通过在TSS中保存任务现场各寄存器状态的完整映像,实现任务的切换。TSS的基本格式有104字节组成,可分为链接字段区、内存堆栈指针区域、地址映射寄存器区域、寄存器保存区域和其他字段等五个区域。
- 任务状态段和门
- 任务状态段和控制门
- 任务状态段和控制门
- 任务状态段 控制门
- TSS任务状态段
- TSS(任务状态段)
- TSS 任务状态段
- 任务状态段TSS
- TSS(Task-State Segment)任务状态段
- 任务状态段(Task State Segment)
- TSS(Task-State Segment)任务状态段
- 13-任务状态段(TSS)
- TSS(任务状态段) TSS描述符 任务寄存器(TR) 任务门描述符 学习总结
- uITRON之任务状态和任务调度
- 关于利用任务状态段TSS进行进程切换的一点说明
- 定时更新表字段列的值状态(存储过程+定时任务)
- 定时更新表字段列的值状态(存储过程+定时任务)
- Android 任务和回退堆栈---保存Activity状态
- [SQL Server 2005/2008]删除重复行(使用CTE公用表达式)
- Test
- 数据库计算机常用英语词汇名词解释
- UITabBarController和UINavigationBar更换tabBar背景图片
- Web Server 架构浅谈-Simple Event-Driven Achitecture
- 任务状态段和门
- 动态添加GridView,并按照返回内容改变字体颜色
- 怎麼添加javascript提示框
- Myeclipse 8.x实现一个简单SSH框架
- 高级sql学习——decode函数和case表达式!!!
- 并查集 P1007冗余关系
- Apache POI HSSF读写Excel总结
- Excel的30招
- 在dahdi通道上通过AMI模拟发送DTMF实现录音功能