Linux基础|青训营笔记

99 阅读3分钟

计算机硬件

  • 控制器:协调指挥计算机中部件
  • 运算器:算数、逻辑运算

以上两个共同组成CPU单元。

  • 存储器单元:内存&外存(磁盘)
  • 输入单元:鼠标、键盘
  • 输出单元:显示器(音响)

image.png

计算机操作系统(OS)

承上(运行应用程序)启下(与系统硬件进行交互)。

image.png BIOS&UEFI是固化在主板上的一段程序,让计算机在开机时就可以执行这段程序进行初始化操作,Bootloader是操作系统引导程序,找到它并运行,通过它使操作系统运行起来。UEFI是优化版,减轻BIOS自检等引起的开机速度缓慢问题。

Linux系统

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

应用领域

  • IT服务器
  • 嵌入式和智能设备(安卓手机底层是linux系统)
  • 个人办公桌面
  • 学术研究与软件开发

组成结构

  • 内核:操作系统底层能力,内存管理、进程管理、文件系统管理
  • shell:输入指令跟Linux内核进行交互来管理和使用Linux的资源
  • 文件系统:管理持久数据的子系统,把用户的文件存到磁盘当中去
  • 应用程序

image.png

体系结构

用户空间(应用程序运行之处)+内核空间(实现了硬件软件的交互,是一个资源管理程序,外部应用程序通过内核提供的命令与内核进行交互)

image.png

  • 安全角度:如果用户空间崩溃了也不会影响到内核
  • 权限角度:内核程序运行在内核空间中,拥有最高级的权限

image.png 用户程序频繁在用户态和内核态切换。

系统结构

进程管理

进程是正在执行的一个程序或命令,有自己的地址空间,占用一定内存,由进程ID和父进程的进程ID唯一识别。进程结构是树状的,方便管理。

进程调度

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

image.png

调度原则
  • 一个CPU核同一时间只能运行一个进程
  • 每个进程有近乎相等的执行时间
  • 进程执行消耗时间和进程量成正比
  • 操作系统在管理进程时会创造一些调度的队列,把每个进程放在队列里面按顺序执行队列,确保所有进程都被执行到,不会因为优先级问题导致某些低级进程永远被忽视

文件系统

Linux中一切皆文件!保证了操作统一和接口调用统一。文件系统负责把用户的文件存到磁盘进行永久化保存。采用树状目录结构。

虚拟文件系统(VFS)

打通不同文件类型,保证操作统一。

image.png

文件读取流程

image.png NGX进程会先看用户缓冲区中有没有以前命中过的文件,若有,会直接从中读文件然后返回;若没有,就发起一次系统调用,NGX从用户态切换到内核态,从内核缓冲区中观察有没有以前命中过的文件,若有,直接读取再通过CPU拷贝到用户缓冲区然后给用户进程使用,若没有,通过DMA(直接存储访问)向磁盘发去读取文件的请求,DMA再拷贝到内核缓冲区,然后CPU拷贝到用户缓冲区然后给用户进程使用。最后是写的流程(右边),通过CPU拷贝用户缓冲区的文件到Socket缓冲区,最后通过DMA拷贝到网卡,返回给用户。

用户权限

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

文件权限

  • 所有者
  • 所在组
  • 其他人

image.png