下载此文档

什么是Linux内核空间与用户空间.docx


文档分类:IT计算机 | 页数:约4页 举报非法文档有奖
1/4
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/4 下载此文档
文档列表 文档介绍
什么是Linux内核空间与用户空间
本文以32位系统为例介绍内核空间(ker n el s pa ce)和用户空间(u se r sp ac e)。
内核空间和用户空间
对32位操作系统而言,它的寻址空间(

什么是Linux内核空间与用户空间
本文以32位系统为例介绍内核空间(ker n el s pa ce)和用户空间(u se r sp ac e)。
内核空间和用户空间
对32位操作系统而言,它的寻址空间(虚拟地址空间,或叫线
性地址空间)为4G(2的32次方)。也就是说一个进程的最大地址
空间为4G。
操作系统的核心是内核(ke rn el),它独立于普通的应用程序,可
以访问受保护的内存空间,也有访问底层硬件设备的所有权限。为了
保证内核的安全,现在的操作系统一般都强制用户进程不能直接操作
内核。
具体的实现方式基本都是由操作系统将虚拟地址空间划分为两部分,一部分为内核空间,另一部分为用户空间。针对Li nu x 操作系
统而言,最高的1G 字节(从虚拟地址0x C0000000到0xF F FF FF FF)由内核使用,称为内核空间。而较低的 3G字节(从虚拟地址
0x00000000到0xB F FF FF FF)由各个进程使用,称为用户空间。
对上面这段内容我们可以这样理解:「每个进程的 4G 地址空间中,最高1G 都是一样的,即内核空间。只有剩余的 3G 才归进程自
己使用。」


「换句话说就是,最高1G 的内核空间是被所有进程共享的!」下图描述了每个进程4G 地址空间的分配情况:

为什么需要区分内核空间与用户空间
在CP U 的所有指令中,有些指令是非常危险的,如果错用,将
导致系统崩溃,比如清内存、设置时钟等。如果允许所有的程序都可
以使用这些指令,那么系统崩溃的概率将大大增加。
所以,C PU将指令分为特权指令和非特权指令,对于那些危险的
指令,只允许操作系统及其相关模块使用,普通应用程序只能使用那
些不会造成灾难的指令。
比如I nt el 的C PU将特权等级分为4个级别:R in g0~Ri n g3。其实 L in ux系统只使用了Ri ng0 和Ri n g3两个运行级别
(W in do ws系统也是一样的)。
本文以32位系统为例介绍内核空间(ker n el s pa ce)和用户空间(u se r sp ac e)。
内核空间和用户空间
对32位操作系统而言,它的寻址空间(虚拟地址空间,或叫线
性地址空间)为4G(2的32次方)。也就是说一个进程的最大地址
空间

什么是Linux内核空间与用户空间 来自淘豆网m.daumloan.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数4
  • 收藏数0 收藏
  • 顶次数0
  • 上传人森森
  • 文件大小17 KB
  • 时间2022-05-16
最近更新