当我们谈论开机的时候我们在谈论些什么(三)——特权级(未完成)

注:本文所有说到特权级大小的地方都是指的数字。

本文阐述了两部分内容:
1、一致代码段和非一致代码段
2、怎么设置特权级

特权级这部分比较绕,说起来并没有很多东西,但是需要整理整理。

一、一致代码段和非一致代码段

代码段分为一致代码段和和非一致代码段(只有代码段才区分这个,数据段并不区分)。一般我们认识一个新事物需要搞懂两个问题:为什么和怎么做。所以本文会解释为什么做这个区分,和怎么区分的。
做出这个划分主要是因为操作系统要区分内核态和用户态。下面看下表(下表中的高–>低指的是高特权级访问低特权级的代码段):

                高-->低   |   低-->高    |      同特权级
一致代码段       不允许     |    允许      |      允许
非一致代码段      不允许     |    不允许    |      允许

非一致代码段只允许同特权级的进程访问,一致代码段允许低特权级访问高特权级的代码,所以相比起来,非一致代码段安全性要高一点。所以内核把自己的核心代码段设置成非一致代码段,把需要和用户共享的代码段设置成一致代码段。

因为这个区分了一致代码段和非一致代码段。

二、怎么设置特权级

特权级有三个,分别是:
1、RPL( Request Privilege Level):请求特权级,进程发出请求的特权级,存储在段选择子中(段选择子详情参见上一篇博文)。
2、CPL(Current Privilege Level):任务特权级,就是进程的特权级,存储在cs低两位中。
3、DPL(Descriptor Privilege Level):描述符特权级,表示该描述符表示的段的特权级,存储在描述符表中。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值