Linux kernel 学习笔记(1) --分段分页保护机制

本文详细介绍了Linux系统中基于80x86处理器的分段和分页保护机制。分段涉及逻辑地址、线性地址和物理地址之间的转换,以及段标识符、段寄存器和段描述符的概念。段描述符中的DPL用于限制访问权限,而RPL和CPL则分别表示请求和当前的特权级。分页机制将线性地址划分为目录项、页表项和偏移量,通过Read/Write和User/Supervisor标志控制页面的读写权限和访问级别。
摘要由CSDN通过智能技术生成

使用80x86处理器进行寻址时牵涉到三种不同的地址,其关系如下所示

 

逻辑地址------------------->线性地址-------------------------->物理地址

                 (分段)                             (分页)


分段的保护机制:

 

一个逻辑地址由两部分组成:段标识符和偏移量。其中偏移量是一个32位长的字段,段标识符是一个16位长的字段,称为段选择符,含有一个13位的段描述符索引,一个1位的GDT和LDT指示位和一个两位的请求者特权级。

请求者特权级(RPL)是用来指示当前CPU的特权级。0代表最高优先级,3代表最低优先级,Linux只用0和3,分别称之为内核态和用户态。

 

为了快速方便的找到段选择符,处理器提供了段寄存器,段寄存器的唯一目的是存放段选择符,其中CS寄存器中包含一个两位的字段,用来指明CPU的当前优先级(CPL)。

 

段描述符是由8个字节来表示段的特性,它被保存在全局描述符表(GDT)和局部描述符表(LDT)中,由于段描述符的内容较多,在此不一一介绍。关键的有一个两位表示的描述符特权级(DPL),主要用于限制对这个段的存取,它表示可以访问这个段的最小CPU优先级。

 

以上三段共提到3个特权级,分别是RPL、CPL和DPL。是不是有点晕了,不着急

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值