如何深入浅出地理解并改写保护模式下的特权级在自制操作系统中的应用?
- 内容介绍
- 文章标签
- 相关推荐
本文共计3136个文字,预计阅读时间需要13分钟。
目录
一、前言回顾
二、什么是特权级检查
三、门
四、如何进行特权级检查
五、调用门的执行流程
六、调用门的权限检查
七、前言回顾
我们之前讲过保护模式目录
一、前景回顾
二、什么是特权级检查
三、门
四、如何进行特权级检查
五、调用门的跳转执行流程
六、调用门的跳转权限检查
一、前景回顾
我们在前面讲过保护模式较之于实模式的三大特点:分页机制、特权级和分时机制。现在分页机制的坑已经填好了,接下来我们开始填特权级的坑。
二、什么是特权级检查
首先我们来看看什么是特权级,CPU为了计算机的安全,将程序拥有的权力划分为了4个等级,也就是特权级,特权级按照权力大小划分为了0、1、2、3级,数字越小,权力越大。我们操作系统内核所占的特权级就是0级,处于至高无上的地位,而用户的应用程序处于3级,最低特权级。不过在Linux中,实际只用上了0级和3级,即我们常说的用户态便处于3级,内核态处于0级。
特权级检查,说到底就是起到一个保护作用,操作系统为了避免用户程序随意访问内核,修改内核数据,所以在“访问者”访问“受访者”那一刹那,体现在实际中就是:段寄存器中的值被重新加载段选择子时(因为我们已经进入保护模式),检查访问者的特权级和受访者的特权级是否匹配。
在特权级中我们要认识一些特定术语:
1、CPL:处理器当前的特权级。
2、DPL:段或者门的特权等级,位于段描述符或者门描述符的DPL字段。
本文共计3136个文字,预计阅读时间需要13分钟。
目录
一、前言回顾
二、什么是特权级检查
三、门
四、如何进行特权级检查
五、调用门的执行流程
六、调用门的权限检查
七、前言回顾
我们之前讲过保护模式目录
一、前景回顾
二、什么是特权级检查
三、门
四、如何进行特权级检查
五、调用门的跳转执行流程
六、调用门的跳转权限检查
一、前景回顾
我们在前面讲过保护模式较之于实模式的三大特点:分页机制、特权级和分时机制。现在分页机制的坑已经填好了,接下来我们开始填特权级的坑。
二、什么是特权级检查
首先我们来看看什么是特权级,CPU为了计算机的安全,将程序拥有的权力划分为了4个等级,也就是特权级,特权级按照权力大小划分为了0、1、2、3级,数字越小,权力越大。我们操作系统内核所占的特权级就是0级,处于至高无上的地位,而用户的应用程序处于3级,最低特权级。不过在Linux中,实际只用上了0级和3级,即我们常说的用户态便处于3级,内核态处于0级。
特权级检查,说到底就是起到一个保护作用,操作系统为了避免用户程序随意访问内核,修改内核数据,所以在“访问者”访问“受访者”那一刹那,体现在实际中就是:段寄存器中的值被重新加载段选择子时(因为我们已经进入保护模式),检查访问者的特权级和受访者的特权级是否匹配。
在特权级中我们要认识一些特定术语:
1、CPL:处理器当前的特权级。
2、DPL:段或者门的特权等级,位于段描述符或者门描述符的DPL字段。

