永发信息网

IA-32基本保护机制是如何实现的

答案:2  悬赏:40  手机版
解决时间 2021-12-29 21:24
IA-32基本保护机制是如何实现的
最佳答案
1.不同任务之间的保护
通过把每个任务放置在不同的虚拟地址空间的方法来实现任务与任务的隔离,达到应用程序之间保护的目的。虚拟地址到物理地址的映射函数在每个任务中进行定义,随着任务切换,映射函数也切换。任务A的虚拟地址空间映射到物理地址空间的某个区域,而任务B的虚拟地址空间映射到物理地址空间的另外区域,彼此独立,互不相干。因此,两个不同的任务,尽管虚拟存储单元地址相同,但实际的物理存储单元地址可以不同。
每个任务各有一组独立的映射表,即具有不同的地址转换函数。在80386上,每个任务都有自己的段表及页表。当处理器进行切换并执行新的任务时,这种任务切换的一个重要部分,就是为新任务切换任务的转换表。为了使操作系统与所有的应用程序相隔离,可以把操作系统存储在一个单一的任务中。然而,我们即将看到,在一个任务内操作的保护机制,更适合于保护操作系统,使其不被应用程序破坏。这种机制,使操作系统由所有任务共享,并且可在每一任务中对其进行访问,而且仍然保护了操作系统,使其不被应用程序破坏。这种保护操作系统的方法,是把操作系统存储在虚拟地址空间的一个公共区域,然后,再使每一任务按此区域分配一个同样的虚拟地址空间,并进行同样的虚拟--物理地址映射。各个任务公用的这部分虚拟地址空间,被称为全局地址空间。
仅由一个任务占有的虚拟地址空间部分,即不被任何其它任务共享的虚拟地址部分,称为局部地址空间。局部地址空间包含的代码和数据,是任务私有的,需要与系统中的其它任务相隔离。
再每个任务中有不同的局部地址空间。因此,两个不同的任务中,对同一虚拟地址的访问,实际上转换为不同的物理地址。这就使操作系统对每 个任务的存储器,可以赋予相同的虚拟地址,仍然保证任务的隔离。另一方面,对全局地址空间中同一虚拟地址的访问,在所有任务中都转换为同样的物理地址,从而支持公共的代码及数据的共享,例如对操作系统的共享。
2.同一任务内的保护
在一个任务之内,定义有四种执行特权级别,用于限制对任务中的段进行访问。按照包含在段中的数据的重要性和代码的可信程度,给段指定特权级别。把最高的特权级别分配给最重要的数据段和最可信任的代码段。具有最高特权级别的数据,只能由最可信任的代码访问。给不重要的数据段和一般代码段分配较低的特权级别。具有最低特权级别的数据,可被具有任何特权级别的代码访问。 特权级别用数字0、1、2和3表示,数字0表示最高特权级别,而数字3表示最低特权级别,即数字较大的级别具有较低的特权。每一特权级都有各自独立的程序堆栈,以避免与共享栈区有关的保护问题。当一个程序从一个特权级切换到另一个特权级执行时,程序使用的堆栈,从原特权级的栈段改变为新特权级的栈段。对于堆栈段寄存器 SS来说,描述符特权级(DPL)必须等于当前代码段的特权级(CPL)。从一个特权级切换到另一特权级的方法将在控制转移方法一文中描述。
全部回答
任何模式下段寄存器都是16位。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
吃多了感光食物,一晒太阳,皮肤就会变黑吗?
【疑问】雪纳瑞怕冷吗?
上海市嘉定区嘉罗公路189号的那个上海汽车变
手机号码锁定了怎么办
有没有一部校园电视剧或电影里面的女主开始戴
赛尔号雷伊完全体怎么的?
下图是奥地利1951-2001年人口增长状况示意图
爱卡啦触爱卡啦触,爱卡啦囧架架囧架架,是什
单选题两个五年计划实施后苏联的工业总产值居
黄龙县城乡建设局办公位置在哪啊?好找么?
舟山市普陀区交警大队浦西中队地址好找么,我
英乐艺幼稚园在哪里啊,我有事要去这个地方
单选题Nearby were two canoes&nb
歌曲帝女花要表达的意思
兴义到成都的飞机在那个位置接机
推荐资讯
一个人说 已经不需要金钱来修饰自己了。是什
10月去加拿大贾斯伯国家公园和亚伯拉罕湖哪个
小白心里软的灵感来自何处,感觉很棒,想深知
晚上吃辣条这些,会变胖吗?
请问,节前何时停市,
单选题Most of the problems
最先证明地球是球形的是A.人造地球卫星的发射
有没有招网络写手的
求宫锁连城全集资源最好画质清楚一点的
对气温的观测,通常一天要进行________次.
借条借款用途写什么好
surface初始化电脑输入恢复密钥是什么?
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?