Linux 环境下的内核态与用户态
来源:互联网 发布:淘宝账户怎么注册 编辑:程序博客网 时间:2024/06/06 09:29
Linux使用了Ring3级别运行用户态,Ring0作为内核态,没有使用Ring1和Ring2。
Ring3状态不能访问Ring0的地址空间,包括代码和数据。
Linux进程的4GB地址空间,3G-4G部分大家是共享的,是内核态的地址空间,这里存放在整个内核的代码和所有的内核模块,以及内核所维护的数据。
用户运行一个程序,该程序所创建的进程开始是运行在用户态的,如果要执行文件操作,网络数据发送等操作,必须通过write,send等系统调用,这些系统调用会调用内核中的代码来完成操作,这时,必须切换到Ring0,然后进入3GB-4GB中的内核地址空间去执行这些代码完成操作,完成后,切换回Ring3,回到用户态。
这样,用户态的程序就不能随意操作内核地址空间,具有一定的安全保护作用。
至于说保护模式,是说通过内存页表操作等机制,保证进程间的地址空间不会互相冲突,一个进程的操作不会修改另一个进程的地址空间中的数据。
- Linux 环境下的内核态与用户态
- linux下用户态与内核态的区别
- linux下的内核态与用户态
- 【专栏】Linux环境下用户空间与内核空间数据的交换方式
- Linux环境下用户空间与内核空间数据的交换方式
- Linux环境下用户空间与内核空间数据的交换方式
- Linux环境下用户空间与内核空间数据的交换方式
- Linux用户态与内核态的交互
- Linux 用户态与内核态的交互
- Linux 用户态与内核态的交互
- Linux 用户态与内核态的交互
- Linux 用户态与内核态的交互
- Linux 用户态与内核态的交互
- Linux内核态与用户态通信的常用方法
- Linux 用户态与内核态的交互
- Linux内核态与用户态通信的常用方法
- Linux的内核态与用户态切换
- Linux内核态与用户态通信的常用方法
- POJ 1141 Brackets Sequence
- 修改weblogic端口
- VS2008静态编译配置选项的位置
- 2.6.22.6 版本的主目录下的Makefile 语法分析
- C语言图形编程
- Linux 环境下的内核态与用户态
- 国际化软件测试内容解析
- 字体边框的光晕效果
- DFB使用
- 学习 信息资源管理第一章
- #define的使用注意
- EBS预置文件设置以及系统之间的移植
- Linux下常用文件系统
- UTF-8 and Unicode FAQ