几个重要的概念
操作系统
操作系统(operating system,简称OS)是管理计算机硬件与软件资源的计算机程序。计算机系统由处理器、内存、磁盘、键盘、显示器、网络接口以及各种其他输入/输出设备组成。计算机是一个复杂的系统。如果每个程序员都需要掌握系统的所有细节,那就不可能再编写代码了。所以,计算机安装了一层软件,称为操作系统,它的任务是为用户程序提供一个更好、更简单、更清晰的计算机模型。
内核
内核,操作系统的核心,作为应用程序连接硬件设备的桥梁,应用程序只关心与内核交互,不用关心硬件的细节。
内核的能力:
- 进程调度:管理进程、线程,决定哪个进程、线程使用CPU
- 内存管理:决定内存的分配和回收
- 提供文件系统:提供文件系统,允许对文件执行创建、获取、更新以及删除等操作
- 管理硬件设备:为进程与硬件设备之间提供通信能力
- 提供系统调用接口:进程可利用内核入口点(也称为系统调用)请求内核去执行各种任务
内核具有很高的权限,可以控制CPU、内存、硬盘等硬件,而应用程序具有的权限很小,因此大多数操作系统,把内存分成两个区域:
- 内核空间,只有内核程序可以访问(在32位系统中,3~4G)
- 用户空间,