当前位置: 技术问答>linux和unix
TSS,一个还是多个?
来源: 互联网 发布时间:2016-03-17
本文导语: 我有个问题,近来一直没想通,大家说说看: 在操作系统的层面上,是使用一个TSS,在任务切换时初始化TSS,使其为当前任务服务;还是为每个任务分配一个TSS,在切换任务时重新加载tr? 希望大家说出自己的理由...
我有个问题,近来一直没想通,大家说说看:
在操作系统的层面上,是使用一个TSS,在任务切换时初始化TSS,使其为当前任务服务;还是为每个任务分配一个TSS,在切换任务时重新加载tr?
希望大家说出自己的理由。
谢谢。
在操作系统的层面上,是使用一个TSS,在任务切换时初始化TSS,使其为当前任务服务;还是为每个任务分配一个TSS,在切换任务时重新加载tr?
希望大家说出自己的理由。
谢谢。
|
struct tss_struct {
long back_link; /* 16 high bits zero */
long esp0;
long ss0; /* 16 high bits zero */
.
.
.
};
struct task_struct {
/* these are hardcoded - don't touch */
long state; /* -1 unrunnable, 0 runnable, >0 stopped */
.
.
.
struct tss_struct tss;
};
|
是多个的,任务切换时用旧TSS保持CUP各寄存器的值,并从新的TSS把寄存器值加载进CPU
|
多个!
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。