Linux基础 | 青训营笔记

29 阅读3分钟

学习Linux的价值

  • Linux是现代应用程序交付的首选平台,无论是部署在裸机,虚拟化还是容器化环境
    
  • 公司内部服务统一使用Debian Linux系统
    
  • 熟悉Linux基础指令,熟练运维 前端常用服务(Nginx,Node.js)
    
  • 加深对操作系统概念和实现的理解,夯实基础
    
计算机有五大基本单元组成:控制器、运算器、存储器单元、输入单元、输出单元 计算机有五大基本单元组成:控制器、运算器、存储器单元、 输入单元、输出单元
  • 操作系统: 管理和控制计算机系统中的硬件和软件资源,用于在用户与系统硬件之间传递信息,起到承上启下的作用
  • Linux系统一般有4个主要部分:内核 shell 文件系统 应用程序

进程管理

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

这里解释一下进程管理的第四点这里解释一下进程管理的第四点

  • Linux系统启动一个进程后,它是通过一个父进程拉起一个子进程,也就是说它会将父进程当成一个模板来创建一个新的进程,然后将子进程的系统和资源移至新进程
  • Linux的进程结构式一个树形的结构
graph TD
Pid0 --> Pid1
Pid0 --> Pid2
Pid1 --> Pid456
Pid2 --> Pid444

查看进程信息

#查看启动的nginx进程
ps -ef | grep nginx

#查看某一个进程
top -p 93824

#关闭指定的进程
kill 93824

#全部进程动态实时视图
top

问题思考

系统中运行的程序远远大于CPU的核数,那Linux系统是如何实现同时运行这么多程序的

  • 答案是进程调度

进程调度

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

QQ截图20230415102718.png

进程调度原则

  • 一个CPU核同一时间只能运行一个进程

  • 每个进程有近乎相等的执行时间

  • 对于逻辑CPU而言进程调度使用轮询的方式执行,当轮询完成则回到第一个进程反复

  • 进程执行消耗时间和进程量成正比

  • 内核空间: 系统内核运行的空间

  • 用户空间: 应用程序运行的空间

文件系统

  • 文件系统是操作系统中负责管理持久数据的子系统,负责把用户的文件存在磁盘硬件中,持久化的保存文件
  • 树结构的目录结构

问题思考

Linux有这么多不同的文件系统,如何实现对用户提供统一调用接口的

  • 答案是虚拟文件系统

虚拟文件系统

  • 对应用层提供一个标准的文件操作接口
  • 对文件系统提供一个标准的文件接入接口
#df 命令报告文件系统磁盘空间利用率
    df -T
#mount 命令是挂载文件系统调用的,不带任何参数运行,会打印包含文件系统类型在内的磁盘分区的信息
mount

文件权限

  • 文件权限关于用户有三个概念
  • 所在者: 文件的所有者
  • 所在组: 文件的所有者所在的组
  • 其他人: 除文件所有者及所在组外的其他人
  • 每个用户对于文件都有不同的权限,包括读 R 写 W 执行
  • 例如 drwxr-xr-x d文件类型 rwxr-所有者 xr-所在组 x-其他人