Linux 基础(中)

68 阅读3分钟

四、Linux 系统结构

4.1 进程管理

进程

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

image.png

进程相关指令

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

#查看某个进程
top -p 进程号

# 关闭指定的进程
kill 进程号

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

进程调度

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

进程状态

进程主要有7种状态:就绪状态、运行状态、轻度睡眠、中度睡眠、深度睡眠、僵尸状态、死亡状态。它们之间

  • R (TASK_RUNNING),可执行状态
  • S (TASK_INTERRUPTIBLE),可中断的睡眠状态
  • D (TASK_UNINTERRUPTIBLE),不可中断的睡眠状态
  • T (TASK-STOPPED or TASK-TRACED),暂停状态或跟踪状态
  • Z (TASK_DEAD-EXIT_ZOMBIE),退出状态,进程成为僵尸进程
  • X (TASK_DEAD- EXIT_DEAD),退出状态,进程即将被销毁

状态的转换

  • 就绪态 --> 运行态 进程被调度
  • 运行态 --> 就绪态 时间片到,或者cpu被优先级更高的抢占
  • 运行态 --> 阻塞态 等待资源分配,或者某事发生(主动)
  • 阻塞态 --> 就绪态 资源分配到位,等待事件发生(被动)
  • 创建态 --> 就绪态 系统完后创建进程相关的工作
  • 运行态 --> 终止态 进程结束,或出现不可修复的错误

注意:不能 阻塞 直接转 运行 ,也不能 就绪 直接转 阻塞 。

流程如下: image.png

进程调度原则

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

进程的系统调用

内核空间(Kernal Space) :系统内核运行的空间

用户空间(User Space) :应用程序运行的空间

image.png

4.2 文件系统

文件系统

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

Linux 中一切皆文件

在Linux操作系统中,所有被操作系统管理的资源,例如网络接口卡、磁盘驱动器、打印机、输入输出设备、普通文件或是目录都被看作是一个文件。在LINUX系统中有一个重要的概念:一切都是文件。其实这是UNIX哲学的一个体现,而Linux是重写UNIX而来,所以这个概念也就传承了下来。在UNIX系统中,把一切资源都看作是文件,包括硬件设备。UNIX系统把每个硬件都看成是一个文件,通常称为设备文件,这样用户就可以用读写文件的方式实现对硬件的访问。

image.png

目录结构

Linux 文件系统是采用树状的目录结构,最上层是/(根)目录

image.png

虚拟文件系统(VFS)

  • 对应用层提供一个标准的文件操作接口
  • 对文件系统提供一个标准的文件接入接口

image.png

文件相关指令

# df 命令报告文件系统磁盘空间利用率
df

# mount命令是挂载文件系统用的,不带任何参数运行,会打印包含文件系统类型在内的磁盘分区的信息
mount

ls #查看文件夹下内容

mkdir demo #创建文件夹

mv demo /home #移动 demo 文件夹到/home

rm -r demo # 删除 demo 文件夹

touch file.txt #创建空文件

cp file.txt file_bak.txt #复制文件