关于Linux版本、Linux的用户空间和系统空间以及Linux中的进程
Linux 有哪些版本?
首先,Linux的版本分为内核版本和发行版本
内核版本
- 由Linux作者本人维护
- 是Linux操作系统的核心
- 提供进程管理、内存管理、文件系统管理、硬件资源管理等一系列底层能力
查看内核版本的命令
uname -a // 或者
cat /proc/version // /proc文件夹存储的是当前内核运行状态的一系列特殊文件
发行版本
发行版本 = Linux 内核 + 常用软件
- Debian 系列
- Debian
- Ubuntu
- Red Hat 系列
- CentOS
- Fedora
- RHEL
- Slackware 系列
- SUSE
- 国产系列
- 龙芯
- 鲲鹏
- 飞腾
查看发行版本的命令
cat /etc/os-release // /etc文件夹存储的是系统管理所需要的配置文件和子目录
Linux 系统分为用户空间和内核空间
为什么要分用户空间和内核空间
- 从安全的角度讲,这两个空间是隔离的,即使应用程序崩溃了,内核空间也不会受影响
- 从权限的角度讲,内核程序运行于内核空间,拥有最高级别的权限;应用程序运行于用户空间,拥有较低级别的权限,不能直接访问内存和硬件设备
内核空间
理解内核
- 内核是硬件与软件之间的中间层,是一个资源管理程序
- 内核提供一组命令,外部的应用程序可以通过这些命令与系统进行交互
用户空间
应用程序如何与硬件设备通信
- 程序会从“用户态”切换为“内核态”
-
- 图中正在执行的程序就是一个“进程”,下一节展开讲Linux中的进程
Linux 中的进程
- 进程是正在执行的一个程序或命令
- 下图是一个进程的生命周期:
-
- 虽然一个CPU核同一时间只能运行一个进程,但是Linux系统可以通过“进程调度”来实现同时运行多个进程
进程调度
- 进程调度指操作系统按某种策略或规则选择进程占用CPU进行运行的过程
- 比如,每100毫秒,CPU拉起一个待执行的进程,然后采用轮询的方式执行一个队列中的进程,轮询完成则回到第一个进程反复