Linux系统概论
Linux版本
- 内核版本
Linux的核心,由Linux作者本人开发维护,包括进程管理,内存管理,网络,文件系统管理,硬件资源管理等底层能力。
- 发行版本
Linux发行版指的就是通常所说的“Linux操作系统”,它一般是由一些组织、团体、公司或者个人制作并发行的。Linux内核主要作为Linux发行版的一部分而使用。通常来讲,一个Linux发行版包括Linux内核,以及将整个软件安装到电脑上的一套安装工具,还有各种GNU软件,和其他的一些自由软件,在一些Linux发行版中可能会包含一些专有软件。
可以通过 cat /proc/version命令来查看Linux的内核版本
通过 cat /etc/os-release命令来查看Linux的发行版本
应用领域
- IT服务器(操作系统,虚拟化,云计算)
- 嵌入式和智能设备
- 个人办公桌面
- 学术研究与软件研发
Linux的系统结构
Linux的基本组成
Linux系统一般由4个主要部分
- 内核
- shell
- 文件系统
- 应用程序
Linux体系的结构
为什么Linux的结构分为用户空间和内核空间呢?
- 从安全角度来说,用户空间与内核空间是隔离的,即使应用程序发成了崩溃 ,内核的运行不会受到影响
- 从权限角度来说,内核程序运行在内核空间,拥有最高的权限,包括所有的硬件设备和系统的资源,而应用程序运行在用户空间,只有部分权限,只能看到允许他们使用的部分系统资源,不能直接访问内存和硬件设备。Linux系统通过权限的划分保证资源的分配及管理的可控,确保了系统的稳定和可靠。
- 应用程序要访问硬件设备,会切换所在的上下文,当需要访问硬件设备时,会从用户态切换到内核态,此时应用程序会拥有所需的权限,当访问结束,又会切换到用户态。
- 内核是硬件与软件的中间层,是一个资源管理程序,并提供了一组面向系统的的命令来供应用程序使用
内核漫画
这幅漫画简单的把Linux分成了三层,每层的小企鹅代表一个进程
- 底层是fileSystem,文件管理系统
- 中间层是进程管理
- 上层命令行工具,负责交互部分
进程管理
- 进程是正在执行的一个程序或命令
- 进程有自己的地址空间,占用一定的系统资源
- 一个CPU核同一时间只能运行一个进程
- 进程由他的进程ID(PID)和他的父进程ID(PPID)唯一识别
当启动一个进程时,它会fork一个父进程,来拉起一个子进程
Linux的进程结构是一个树形结构,这对管理进程提供了很大的方便 不管是内核或者用户都有很大受益
进程调度
Linux通过进程调度的当时来处理多个进程
- 进程调度是指操作系统按某种策略或规则来选择进程占用CPU进行运行的过程
。。。。。。