Linux基础|青训营笔记(day2)

107 阅读4分钟

本文是字节跳动青训营的学习笔记——Linux基础

学习Linux的价值

  • Linux是现代化应用程序交付的首选平台,无论是部署在裸机、虚拟化还是容器化环境
  • 公司内部服务(TCE、FaaS、SCM)统一使用Debian Linux系统
  • 熟悉Linux基础指令,能便于熟练运维前端常用服务(Nginx、Node.js)
  • 加深对操作系统概念和实现的理解,夯实基础知识

计算机硬件

在一个完整的冯·诺依曼计算体系中,计算机主要由五大基本单元组成:控制器、运算器、存储器、输入单元和输出单元。

image.png

image.png

计算机操作系统

操作系统(Operation System, OS):管理和控制计算机系统中的硬件和软件资源,用于在用于系统硬件之间传递信息。

总结下来计算机操作系统就有两大功能:管理计算机资源和提供用户接口

image.png

image.png

image.png

操作系统的启动流程分为传统模式(基于BIOS模式的启动流程)和当前主流模式(基于UEFI的启动流程)

其中,BIOS或者UEFI就是一段固化在主板上的程序,计算机启动时会默认运行(执行和解析)这段程序,当这段程序解析以后会进行一系列的初始化的动作,以然后去寻找一个Bootloader(即操作系统引导程序)并运行这段程序,然后通过这段Bootloader程序去加载和运行OS。

  • BIOS在启动过程中会有一个BIOS自检,这个过程会对硬件进行一些检查,导致开机时间变长。而UEFI就优化了这个自检的过程,使系统启动速度有明显的提升。
  • BIOS启动会配合一个MBR分区,无法引导启动超过2.2T的磁盘,但是UEFI一般配合GPT分区 ,支持引导超过2.2T的磁盘。

Linux系统概览

linux版本

Linux版本:常规Linux版本分为内核版本和发行版本。

两种版本的关系可以简单理解为:linux内核版本+常用软件=linux发行版本

linux发行版本的几个系列

image (2).png

使用shell命令查看linux系统内核版本

# 查看linux版本的两种方法
# 方法一
uname -a
# 方法二
cat /proc/version
cat /etc/os-release   # 查看linux系统是哪个发行版本的

linux系统应用领域

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

Linux系统结构

linux基本组成

linux系统一般由四个主要部分组成:内核、shell、文件系统、应用程序。

内核:提供操作系统的一些底层能力,包括内存管理、进程管理、文件系统管理和硬件资源管理。

shell:实质上就是一个命令解释器,在shell中输入一些指令与linux进行交互,从而达到使用和管理linux中的一些资源的目的。

文件系统:负责把用户文件存在磁盘中。

应用程序:在linux上运行的一些程序。 image (2).png

linux体系结构

linux体系结构在大体上分为用户空间内核空间

image.png

体系结构子目录包含许多其他子目录,这些子目录专注于内核的特定方面,如:引导、内核、内存管理等。

image (2).png

linux系统结构——进程管理

进程管理:

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

当linux启动的时候会拉起一个PID为0的进程,当0进程(所有进程的上级)启动以后会拉起1进程(所有用户进程的父进程)和2进程(所有内核进程的父进程)。在后续所有的用户进程启动的时候都是以1进程为模板创建的新进程。 image.png

查看进程的命令

# 查看启动的nginx进程
ps -ef | grep ngix
# 以查询到的进程PID为93824为例
#  查看某个进程
top -p 93824

# 关闭指定进程
kill 93824

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

image.png

实际上,linux系统是通过进程调度的方式实现同一时间运行多个程序。

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

可以简单理解为:CPU将其运行时间做了切分,比如以100ms为一个单位,每100msCPU就会拉取一个待执行进程进入执行状态,当进程执行完成或者本次执行时间到期后,CPU会自动切换到下一个进程。

Linux系统软件包管理器

image.png