Linux用户空间与内核空间、内核的功能与作用 |
您所在的位置:网站首页 › linux用户空间和内核空间方法是什么 › Linux用户空间与内核空间、内核的功能与作用 |
Linux用户空间与内核空间、内核的功能与作用
Linux用户空间与内核空间、内核的功能与作用
用户空间和内核空间
概念简介
为什么需要区分内核空间和用户空间
内核态和用户态
如何从用户空间进入内核空间
整体结构
实例讲解
内核的概念和作用
内核的概念
内核的作用
Linux用户空间与内核空间、内核的功能与作用
在讲述内核的功能及其作用以前,先简单介绍一下内核空间和用户空间 用户空间和内核空间 概念简介 内核空间(User Space):用户程序的运行空间。为了安全,它们是隔离的,即使用户的程序崩溃,内核也不会受到影响。只能执行简单的运算,不能直接调用系统资源,必须通过系统接口(system call),才能向内核发出指令。 内核空间(Kernel Space):这是Linux内核的运行空间,可以执行任意命令,调用系统的一切资源。对 32 位操作系统而言,它的寻址空间(虚拟地址空间,或叫线性地址空间)为 4G(2的32次方)。也就是说一个进程的最大地址空间为 4G。 操作系统的核心是内核(kernel),它独立于普通的应用程序,可以访问受保护的内存空间,也有访问底层硬件设备的所有权限。为了保证内核的安全,现在的操作系统一般都强制用户进程不能直接操作内核。 具体的实现方式基本都是由操作系统将虚拟地址空间划分为两部分,一部分为内核空间,另一部分为用户空间。针对 Linux 操作系统而言,最高的 1G 字节(从虚拟地址 0xC0000000 到 0xFFFFFFFF)由内核使用,称为内核空间。而较低的 3G 字节(从虚拟地址 0x00000000 到 0xBFFFFFFF)由各个进程使用,称为用户空间。 对上面这段内容我们可以这样理解: 每个进程的 4G 地址空间中,最高 1G 都是一样的,即内核空间。只有剩余的 3G 才归进程自己使用。换句话说就是, 最高 1G 的内核空间是被所有进程共享的。下图描述了每个进程 4G 地址空间的分配情况: 在 CPU 的所有指令中,有些指令是非常危险的,如果错用,将导致系统崩溃,比如清内存、设置时钟等。如果允许所有的程序都可以使用这些指令,那么系统崩溃的概率将大大增加。 所以,CPU 将指令分为特权指令和非特 |
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |