操作系统篇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 高效使用者,还能理解操作系统的底层运行原理,为调试、开发或系统优化打下坚实基础。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值