Linux基础 | 青训营笔记

64 阅读2分钟

Linux是一种开源技术,学习Linux基础也可以让人们深入理解开源技术的实践和理念,有利于在开源领域发挥自己的优势。

通过学习Linux命令行,可以更加高效地管理和操作Linux系统,包括文件管理、进程控制、软件安装等方面。

Linux基本组成

  • 内核:提供操作系统的底层能力,内存管理、进程管理、文件系统管理、硬件资源管理
  • shell:命令解释器,通过shell输入指令来实现与内核的交互,从而达到管理或使用Linux中的资源
  • 文件系统:负责把用户的文件存在磁盘中去
  • 应用程序:运行的程序

进程管理

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

进程调度
利用进程调度实现同时运行多个程序。
进程调度是指操作系统按某种策略或规则选择进程占用CPU进行运行的过程。

进程的系统调用
内核空间(内核态):系统内核运行的空间
用户空间(用户态):应用程序运行的空间 image.png

image.png 简单来说,用户程序会频繁的在用户态和内核态之间切换,使得应用程序能够读取到硬件平台的资源,或是调用内核态的资源。

文件系统

文件系统是操作系统中负责管理持久数据的子系统,负责把用户的文件存到磁盘硬件中,持久化的保存文件。

“一切皆文件” 保证了所有对文件的操作统一,接口调用统一。

  • Linux文件系统是采用树状的
  • bin可执行命令
  • dev设备文件目录
  • root超级管理员权限目录
  • home用户信息目录

虚拟文件系统
通过虚拟文件系统(VFS)实现接口调用统一。
VFS作为中间层磨平各个不同文件之间的差异。

image.png