在intelx86中,任务是设计者对进程的代名词(他们管进程叫任务)。这是从CPU角度考虑进程的,和从操作系统看进程,2者是有差距(比如在操作系统中每个进程都有自己的户口,既进程控制块,但在任务里面没有)。
设计者为了使CPU支持任务间的切换(实际上就是进程间的切换),就在i386系统中新增了一个段:任务状态段TSS,相当于代码段,数据段。但它是一个104字节的数据结构,记载了以下信息用于支持任务间的切换:
1.切换前,各个通用寄存器的内容(AX,BX,CX等)。
2.切换前,段寄存器的内容(CS,DS等)。
3.切换前,EFLAGS寄存器内容。
4.切换前,指令寄存器EIP内容。
5.指向前一个任务的TSS段选择码。
6.该任务的LDT选择码,指向当前任务的LDT。
7.控制寄存器CR3内容,页面目录。
8.3个堆栈指针,分别用于0,1,2这3个级别的堆栈。
9.用于程序跟踪标志T,主要用于DEBUG。
10.I/O权限位图。
CPU中新增任务寄存器TR,指向当前任务的TSS。中断的各种门中,有一个任务门用于任务切换。任务门中有一个TSS选择码,当CPU中断后,TSS选择码的内容载入后,硬件就会自动将CPU中断前内容载入到TSS中,从而形成一次任务的切换。
这种设计非常周到,i386属于CISC(复杂指令CPU)符合它的设计宗旨,但可以看出任务切换,进程切换是属于高级语言的内容,其过程非常复杂,CPU给我们一条指令让我们实现了进程间的切换,自己做了大部分工作(这种工作为了保证其健壮性,不得不做很多我们看起来很多余的工作,但为了保证系统的正常运行,这么做是必须的,提供共性的服务最大的缺点就是要考虑所有可能发生的状况,从而避免出错)。这条任务切换指令(jmp和call指令),执行的过程高达300个CPU时钟周期。因此,在linux操作系统中,同样像应付段式映射一样,绕过CPU,没有使用i386提供的任务切换.
分享到:
相关推荐
根据给定文件的信息,我们可以提炼出以下关于TPM支持的软件栈TSS(Trusted Software Stack)的关键知识点: ### TSS System Level API 和 TPM 命令传输接口规范 #### 1. 概述 TSS (Trusted Software Stack) 是...
压缩包中的文件"TSS721A技术资料总结.doc"很可能是关于TSS721A芯片的详细技术文档,涵盖了芯片的功能特性、应用指南、电路设计建议以及可能的故障排查等内容。对于正在设计或维护MBUS系统的工程师来说,这份文档将是...
tss协议栈tss tss tss
标题中的"TSS.zip_tss"指的是一个以TSS命名的ZIP压缩文件,它包含了与TSS(可能是“时间序列分割”或“跟踪状态选择”等技术的缩写)相关的MATLAB源代码。MATLAB是一种广泛用于数值计算、数据分析和算法开发的高级...
### TSS721原理及应用深度解析 #### 概述 TSS721,作为德州仪器(Texas Instruments)出品的一款专为M-Bus总线设计的终端收发芯片,其在仪表总线(Meter-Bus)系统中的角色至关重要。M-Bus,即仪表总线,是一种...
标题中的“tpm2-tss-master_tss2_tpm2_types.h_proudnrz_tpm_”指的是一个关于TPM2.0(Trusted Platform Module)的软件开发项目,其中包含了`tss2_tpm2_types.h`这个头文件,这通常在C语言编程环境中用于定义TPM...
C语言头文件 TSSC语言头文件 TSSC语言头文件 TSSC语言头文件 TSSC语言头文件 TSSC...TSSC语言头文件 TSSC语言头文件 TSSC语言头文件 TSSC语言头文件 TSSC语言头文件 TSSC语言头文件 TSSC语言头文件 TSSC语言头文件 TSS
"TSS721A 应用总结" TSS721A 是一种用于仪表总线的收发器集成芯片,具有调节仪表总线结构中主从机的电平、可通过光耦等隔离器件与总线连接、通过数据收发器由总线供电等特点。本文将对 TSS721A 的应用总结进行详细...
TSS煤泥分选机是一种用于选煤厂的设备,主要用于增加煤炭洗选的效率和产量。在这篇文章中,我们重点探讨了TSS煤泥分选机如何应用于同忻选煤厂,通过分选1至0.25毫米粒级的粗煤泥,以提高1/3焦煤的洗出率。 首先,...
【tss_web:tss主页】是一个关于tss项目的官方网站,主要功能是提供tss的相关信息和服务。这个项目可能涉及到技术、服务以及社区互动等多个方面。从描述中的"用玉,咖啡,快递"来看,这可能是项目的一种象征性表述...
TSS(Tile Server System, 瓦片服务器系统)用于存储和访问以瓦片方式组织的数据,特别适合用于存储和访问空间数据(针对窗口访问模式进行了优化),例如DOM、DEM、DLG等,扩展支持流数据的分段方式存储和访问。...
本教程聚焦于TSS(Two-Step Successive Substitution,两步相继替换法)算法,这是一种针对线性方程组的简单解法,尤其适用于初学者。"计算方法教程"由凌永祥撰写,其第二章第四题详细讲解了如何用Objective-C编程...
### TSS721A在自动抄表系统中的应用:深度解析 #### 一、TSS721A概述及特点 TSS721A是美国德州仪器(TI)公司于年初推出的一种专用于仪表总线的高性能收发器芯片。这款芯片的设计初衷是为了优化自动抄表系统中的...
### TSS721A:仪表总线(Meter-Bus)收发器 #### 一、产品概述 TSS721A是由德州仪器(TI)设计开发的一款仪表总线(Meter-Bus)终端收发芯片,适用于符合欧洲标准EN1434-3的应用场景。该芯片主要用于实现Meter-Bus...
标题中的“包分类算法之一——TSS算法实现代码”指的是在信息技术领域中,一种用于处理数据包分类问题的算法——Trie-based Shortest String (TSS) 算法的编程实现。这种算法通常用于网络流量管理和路由器配置,以便...
标题中提到的“m-bus模块tss721”指的是TSS721A这款芯片,它是一种专为Meter-Bus标准(EN1434-3)设计的单芯片收发器。Meter-Bus是一种应用于热量表、燃气表等远程抄表领域的通信协议,它的全称是欧洲标准化委员会...
### 仪表总线协议及TSS721应用设计 #### 一、仪表总线概述 仪表总线(Meter-Bus, M-BUS)是一种专为各种消费类型的仪表设计的标准通信协议,它遵循IEC 62056-21标准。M-BUS能够实现远程供电、连续测量以及抄表等...
在这个主题中,我们主要关注两种快速运动估计算法:三步搜索法(Triple Step Search, TSS)和四步搜索法(Diamond Search, DS)。这些算法都是为了提高运动估计的效率,降低计算复杂度,同时尽可能保持良好的估计...
**OpenSSL与Trusted Software Stack (TSS)** OpenSSL是一个强大的安全套接字层密码库,包含了各种主要的密码算法、常用的密钥和证书封装管理功能以及SSL协议,并提供丰富的应用程序供测试或其他目的使用。它是信息...