栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Linux为什么不通过TSS使用硬件上下文切换?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Linux为什么不通过TSS使用硬件上下文切换?

x86 TSS对于硬件多任务处理非常慢,与软件任务切换相比几乎没有任何好处。(实际上,我认为手动完成击败了TSS很多次)

TSS的使用也很烦人且乏味,并且即使在x86-64上也不便于移植。Linux旨在于多种体系结构上工作,因此他们可能选择使用软件任务切换,因为它可以以与机器无关的方式编写。而且,软件任务切换为可完成的工作提供了更多功能,并且与TSS相比,通常更易于设置。

我相信Windows 3.1使用了TSS,但至少NT> 5内核没有使用。我不知道任何使用TSS的类Unix操作系统。

请注意,TSS 是强制性的。
操作系统要做的事情是创建一个(每个处理器)一个TSS条目,并且每当他们需要切换任务时,它们都只是改变了这个TSS。而且,通过软件任务切换在TSS中使用的唯一字段是

ESP0
SS0
。这用于从环3代码到达环0进行中断。没有TSS,就不会有已知的Ring
0堆栈,这当然会导致GPF并最终导致三重故障。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/391779.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号