版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第5章卷储器管理
第5章花储器管理
5.1实方式存储器管理
5.2保护方式存储器管理
5.3保护及任务切换
5.4虚拟8086方式
第5章卷储器管理
5.1实方式存储器管理
5.1.1存储器的分段结构
微处理器运行在实方式时,程序对存储器的访问采用分段地
址。分段地址由一个段值和一个有效的地址偏移值组合而成,
其表示方式为:
段值:偏移量(均以省略后缀H的十六进制形式表示)
偏移量确定在
段中一个字节
偏移量从段字
^0^^则量
安置在10H(16)
段值地址处
图5.1在分段寻址中名
M第5章卷储器管理
5.1.2物理地址的形成
段:1BA4:204E
1930
-------►16^^段值00001BA40H
1530
16位偏移值4—+204EH
190
1DA8EH
20彳立物理地址
图5.2实方式下物理地址的产成
犬第5章卷储器管理
5.2保护方式存储器管理
5.2.1存储器的分段管理
1.段选择器
153210
I-I~~I~~I~~I~~I~~I~~I~~I~~I~~I~~~~~~~~F
士匚1TIRPL
索引
请求者特权级
00b二最高特权
11b二最低特权
表中的索引
J表指示器
。二全局描述符表(GDT)
1二局部描述符表(LDT)
图5.3保护方式段选择器格式
第5章卷储器管理
2.段描述符表
153210
局部描述全局描述
符表符表
图5.4段选择器和描述符表
第5章卷储器管理
3.段描述符
r段描述符
I门
图5.5描述符的分类
第5章卷储器管理
1514131211109876543210
在80286上,这一字
段限量
基地址(24〜31)GD0_必须置为0,以便向上
(16〜19)兼容
6
PDPL类型Base基地址(16〜23)
4
基地址(0-15)
2
段限量(0〜15)
0
域描述
G粒度
D缺省
AVL可用
P出现
DPL描述符特权级
DT描述符类型图5.6段描述符格式
第5章卷储器管理
①段基地址。该域用来确定段在存储器的起始地址。对
80286来说,段基地址24位宽,段可在4MB线性地址空间的任何
字节处起始;对80386和80486来说,段基地址32位宽,分成两
部分,由处理器将它们结合在一起,32位段基地址决定了段可
在4GB线性地址空间中的任何字节处起始。可以看出,保护方
式下段基地址的设置与实方式下段基地址仅限于被10H整除的
地址处是大不相同的,使用起来灵活得多。
第5章卷储器管理
②段限量。该域用来确定段的尺寸。对80286,段限量为16
位无符号数,表示段的最大尺寸为64KBo对80386和80486,段
限量由两部分组成20位的无符号数。但仅就20位的段限量还不能
确定出段的尺寸,还需要根据段描述符中粒度D的设置来共同确
定。若粒度位设置成字节粒状,则限量以字节为单位,得段的
尺寸为1B〜1MBo若粒度位设置成页粒状,则限量以页为单位,
一页为4KB,故段的尺寸为4KB〜4GB。当采用页粒状时,有效
地址偏移量的最低12位不必检查。若粒度设置为页,段限量设置
为00000H,则该段的有效地址偏移量为0〜FFFH(4095)。
犬第5章卷储器管理
③类型。
ST位的设置决定
ST了如何^垄释其他域
数据段
访问(1=yes)访问(l=yes)
可读(1=yes)可写(l=yes)
一致性(1=yes)向下扩展(1二yes)
0寸于正^«段£=0)
图5.7段描述符类型域的定义
第5章卷储器管理
④DT位。这是描述符类型位,用来区分两种类型的段描
述符。DT=1,表示为段描述符;DT=O,表示为一个特殊的
描述符(或称系统段描述符)或门描述符。
⑤DPL。该域为描述符特权级域,用来实现保护而不用
于地址生成。
第5章卷储器管理
⑥PoP位为存在位,用来表示描述符存在于存储器中(P=l)
或不存在于存储器中(P=0),它用于地址生成。如果一个描述符
所描述的段已移至硬盘上,表明不在内存中,这时P=0。若这种
情况下试图将该描述符的段选择器装入段寄存器,处理器便会
产生一个段不存在异常(以P=o为标志),并且操作系统中的异常
处理程序会把该段重新装入存储器。因而该位的设置使操作系
统能够对应用程序实现虚拟存储器的功能。
X第5章卷储器管理它
⑦AVLoAVL为可用位,只在80386、80486中使用。该位
用来确定是否允许系统程序员扩充处理器的保护机制,即是否
允许对存储器映象的I/O口实现保护。当AVL=1时,表示该描述
符(用来描述存储器映象的I/O段)可被系统软件使用。当AVL=0
时,表示该描述符对应的段选择器不能重新装入和使用。
第5章卷储器管理E
⑧DoD位为缺省操作尺寸位,不用于地址生成,只在
80386及80486的代码段描述符中被识别。当D=0时,表示操作数
和有效地址的缺省值是16位;当D=1时,表示操作数和有效地址
的缺省值为32位。当一条单指令具有超越前缀时,可以超越该
位设置。
⑨GoG位为粒度位,在80386、80486中,它用来指定段限
量的单位。G=0,表明段限量以字节为单位;G=l,表明段限
量以页为单位,每页4KBo
X(2)特殊的段描述符及门描述符。
表5.1系统段类型域定义
类型域值位设置描述符
00000保留
10001可用的16位TSS
20010LDT
3001116位TSS忙
4010016位调用门
5010116位任务门
6011016位中断门
7011116位陷阱门
81000保留
91001可用的32位TSS
AH1010保留
BH101132位TSS忙
CH110032位调用门
DH1101保留
EH111032位中断门
FH111132位任务门
第5章卷储器管理
4.描述符表寄存器
全局描述符表寄存器(GDTR)
基地址限量
_______________________________________A_________
80286-24位16位
80386/80486-32位
局部描述符表寄存器(LDTR)
选择器基地址限量
16位80286-24位知位
80386/80486-32位
图5.8描述符表寄存器
第5章卷储器管理
第5章卷储器管理
X第5章卷储器管理
而看露—〜一一
可见部分不可见部分
III
6350494847403916150
可写
向下扩展
:几关口
第5章卷储器管理
分不5]^部分
10390898887646332310
图5.1280386和80486段寄存器格式
■^15.2.2存储器的分页管理
1,页目录和页表
分页管理机制在将线性化地址空间的页转换到物理地址空间的
页时,由于每个页面的整个4KB是作为一个单位进行映射的,且
每个页面都对齐在4KB的边界,因而线性地址的低12位在分页转
换过程中将直接作为物理地址的低12位使用。分页管理机制中的
重定位函数(或称转换函数)实际上是把线性地址的高20位转换成对
应物理地址的高20位,并且,这个转换函数是通过对常驻内存的
页表查询来完成的。对页表的查询分两步进行,即查询一个两级
表来完成。第一级表称为页目录表,它的长度也总是恰好为一页(4
KB),且起始于能被1000H整除的物理存储器地址上。因而页目录
表的起始地址为20位(80386sx中为12位),页目录表可在微处理器
4GB(80386sx为16MB)地址空间内任意安置,只要它对齐在4KB
第5章卷储器管理
页目录的4KB数据结构共存放了1024个项(称为页目录项)。
每项4B,32位,是一个指针,它指向另一个相似的数据结构。
这个相似的数据结构即是称为页表的第二级表。它也总是4KB
长,并对齐在4KB的边界处。页表的4KB数据结构又存放了1
024个页表项,每项同样4B,32位长,且作为物理存储器中页
的指针。页目录项和页表项的格式都一样,表示在图5.13中。
其中高20位称为页帧地址,低12位定义如下:
第5章卷储器管理
3112119876543210
UR
页基地址
AVL00DA00//P
32---12
SW
图5.13页目录表/页表的表项格式
第5章卷储器管理
(1)P位。该位为存在位。P=1表示该项里的页地址映射到物
理存储器中的一个页。P=0,表示该项里的页地址没有映射到物
理存储器中,或说该项所指页不在物理存储器中。这时,若欲
用该项进行地址转换将产生一个页出错异常,并且操作系统中
的页出错处理程序将把该项重新装入存储器。如果页目录中,
某项的P位清零,则表示对应的页表已被移出存储器。可以说操
作系统利用P位提供的信息实现了请求分页的虚拟存储器的能力。
(2)R/W位。R/W位为读/写位,用于实现页级保护,它不
涉及到地址转换。
第5章卷储器管理
(3)U/S位。U/S位为用户/监控程序位,用于实现页级保护,
不涉及地址转换。
(4)A位。A位为访问位,用来表明该项指出的页是否已被读
或写。若目录项中A=l,则表示该项所指出的页表已被访问过。
若页表项中A=l,则表示该页表项所指出存储器中的页已被访
问过。总之,A位的置位由处理器完成,A位的状态可供操作系
统软件测试,以便计算不同页的使用频度。
X第5章卷储器管理・
(5)D位。该位为页面重写标志位,只在页表项中设置,而
不在页目录项中设置。当页表项中D=1时,表明该项所指出的存
储器中的页已被写。D位的状态可被操作系统软件测试,以便操
作系统判断存储器的某页在它最后一次被复制到磁盘后是否被
修改过。
(6)AVL域。该域为可用域,共3位,供系统软件设计人员
使用。可将与页使用有关的信息放在该域中,帮助分析判断应
把哪些页移出存储器。
第5章卷储器管理
2.线性地址到物理地址的转换
313029282726252423222120191817161514131211109876543210
目录索引域表索引域偏移量
(10位)(10位)(12位)
图5.14线性地址格式
第5章卷储器管理
31222112110
第5章卷储器管理
31222112110
00100101011001110100100010010000
<—目录索弓]——弓I——偏移量
(1(M立)(10位)(12位)
图5.16线性地址25674890H的分解
L第5章卷储器管理Hr
J^CR3=28345XXXH,而左后录基地址=28345000H。%
性地址中目录索引地址为0010010101B,故得页目录表中所寻址
项的物理地址=目录表基地址+偏移地址(目录索引地址乘
4)=28345000H+254H=28345254H。
设目录表中寻址项(从28345254H开始的4个字节)的内容为
00200021H,这表明寻址项对应页表的基地址为00200000H,P位
(位0)及A位(位5)为1,该被寻址页表在存储器中,且对应目录项
已被访问过。线性地址中的页表索引地址为loonioiooB,故得
页表中所寻址项的物理地址二页表基地址+页表索引地址
X4=00200000H+9D0H=002009D0Ho
又设页表中所寻址项(从002009D0H开始的4个字节)的内容为
34567021H,则页帧基地址=34567000H,要寻址的存储单元最终
物理地址二页帧基地址+线性地址中的12位偏移量
=34567000H+890H=34567890Ho
第5章卷储器管理
4,页转换高速缓冲存储器
31151412110
386DX=20位WEO
386sx=12位
图5.17386DX/386sx转换监视缓冲器(TLB)结构
第5章卷储器管理
3.小结
段机制分页机制
(分页被禁用)
图5.18虚拟一物理地址转换
第5章卷储器管理
5.3保护及任务切换
5.3.1不同任务间的保护
不同任务间的保护首先开始于把每个任务放置在不同的虚拟
地址空间,然后,再在每个任务中定义一组独立的映射表,完成
相互间各不相同的虚拟-物理地址转换。这样,一个任务中的虚
拟地址空间映射到物理存储器的一部分;另一个任务的虚拟地址
空间映射到物理存储器的另外区域。在各任务中定义各自独立的
一组映射表时,一般不应使它们所映射的物理存储空间重叠,因
而,各任务之间是彼此隔离的。
第5章卷储器管理
为了将操作系统与各应用程序隔离,且为各应用程序所共享,
常把操作系统存储在一个单独的任务中,并把操作系统存储在虚
拟存储空间的一个公共区域中。然后,再对每个任务按此公共区
域分配一个同样的虚拟地址空间及定义同样的虚拟-物理地址转
换函数。这样,既可使每个任务能对操作系统进行访问,又可
保证操作系统不被各应用程序破坏。通常,称各任务公用的这
部分虚拟地址空间为全局地址空间,而称仅被一个任务独占不被
其它任务共享的虚拟地址空间为局部地址空间。
M第5章卷储器管理
5.3.2段级别保护
1514131211109876543210
GD0i(皆9)■0286上,
基地址(24〜31)_为向上
6此字必?幡为0
PDPLDT基地址:(16〜23)
4
基地址(0-15)
2
段限量(0~15)
0
域描述
G颗位性
D
AVL可用
P^4
DPL描述符特权级别
DT描述符类型图5.19段描述符格式
犬第5章卷储器管理
1.类型检查
ST位的设置决定
STII।如^可解释其他域
代码段数据段
可访问的(1=yes)可访问的(l=yes)
可读的(1二yes)可写的(byes)
一致的(1二yes)向下扩展(1二yes)
第5章存储器管理
表5.2存储段描述符类型
类型说明类型说明
0只读8只执行
只读、已访问9只执行、已访问
读/写10执行/读
1,读/写、已访问y执行/读、已访问
重只读、向下扩展12;只执行、一致码段
1只读、向下扩展、已访问只执行、一致码段、已访问
6,读/写、向下扩展11执行/读、一致码段
7读/写、向下扩展、已访问15执行/读、一契码段、已访问
第5章存储器管理
表5.3相容的段寄存器和段类型
段类型
;段寄存器’
只读读写只执行执行/读
DS、ES、FS、GS是是否是
'是E否
SS否•否
CS否否是是
第5章卷储器管理
2.限度检查
实方式下,段的限度固定为64KB。保护方式下,段的限度
由段描述符的限度域指出,是不固定的。对80286来说,限度以
字节为单位,16位限度域表明一个段最大尺寸为64KBo对
80386/80486来说,限度域为20位,当描述符中G=0时,限度以字
节为单位,一个段最大尺寸为1MB;当G=1时,限度以页为单位,
一页为4KB,限度=限度域值*4096+4095。因此,若限度域值为
0,则该段的最大尺寸为4KB,程序可访问段内从0到4095的字节。
第5章卷储器管理
除了向下扩充的段以外,所有段的段描述符的限度(化为字
节数)都表示从段起始处开始的最大偏移量。当访问存储器操作
数时,只要被访问操作数的一部分超出限度,处理器就会发出
一般保护异常信号。例如,访问一个双字操作数,其地址在限
度减2处,便会发生异常。
当段描述符中E=1时,为向下扩充段,它常用于堆栈段。
对向下扩充的段来说,限度表示一个段的最小偏移量。向下扩
充堆栈段的合法偏移量范围是从限度的字节数+1直到22。-1(对16
位段)或232-1(对32位段)。当限度=o时,向下扩充段具有最大的
尺寸。
第5章卷储器管理
向上扩展的段向下扩展的段
EIX立二0量EIX立二1量
FFFFHFFFFH
吃卜段内
段的有
PSS+1W偏移量^?£围<P助夏+1w偏移量
WFFFFHCFFFFH
据+1IW+1
IW
段内彭卜
段的有
效范围OOOOHW偏移量0000HW偏移量
WB阪W限度
0000H0000H
*向下扩展的段通常用作堆栈
跖卦痂捉田的坐刑
第5章卷储器管理
3.襁板标
(用户级别)
扩展
系统服务
硼J3核
(最(氐级另狙级另打级别。
级W(最高特权
'第5章商储器管理Br1
5.3.3数据访问
每当一个程序试图访问一个数据段时,便将程序的当前特权
级CPL与要访问段的特权级DPL进行比较,只要DPL的特权级别等
于或低于CPL(或RPL)的特权级,对该数据段的访问便是允许的。
否则便不允许,并产生一个一般保护异常,向操作系统报告该访
问操作违反了特权规则。因而,在数据访问时,被访问的数据段
的特权级DPL规定了允许访问该段的最外层特权级。由于数据访
问的这一特权级规则使得上节所述特权级的典型用法中,0级的操
作系统核心,有权访问任务中的所有数据存储段;1级的操作系统
其余部分有权访问2级和3级的所有数据存储段;3级的应用程序只
能访问本身的处于3级的数据存储段。反过来,0级操作系统核心
的数据存储段却得以保护,不能被操作系统除核心外的其余部分
及应用程序访问。同时,整个操作系统也得到了保护,它的数据
存储段不允许任何2级和3级的应用程序访问。
第5章卷储器管理
5.3.4控制转移
在同一任务中实现控制转移有3种方式:段内转移,直接转
移到另一代码段的段间转移和通过调用门的段间转移。
1.段内转移
段内转移通过近程跳转指令JMP或近程调用指令CALL及返
回指令RET(包括直接给出段内偏移量和间接给出段内偏移量)执
行。它不会引起特权级的变化,也不需再加载CS段寄存器,只
需作限度检查,即检查是否会转移到段外。同时为加速保护检查,
限度值已预先装入到段描述符高速缓存器中。
X第5章卷储器管理
直接的段间转移是最简单的段间转移,它使用具有远程标号
的跳转指令或调用及返回指令执行。这时,远程标号直接给出
一个48位的远指针:16位选择子和32位偏移量。该16位选择子
作为新的选择器值装入CS寄存器时,便将所指向的段描述符装
入CS段寄存器对应的段描述符高速缓存器中。接下来应进行保
护检查,只有当远指针所指目标段的描述符特权级DPL与当前特
权级CPL(当前正执行程序段的特权级)相等,且目标段是一个存
在的可执行的代码段,或目标段描述符特权级DPL高于等于当前
特权级CPL,且目标段是一个存在的,一致的可执行代码段时,
这种控制转移方能实现。即目标段转移地址的基地址由远指针
所指段描述符提供,转移地址的偏移量由跳转或调用指令提供。
第5章卷储器管理石]
这里所谓一薮的可而亍代码段是一种特别的存储段,以段描
述符类型域中ST=1及C=1来标志。一致的可执行代码段用来存放
多个特权级程序共享的例程。例如,存放数值库例程。这样,
不同特权级执行的程序可以使用段间调用指令调用库中被共享的
例程,并可在调用程序(主程序)具有的特权级(等于或低于一致可
执行代码段的特权级)执行该例程,而不要求改变特权级。因此,
可以说直接的段间转移实现的是同一特权级同一任务的转移。
控制转移到一致的代码段,将在调用程序(主程序)具有的特
权级执行一致代码段中的共享例程,而不在一致的代码段由其
DPL表示的特权级上执行共享例程。因而,这种情况下,一致代
码段中的DPL用来规定可以转移到该一致代码段的最内层特权级。
DPL的这种解释正好与数据访问时相反。
第5章花储器管理
3.通过调用门的段间转移
表5.4系统段和门的类型字段的编码
类型编码定义类型编码定义
0未定义8-未定义
1可用286Tss,9可用386Tss
2LDT10未定义
3忙的286TSS11忙的386Tss.
4286调用门12386调用门•
5任务门113未定义
6286中断门14386中断门
7286陷阱门15386陷阱门
第5章卷储器管理
调用门
偏移量(高)*
PDPL0类型000计数
代码段选择器
偏移量(低)
*对80286,大多数二0
域描述
P存在
DPL描述符特权级别
类型指定门类型
计数要拷贝至目标栈的字数(16位门)n
双字数(32位门)
图5.23调用门描述符格式
第5章卷储器管理
1决定谁可以访问门
2决定谁可以访问过程
允话弼绥至不一致代码段,如果:
较d特权(CPL、RPL)W门
DPL、
允许调用期码段,如果:
较寺权(CPL、RPL)W门
DPL、
B^DPL<CPL
图5.24通过调用门的转移
第5章卷储器管理
图5.25特权级和门及其间的调用
第5章卷储器管理
CALL指令通过调用门向内层程序转移时,不仅切换特权级,
而且也需要切换栈。为使微机系统安全运行,操作系统应使每个
任务为每个特权级别保持一个独立的栈。因而,当通过调用门向
内层转移时,必须从主调用程序的外层栈切换到目标的内层栈。
内层栈的特权级别由目标代码段描述符的DPL决定。内层栈的栈
段寄存器SS及栈指针ESP由任务状态段TSS中适当(与目标代码段
相同特权级)的指针进行初始化。TSS由操作系统为每个任务所建,
它包含有由操作系统初始化,且为只读的指向0级、1级和2级的
48位栈指针:栈段选择器(SS)和偏移量(ESP)o通常TSS中的ESP
指针设置成新栈段的高端限定值,因而在新的特权区总是建立起
—
第5章卷储器管理
向内调用
向外返回
返回后的
内层栈
图5.26切换到内层栈
第5章卷储器管理
5.向外层返回
CALL指令通过调用门把外层的程序转移到内层的过程(子程
序)后,当内层的子程序执行完时,需执行一条段间返回指令RET,
把程序再从内层转向外层,并将堆栈从内层切向外层。仍以图5
26为例说明返回过程。首先,从内层栈中弹出返回地址指针到
CS寄存器和EIP寄存器中,并且可以调整内层栈的ESP值(如图
5.26中ESP+16,该调整数16为RET16的操作数),使其跳过CALL
指令执行时从外层栈拷贝入内层栈的4个双字参数,指向外层栈
指针ESP的压入处。返回地址指针的选择子部分指向要返回的外
层栈。选择子的RPL字段确定返回后的特权级。
第5章卷储器管理
5.3.5页级别保护
图5.27页表及页目录项目格式
第5章存储器管理
表5.5页级保护属性
U/SiR/W用户访问权限系统访问权限
00/读/写/执行
醺[1,产,读/写/执行
1tft;:读/执行1读/写/执行:
11读/写/执行读/写/执行
第5章卷储器管理
表5.6页目录和页表的保护组合
页目录项目页表项目有效保护
特权访问特权访问特权访问
监督者R或R/W监督者或用户R或R/W监督者R/W
用户:
R或R/W监督者R或R/W监督者R/W
用户R用户R或R/W用户R
用户R/W用户R用户R
用户R/W用户R/W用户R/W
第5章卷储器管理31161510
I/O映射基址000000000000000T64H
任务切换0000000000000000任务的LOT选群60H
5.3.60000000000000000GS5CH
0000000000000000FS58H
0000000000000000DS54H
1.任务状态段0000000000000000SS50H
0000000000000000cs4CH
0000000000000000ES48H
EDI44H
ESI40H
EBP3CH
ESP38H
EBX34H
EDX30H
ECX2CH
EAX28H
EFLAGS24H
EIP20H
保留1CH
0000000000000000CPL2演S18H
CPIN的ESP14H
0000000000000000CPL1的SS10H
CPL1的ESPCH
0000000000000000CPLO的SS8
CPLO的ESP4
图52832位任务状态段注:累添髅普落"变在初始化后不改变。其它区
第5章卷储器管理
1)链接字段
任务A任务B任务CEFLAGS
图5.29任务状态段的链接链
第5章卷储器管理
》两层布措钎
任务状态段中有3个内层栈指针,均为48位全指针,依次存
放在TSS中偏移量为4、12及20开始的区域中,分别指向0级、1级
及2级堆栈的栈顶。当发生向内层转移时,便把相应的内层栈指
针装入到SS及ESP寄存器,以便切换到内层堆栈,且把外层栈指
针压入内层栈中,以便当内层向外层返回时恢复外层栈用。TSS
段的内层栈指针没有指向3级的栈指针(因为3级是最外层的特权
级)。如果任务在3级被挂起,由于没有发生特权级转移,堆栈不
用切换,且被挂起任务的指针保存在TSS的SS及ESP寄存器映象
中。
TSS段中的内层栈指针只能读出不能写入,因而,向内层栈
切换时总是将内层栈初始化为同样的栈指针。这是因为不可能发
第5章卷储器管理
不方亲前画弱的筋荐露
这里所谓有关地址映射的基寄存器是指局部描述符表寄存器
LDTR和控制寄存器CR3。LDTR包含当前任务的LDT描述符的选
择子。CR3包含页转换机制中页目录表的基地址(起始地址)。
任务切换时,处理器用新任务TSS段中偏移量为60H中的内容(任
务的LDT描述符选择子)装入LDTR寄存器。这样,便将局部描述
符表LDT变成新任务的LDT,从而也就改变了虚拟地址到线性地
址的转换函数。同样,在任务切换时,处理器用新任务TSS段中
偏移量为1CH处的内容装入CR3寄存器。这样,就将页目录表变
成新任务的页目录表,从而改变了线性地址到物理地址的转换函
数。这种在任务之间改变转换函数的能力,也是保护机制的一部
分,使任务之间得到相互隔离。
第5章卷储器管理
4)寄存器保存区域
TSS的寄存器保存区位于偏移量为20H〜5FH的区域,用来保
存通用寄存器、处理器控制寄存器及段寄存器的内容。其中各
段寄存器内容都保存在一个32位的双字中,双字的低16位存放
16位选择子,双字的高16位为全零。当TSS对应的任务正在执行
时,保存区域是未定义的。当前任务被切换时,通用寄存器、
处理器控制寄存器及段寄存器的当前值便存入当前任务的保存
区域中。这样,当再次发生任务切换,并切换回原任务时,各
寄存器的值可由保存区域读出,恢复成该任务切换前的状态,
以使原任务能恢复执行。
第5章卷储器管理
5)其它字段
TSS中偏移量从66H开始的区域存放I/O许可位图,它定义了
可由TSS对应任务寻址的I/O端口地址。I/O许可位图属于TSS中
的附加字段。
TSS中偏移量为64H处的字是为任务提供的特别的属性。
80386中只定义了一个调试陷阱属性位T(位于64H处字的最低位),
字的其它位为全零。当发生任务切换时,进入任务的T位为1,
则在任务切换后,新任务的第一条指令执行之前产生调试陷阱。
调试陷阱可使软件在任务之间根据需要有效地共享调试寄存器。
第5章卷储器管理
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 江苏省南通市通州高级中学2024-2025学年高二上学期第二次阶段性检测物理试题(含答案)
- 江苏行政职业能力模拟48
- 2022年湖南省湘西州中考数学试卷 (原卷版)
- 浙江公务员面试模拟113
- 可视化教学在小学音乐课堂中的应用
- 2000年新疆公务员面试真题
- 地方公务员辽宁申论80
- 网络服务器搭建、配置与管理-Linux(麒麟欧拉)(微课版)(第5版)课堂实践任务单2-熟练使用Linux基本命令
- 河南行政职业能力测验模拟61
- 湖南行政职业能力模拟122
- 肾素血管紧张素系统药
- 双碱法脱硫操作规程
- 二实小“群文阅读”立项申报书
- 传感器技术习题答案
- 射线作业安全培训课件
- 采油院井下工具介绍
- 轻钢龙骨纸面石膏板隔墙施工法
- 施工机具报审表
- 市场结构理论练习习题
- 材料力学内部习习题集及问题详解
- 灯杆生产工艺流程
评论
0/150
提交评论