内核空间_用户空间_特权级别

1. linux将虚拟地址空间划分为两部分,内核空间和用户空间。

一般32位处理器,虚拟内存大小= 2的32次方 B = 4GB.

现在的64位处理器可以支持 虚拟内存 = 2的64次方 B = 16GB.

用户空间地址范围 0 --- TASK_SIZE.

内核空间地址范围 TASK_SIZE --- 4GB/16GB。

一般32位处理器 TASK_SIZE = 3G,这个比较常见。

2. 每个用户进程都有自己的虚拟地址空间,各个系统进程的用户控件是完全彼此独立的。

而虚拟地址空间顶部的内核空间却只有一个,这就涉及到系统权限的概念了。

linux使用了2种特权级别:核心态 和 用户态。

系统调用可以从用户态切换到核心态。

异步硬件中断也可以使内核激活,然后在中断上下文中运行核心态。

3. 页表: 用来将虚拟地址空间映射到物理地址空间的数据结构。


posted on 2013-01-28 22:00  胡永光  阅读(118)  评论(0编辑  收藏  举报

导航