操作系统篇3——深入理解操作系统:Linux 常用命令、系统中断与用户态/内核态详解

说明:我觉得谈及操作系统OS,离不开的一个话题就是Linux,那么对于我们程序员来说,掌握Linux的命令也是十分重要的,因此我将其作为本篇文章的第一部分。

在日常使用 Linux 系统或者从事运维、系统开发工作时,有几个核心概念和操作你必须理解:常用命令的使用、系统中断机制,以及用户态和内核态的区别与切换。今天,我就结合实际经验给大家梳理一遍,让你既能操作 Linux,又能理解底层原理。

一、Linux 常用命令

前置知识:这也是我认为最重要的部分:

1.linux的文件结构,它有别于windows,在linux中一切皆文件。

2.相对路径和绝对路径也十分重要(这里绝对路径很好理解,重点了解下相对路径,比如./xx,表示当前目录下的,也就是文件同级)。

记住上面这张图对于的目录结构就清晰了,包括根目录和主目录对应的操作。

Linux 命令行是系统管理员和开发者必备技能。掌握这些命令,你可以高效管理文件、查看系统状态和调试问题。

1. 文件与目录操作

命令 作用 使用场景
cd xxx/yyy 进入目录 切换工作目录
pwd 显示当前目录路径 确认自己在哪个文件夹
ls / ll 查看目录内容 浏览文件列表,ll 显示更多详细信息
mkdir 目录名 创建目录 新建文件夹存放文件
rm 文件/目录 删除文件或目录 小心使用,rm -rf 会递归删除
cp 文件 目录 复制文件 保留原文件,生成备份
mv 文件 目录 移动文件 文件搬家,原位置删除
vim/vi 文件 编辑文件 终端中修改文件内容
find 目录 -name 文件 查找文件 快速定位指定文件
kill PID 杀死进程 停止异常或占用资源的程序

例如ls -a查看全部,rm -r删除文件夹都是很常用的操作。

2. 查看文件内容

其实这部分不重要,因为都可以通过vim来查看,比如gg(移动到文章头),G(移动到末尾)(后面会详细介绍vim命令)。

命令 作用 使用场景
cat 文件 查看整个文件 文件小,一次性查看内容
head -n 10 文件 查看前 10 行 快速查看开头日志
tail -n 10 文件 查看最后 10 行 查看最近的日志信息
tail -f 文件 实时查看文件新增内容 监控日志变化
grep "关键词" 文件 查找文件内容 精确定位错误或特定信息

3. 系统状态监控

命令 作用 使用场景
top 查看 CPU/内存使用 找出资源消耗高的进程
df -h 查看磁盘使用情况 排查磁盘满的原因
netstat -nap 查看网络连接 网络调试、查看端口占用

总结:Linux 命令是操作系统的"入口",掌握它们可以快速完成文件管理、日志查看、系统监控等任务。

二、系统中断(Interrupt)

Linux 和其他操作系统都会利用 中断机制,让处理器在执行任务时能快速响应紧急事件。

1. 什么是中断?

简单来说就是cpu遇到了一个更紧急的任务需要处理,他就先放下了手中的任务。

中断是计算机系统的一种机制,用于暂停当前任务,去处理突发事件

  • 比喻:你在写作业,电话响了,你暂停作业去接电话,接完再继续写作业。

2. 中断流程

  1. CPU 正在执行任务 A。

  2. 某事件触发中断(如键盘输入、鼠标点击、硬件异常)。

  3. CPU 保存当前任务状态(寄存器、程序计数器等)。

  4. CPU 执行中断处理程序(ISR)。

  5. 处理完成后,CPU 恢复任务 A 继续执行。

3. 常见中断类型

类型 触发事件 示例
时钟中断 系统定时器 定时任务调度
I/O 设备中断 外设事件 键盘、鼠标、硬盘读写
硬件错误中断 系统异常 除零错误、内存访问错误

理解要点(中断好处) :中断让 CPU 无需轮询硬件(CPU主动检查硬件状态的方式) ,即可高效响应外部事件。(CPU 不主动去问硬件,而是当事件发生时,硬件通知 CPU。)


三、用户态(User Mode)与内核态(Kernel Mode)

操作系统为了安全和稳定,将程序运行分为两种模式:

模式 特权 可以做什么 运行主体
内核态 访问所有硬件资源,执行特权指令 操作系统内核、驱动
用户态 只能访问授权资源,不能直接操作硬件 应用程序

1. 为什么需要区分?

如果所有程序都能直接访问硬件,系统可能崩溃或数据丢失。通过区分用户态和内核态,操作系统可以保护系统资源

2. 用户态 ↔ 内核态切换

触发条件:

  • 系统调用(读写文件、网络操作)

  • 中断(外设事件触发)

  • 异常(程序错误)

切换流程:

  1. 应用程序在用户态运行。

  2. 系统调用或中断触发 CPU 切换到内核态。

  3. CPU 保存用户态状态,执行内核态操作。

  4. 操作完成后恢复用户态,继续执行程序。

比喻

  • 用户态:普通公民,只能做被允许的操作。

  • 内核态:军队或警察,有权访问和管理所有资源。

  • 切换:当普通公民需要开车(访问硬件)时,需要申请(系统调用),警察批准(内核操作)。

四、总结

结合 Linux 常用命令、中断和用户态/内核态,可以形成一个完整的理解框架:

  1. Linux 命令 → 帮你操作系统,查看和管理文件、监控进程、排查问题。

  2. 中断机制 → 让 CPU 能及时响应硬件事件,提高系统效率。

  3. 用户态/内核态 → 保护系统安全,确保应用程序无法随意破坏硬件资源。

掌握这三块内容,你不仅能成为 Linux 高效使用者,还能理解操作系统的底层运行原理,为调试、开发或系统优化打下坚实基础。

相关推荐
...对方正在输入......39 分钟前
MySQL主从复制
linux·mysql
---学无止境---41 分钟前
Linux内核POSIX文件锁机制深度解析
linux
L.Ru42 分钟前
ubuntu的使用
linux·运维·ubuntu
Clarice__43 分钟前
Ubuntu使用指南——MATLAB篇
linux·ubuntu
lang201509281 小时前
什么是 Linux?
linux·运维·服务器
cookies_s_s1 小时前
项目--协程库(C++)模块解析篇
服务器·c++
wanderist.1 小时前
Linux使用经验——mv命令
linux·运维·服务器
誰能久伴不乏1 小时前
进程通信与线程通信:全面总结 + 使用场景 + 优缺点 + 使用方法
linux·服务器·c语言·c++
r***01381 小时前
linux上redis升级
linux·运维·redis