32位保护模式下对段的保护

本文详细介绍了32位保护模式下对段的保护措施,包括修改段寄存器时的保护和地址变换时的保护。在修改段寄存器时,通过检查描述符的有效性和类型来确保安全;而在地址变换时,针对代码段执行和栈操作进行了不同的保护检查,如检查指令长度和栈操作的偏移地址,以防止异常和非法访问。
摘要由CSDN通过智能技术生成
1.修改段寄存器时的保护
  1. 索引值 * 8 + 7<= 边界 => 取得描述符;
  2. 看描述符TYPE字段是否有效;
  3. 检查描述符TYPE字段是否与段寄存器要求匹配,规则如下表:
段寄存器 数据段 代码段
W=0(只读) W=1(读写) R=0(只执) R=1(执+写)
CS N N Y Y
DS Y Y N Y
ES Y Y N Y
FS Y Y N Y
GS Y Y N Y
SS N Y Y Y
  • 检查描述符P位,P=0即不在内存中,引发异常中断11(应定义一个中断处理程序,把该段调到内存中,置P位);P=1则将描述符加载到段寄存器缓存器,置TYPE字段的A位;
2.地址变换时的保护
2.1 代码段
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值