笔记-操作系统-内存-内核空间与用户空间
1. 内核空间与用户空间
用户空间就是用户进程所在的内存区域,相对的,系统空间就是操作系统占据的内存区域。用户进程和系统进程的所有数据都在内存中。
上面的话叫做正确的废话,没什么意义。
1.1. 基本概念
问题来了:
- 1. 谁来划分内存空间的呢?
这种划分是操作系统在逻辑上的划分,不同版本的操作系统划分的结果都是不一样的。
- 2. 用户空间与内核空间的具体体现形式
32位操作系统的寻址空间(虚拟存储空间)为4G(2^32)。
操心系统的核心是内核,独立于普通的应用程序,可以访问受保护的内存空间,也有访问底层硬件设备的所有权限。为了保证用户进程不能直接操作内核,保证内核的安全,操心系统将虚拟空间划分为两部分,一部分为内核空间,一部分为用户空间。
针对linux操作系统而言,将最高的1G字节(从虚拟地址0xC0000000到0xFFFFFFFF),供内核使用,称为内核空间,而将较低的3G字节(从虚拟地址0x00000000到0xBFFFFFFF),供各个进程使用,称为用户空间。每个进程可以通过系统调用进入内核,因此,Linux内核