初步认识 Linux | 青训营笔记

38 阅读2分钟

关于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 系统分为用户空间和内核空间

image.png

为什么要分用户空间和内核空间

  • 从安全的角度讲,这两个空间是隔离的,即使应用程序崩溃了,内核空间也不会受影响
  • 从权限的角度讲,内核程序运行于内核空间,拥有最高级别的权限;应用程序运行于用户空间,拥有较低级别的权限,不能直接访问内存和硬件设备

内核空间

理解内核

  • 内核是硬件与软件之间的中间层,是一个资源管理程序
  • 内核提供一组命令,外部的应用程序可以通过这些命令与系统进行交互

用户空间

应用程序如何与硬件设备通信

  • 程序会从“用户态”切换为“内核态”
    • image.png
  • 图中正在执行的程序就是一个“进程”,下一节展开讲Linux中的进程

Linux 中的进程

  • 进程是正在执行的一个程序或命令
  • 下图是一个进程的生命周期:
    • image.png
  • 虽然一个CPU核同一时间只能运行一个进程,但是Linux系统可以通过“进程调度”来实现同时运行多个进程

进程调度

  • 进程调度指操作系统按某种策略或规则选择进程占用CPU进行运行的过程
    • 比如,每100毫秒,CPU拉起一个待执行的进程,然后采用轮询的方式执行一个队列中的进程,轮询完成则回到第一个进程反复