Chinaunix首页 | 论坛 | 博客
  • 博客访问: 62122
  • 博文数量: 12
  • 博客积分: 469
  • 博客等级: 二等列兵
  • 技术积分: 155
  • 用 户 组: 普通用户
  • 注册时间: 2012-05-24 22:00
文章分类

全部博文(12)

文章存档

2014年(2)

2012年(10)

分类: LINUX

2012-09-08 19:54:45

一致代码段是用在内核共享的段,这些都段允许应用程序访问,而不需要内核转移到应用程序中访问这些共享资源。
 
一致代码段:
  • 特权级高的程序不允许访问特权级低的数据。比如内核态不允许调用用户态数据。
  • 特权级低的程序可以访问到特权级高的数据,但是访问程序的特权级不会发生变化。比如用户态访问内态共享资源时不会变成内核态
非一致代码段:
  • 只允许同级访问。
  • 绝对禁止不同级程序的访问,即内核态不能访问用户态,用户太不能访问内核态。
 
这样做的目的就是为了系统的安全,分离内核态和用户程序,使内核不能背用户程序干涉,同时避免使用用户态程序修改内核态逻辑,导致在内核态下执行用户程序的代码。
 
 
 
 

特权级
低->高
特权级
高->低
特权级
同级之间
适用于何种代码
一致代码段 Yes No Yes 不访问受保护的资源和某些类型的异常处理的系统代码
非一致代码段 No No Yes 避免低特权级的程序访问而被保护起来的系统代码
数据段
(总是非一致)
No Yes Yes
 
阅读(3149) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~