Linux基础 | 青训营笔记

59 阅读5分钟

课程介绍

学习 Linux 的价值

  • Linux 是现代化应用程序交付的首选平台,无论是部署在裸机、虚拟化还是容器化环境
  • 公司内部服务(TCE、FaaS、SCM)统一使用 Debian Linux 系统
  • 熟悉 Linux 基础指令,熟练运维前端常用服务(Nginx,Node.js)

Linux 为什么选企鹅作为 Logo

  • 企鹅是南极洲的标志性动物,根据国际公约,南极洲为全人类共同所有不属于当今世界上的任何国家。
  • Linux 选择企鹅图案作标志,其含意也是表明:开源的 Linux,为全人类共同所有,任何公司无权将其私有。

1. 计算机硬件

由五大基本单元组成

名称作用说明举例
控制器协调和指挥计算机中其他部件进行工作常规意义上认为与运算器共同组成CPU单元
运算器算术和逻辑运算常规意义上认为与运算器共同组成CPU单元
存储器单元内存和外存磁盘、光驱都是属于外存
输入单元鼠标、键盘
输出单元显示器、音响

image.png

2. 计算机操作系统

简介

  • 管理和控制计算机系统中的硬件和软件资源,用于在用户与系统硬件之间传递信息

  • 承上启下,提供两大能力:

    1. 管理计算机资源
      • 处理器管理
      • 存储器管理
      • 设备管理
      • 文件管理
    2. 提供用户接口
      • 命令接口
      • 图像用户接口
      • 程序接口
  • 常见操作系统

    • iOS
    • Linux
    • Windows
    • Anroid
    • HarmonyOS

启动流程

  • BIOS/UEFI
    • 简单理解为固化在主板上的一段程序
    • 作用:让计算机开机的时候就可以去执行和解析这段程序,当程序初始化的时候然后找到操作系统引导程序 Bootloader,最终运行OS
    • 区别:UEFI是BIOS的优化版本

image.png

3. Linux 系统概览

版本

  • 内核版本
  • 发行版本

Linux内核 + 常用软件 = Linux发行版本

比较主流的Linux发行版本分支:

image.png

应用领域

  • IT 服务器(操作系统、虚拟化和云计算)
  • 嵌入式和智能设备
  • 个人办公桌面
  • 学术研究与软件研发

4. Linux 系统结构

主要部分

  • 内核:提供操作系统的底层能力,如内存管理、进程管理、文件系统管理和硬件资源管理
  • shell(命令解释器):通过输入指令实现与Linux的交互,达到管理和使用Linux里面的资源目的
  • 文件系统:负责管理持久数据的子系统,即把用户的文件存入磁盘中去
  • 应用程序:Linux之上运行的程序

image.png

体系结构

  • 内核是硬件与软件之间的中间层
  • 内核是一个资源管理程序
  • 内核提供一组面向系统的指令

image.png

内核漫画

image.png

进程管理

  • 进程是正在执行的一个程序或命令
  • 进程有自己的地址空间,占用一定的系统资源
  • 一个CPU核同一时间只能运行一个进程
  • 进程由它的进程ID(PID)和它父进程的ID(PPID)唯一识别

通过父进程拉起一个子进程,将父进程作为模板创建一个新的进程,将子进程自己的系统资源和内容映射到新创建的进程之中,并不是通过接口创建新的进程。总结来说,Linux的进程结构是树形结构:

image.png

进程调度

  • 进程调度是指操作系统按某种策略或规则选择进程占用CPU进行运行的过程

image.png

  • R(TASK_RUNNING),可执行状态
  • S(TASK_INTERRUPTIBLE),可中断的睡眠状态
  • D(TASK_UNINTERRUPTIBLE),不可中断的睡眠状态
  • T(TASK_STOPPED or TASK_TRACED),暂停状态或跟踪状态
  • Z(TASK_DEAD - EXIT_ZOMBIE),退出状态,进程成为僵尸进程
  • X(TASK_DEAD - EXIT_DEAD),出状态,进程即将被销毁

进程调度原则

  • 一个CPU 核同一时间只能运行一个进程
  • 每个进程有近乎相等的执行时间
  • 对于逻辑 CPU 而言进程调度使用轮询的方式执行,当轮询完成则回到第一个进程反复
  • 进程执行消耗时间和进程量成正比

进程的系统调用

内核空间(Kernal Space):系统内核运行的空间 用户空间(User Space): 应用程序运行的空间

image.png

文件系统

  • 文件系统负责管理持久化数据的子系统,负责把用户的文件存在磁盘硬件中

  • Linux中一切皆文件

image.png

虚拟文件系统(VFS)

  • 用层提供一个标准的文件操作接口
  • 件系统提供一个标准的文件接入接口

image.png

文件读取流程

image.png

用户权限

用户账户

  • 用户账户
    • 普通用户账户:在系统中进行普通作业
    • 超级用户账户:在系统中对普通用户和整个系统进行管理
  • 组账户
    • 标准组:可以容纳多个用户
    • 私有组:只有用户自己

文件权限

文件权限关于用户有三个概念:

  • 所有者:文件的所有者
  • 所在组:文件的所有者所在的组
  • 其他人:除文件所有者及所在组外的其他人

每个用户对于文件都有不同权限,包括读(R)、写(w)、执行(X)

image.png

5. Linux 系统软件包管理器

课程总结

image.png