[概念扫盲]Linux操作系统术语表
2026/1/9大约 2 分钟
[概念扫盲]Linux操作系统术语表
1、总览操作系统管哪些东东
硬件层面
| 硬件 | OS管理 | 说明 |
|---|---|---|
| CPU(控制器和运算器) | 进程管理 | |
| I/O(输入和输出) | I/O管理 | 网络数据传输、中断、缓冲区 |
| 存储器 | 内存管理、外存管理 | 寄存器、内存、固态/机械硬盘 |
软件层面
2、阻塞,忙等待,睡眠,挂起的理解?
- 阻塞是线程自己发现没资源,获取不到资源,它自己先去休息了,有资源它会自己回来,而且不占用CPU。
- 忙等待是指线程找不到资源就一直等,并且将CPU占据。
- 睡眠是指CPU告诉线程,你先去休息,过规定时间,你自己回来。「线程主动睡眠的」
- 挂起是指CPU告诉线程你先去休息,有资源我告诉你。它会释放CPU。「线程主动挂起的」
2、同步、异步;阻塞和非阻塞
同步(Synchronization):就是发起者等待调用者完成本事情才进行后边的事情(不是你操作系统才有的概念,这个概念很广泛的!)
- 在linux操作系统里面,一个典型的同步场景:是用户线程发起IO请求需要等待或者轮询内核IO操作完成后才能继续执行。
异步(Asynchronous):就是发起者不等待你调用者完成本事情,反正给你下完命令就跑,你去干就行了,我直接发其他命令干其他活去了(不是你操作系统才有的概念,这个概念很广泛的!)
- 在linux操作系统里面,一个典型的异步场景:用户线程发起IO请求后任需要继续执行**,当内核IO操作完成后会通知用户线程,或者调用用户注册的回调函数。
阻塞(blocking):是操作系统中常见的概念,但是在不同场景下指代的不一样,面试还是工作的时候一定要区分语境!
- 场景1:主要场景,linux线程是否让出cpu,找不到资源马上让出叫阻塞
- 场景2:是指IO操作需要彻底完成后才能返回用户空间。
非阻塞( non-blocking):是操作系统中常见的概念,其实就是阻塞的反义词,但是还是不同场景下指代的不一样,面试还是工作的时候一定要区分语境!
- 是指IO操作被调用后立即返回一个状态值,无需等待IO操作完成。
3、轮询(polling)
轮询:是操作系统中常见的概念,主要指的是linux线程为了获取某些,又不肯阻塞自己,就不断占用CPU去询问资源是否到位。
此外,因为轮询的英语单词是polling,其实有人喜欢猜测和IO多路复用的poll有没有关系。。