Linux基础 | 青训营笔记

72 阅读3分钟

Linux 基础课程笔记

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

进程管理

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

进程管理指令

进程管理指令.png

top 指令类似资源管理器

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

这就涉及进程调度:

进程调度原则

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

文件系统 --- Linux 中一切皆文件

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

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

Linux 为不同的文件系统提供了统一的调用接口,这就是虚拟文件系统(Virtual File System,简称 VFS)的概念。VFS 是 Linux 内核的核心模块之一,它提供了一套通用的文件系统接口,为应用程序提供了一种统一的、与底层文件系统无关的文件操作机制。

在 VFS 中,对所有的文件系统都采用统一的操作方式,这些操作会被映射到各个具体文件系统所对应的操作函数上。通过这种方式,VFS 能够屏蔽不同文件系统的差异性,为上层应用程序提供了一个统一的视图,使得应用程序不必关心文件的具体存储细节,而只需要关注文件操作本身。 因此,无论是 ext4、NTFS、FAT32 还是其他文件系统,应用程序都可以使用同样的方式来访问它们。这也是 Linux 系统在文件系统方面具有很强可扩展性和兼容性的一个重要原因。

虚拟文件系统

虚拟文件系统(VFS) 对应用层提供一个标准的文件操作接口 对文件系统提供一个标准的文件接入接口

文件读取流程

image.png

  1. 用户空间

用户空间包括用户进程和用户缓冲区,用户进程通过系统调用发起文件读取请求,读取的数据存储在用户缓冲区中。

  1. 内核空间

内核空间包括内核缓存区和Socket缓冲区,当用户进程发起文件读取请求后,操作系统内核会将文件内容从磁盘中读取到内核缓存区中,并将数据从内核缓存区复制到Socket缓冲区。

  1. 硬件空间

硬件空间包括磁盘和网卡,当内核缓存区中的数据被复制到Socket缓冲区后,网卡会将数据发送到网络中,同时硬盘控制器从磁盘读取数据并传输到内核缓存区。

总结

ok,本文主要是记录一些自己不熟悉的,以便复习用,许多内容也是引用自大佬 (@2002XiaoYu) 的笔记,也像大佬说的,这次课程是一个总体概念的了解,比较简略,还需要自己主动去学更多的知识。 over~