欢迎来到天天文库
浏览记录
ID:34111755
大小:295.14 KB
页数:5页
时间:2019-03-03
《微处理机在保护模式下多任务切换的剖析》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、万方数据应甬技术罐建瓣绦妒瓣禽鼢镲豁镣狳孩撵撩王乙,徐少平(中国地质大学研究生院,武汉430074)摘要:现代操作系统中的微处理机一般运行在保护模式下,较低特权级的程序不能调用较高特权级的子程序,禁止用户程序从操作系统得到更多的底层服务。本文从分析Intel80x86系列cPu(v:.【下简称微处理机)硬件结构的特,点出发,利用保护模式下多任务切换机制,使较低特权级程序可以绕过操作系统的保护机制进入系统核心态,进而直接存取系统中受访问控制的资源,并在此基础上做一些特殊的应用。关键词:保护模式;描述符;任务切换;往务空间引言对微处理机来说,在
2、多任务软件运行的情况下,每个程序是一个工作单位或总体工作的一部分,互为相关。在任何时刻,存储器中会有一个程序正在执行,每个正在执行的程序可以有多达6个段供直接使用。段寄存器保存的内容是16位的段选择符,只有通过段选择符,才可以索引到位于存储器中段描述符表内的信息,使系统可以进行特权检查工作。一般情况下的特权检查只允许高特权程序访问低特权程序,但实际应用中常常有相反的要求。如用户程序要调用系统提供的子程序、系统要从一个低特权任务转向一个高特权任务等等。因此为了降低对访问者的特权级别的要求,需要一个替代特权检查的“门”。系统定义的任务门和调用门
3、,它们的结构和描述符相同,为低特权任务转向高特权任务开拓了通道,这种方式称为任务的直接切换方式;另外,利用中断/异常机制也可进行任务切换,称为间接任务切换,系统在这种情况下不实施特权级的保护,程序直接从低特权级转向高特权级执行态。1保护模式下的运行机制(1)实模式和保护模式根据逻辑地址到物理地址转换(映射关系)方式的不同,可以把微处理机的工作方式分为实模式和保护模式。在实模式下,逻辑地址不经转换直接映射成为物理地址,没有提供相应的机制防止不同程序地址空间的相互覆盖,极易引起系统崩溃;在保护模式下,通过段页式寻址机制来实现多任务之间的有效隔离
4、,支持任务与任务之间的分离和操作系统与任务之间的分离,特权分级系统和保护机构保护了虚空问到实空间的切换安全。操作系统的代码和数据不允许被应用程序所访问,因此操作系统的代码和应用程序都被有效保护。保护模式的名称由此而来。(2)微处理机的保护方式寄存器微处理机由于系统存储管理的需要,配备了系统地址寄存器。其中4个寄存器用于控制分段存储器管理中数据结构的位置,它们的名称分别是系统地址寄存器(即全局描述符表寄存器GDTR和中断描述符表寄存器IDTR)以及描述符寄存器(局部描述符寄存器LDTR和任务状态寄存器TR),存储管理寄存器只能在保护方式下使用
5、,所以又称其为保护方式寄存器。GDrm,LDTR,IDTR都是48位的寄存器,用来保存全局描述符表GDT的32位线性基地址和16位的段界限。任务寄存器TR保存着32位的线性基地址、32位的段界限、描述符属性以及当前正在执行任务的16位段选择符。任务MODERNCOMPUTER2002.329现代计算机^总第_-:-●五期v万方数据现代计算机^总第_-一二五期v应用技术寄存器访问的是全局描述符表中的任务状态段(TSS)描述符。GDRT和IDTR的结构如图1、图2所示。4732位线性基地址1615界限0f全局描述符表寄存器Il中断描述符表寄存器
6、图1TR和LDTR的结构:图2为了能装入这4个寄存器,或者将这4个寄存器内容保存起来,微处理机为此提供了专用指令。可以用指令装入GD’m和IDTR,这两个寄存器都可以从存储器得到6个字节的数据块。LDTR和TR也可以用指令装入,它们装入的是16位的段选择符,剩下的字节由微处理机根据操作数引用的描述符信息自动装入。(3)微处理机的保护机制微处理机根据以下3个对象来实施它的保护机制:●描述符。每一个描述符包含一个描述符特权级DPL。对于可读或可写的段,DPL就是存于本段中的数据的特权级,保护机构用这个字段定义的特权级控制对本段的访问。●选择符。
7、每个选择符的最低2位包含一个请求特权级RPL。●特权级CPL。任何时候,微处理机总是在某一个特权级运行,当前特权级CPL确定了正在执行的任务的特权级。如果CPL比所访问的段的特权级DPL低,就会产生异常。用数学公式表示,则:DPL,>CPL;在Windows环境下级别共有0-3级,数值上越大,表示级别越低。请求特权级RPL是指选择符原始提供者的特权级,它和DPL的关系类似于CPL和DPL的关系,用一个统一的公式表示,即为DPL一>MAX(CPL。RPL);30MODERNC01dPUTER2002.3通常,特权级最高的级赋予操作系统中最重要
8、的核心程序,如有关存储管理、保护和访问控制等不大会改变的程序。2微处理机对多任务间切换的支持(1)任务空间所谓任务是指正在运行的程序或者另一个正在等待运行的程序。对微处理机来说,
此文档下载收益归作者所有