(闪电系列)操作系统期末闪学 | 进程与线程管理
🔥期末冲刺指南:本文专为操作系统期末考试设计,浓缩核心考点,助你高效复习、精准拿分!
📌 学习导航
- 要学习:进程的基本概念,进程控制与线程,进程通信
- 重点:特征、PCB、状态转换、进程与线程的异同、三种通信方式
- 难点:线程共享资源、原语
一、进程的基本概念
1. 进程定义
进程定义:操作系统中,能独立运行且作为资源分配的基本单位,是程序在某个数据集合上的一次执行过程。
💡理解提示:程序是静态的代码文件,而进程是动态的执行实体。同一个程序可以同时对应多个进程(如同时打开多个浏览器窗口)。
2. 进程的四大特征
进程的四大特征:动态性,即进程是程序的执行过程,有创建、运行到终止的生命周期;并发性,即多个进程可在同一时间段内同时执行,也就是宏观并行,微观交替;独立性,即进程是资源分配和调度的基本单位,可独立获取资源;异步性,即进程按不可预知的速度向前推进,需通过同步机制协调。
| 特征 | 关键词 | 核心含义 |
|---|---|---|
| 动态性 | 生命周期 | 从创建到消亡的动态过程 |
| 并发性 | 宏观并行 | 多进程在一段时间内同时推进 |
| 独立性 | 资源分配 | 拥有独立的地址空间和资源 |
| 异步性 | 不可预知 | 执行进度不确定,需同步机制 |
3. 进程的组成与PCB
进程三部分组成:PCB(进程控制块)、程序段、数据段。
核心要点:PCB是进程存在的唯一标志,记录进程的所有状态信息(如进程ID、状态、资源占用情况等),操作系统通过PCB管理进程。
二、进程状态与控制
1. 三态模型及转换
进程状态中的三态模型及其转换:就绪态、运行态、阻塞态。就绪态通过进程调度被选中进入运行态;运行态时间片用完,回到就绪态。运行态进程主动等待I/O或其他事件发生时,转为阻塞态;阻塞态进程等待的事件完成后,转为就绪态。
⚠️易错点提醒:阻塞态不能直接转换为运行态,必须先进入就绪态等待调度。
2. 进程控制原语
进程控制原语以及四种原语:不可中断的原子操作,用于实现进程状态的转换和管理,包括创建原语,即创建新进程,分配资源、创建PCB,将进程置为创建态;终止原语,即终止进程,释放资源、删除PCB,将进程置为终止态;阻塞原语,即将运行态进程转换成阻塞态,保存进程上下文;唤醒原语,即将阻塞态进程转换为就绪态,恢复进程上下文,加入就绪队列。
| 原语类型 | 功能描述 | 状态变化 |
|---|---|---|
| 创建原语 | 分配资源、创建PCB | → 创建态 |
| 终止原语 | 释放资源、删除PCB | → 终止态 |
| 阻塞原语 | 保存上下文 | 运行态 → 阻塞态 |
| 唤醒原语 | 恢复上下文、入就绪队列 | 阻塞态 → 就绪态 |
三、线程:轻量级进程
1. 线程定义与优势
线程定义:进程内的一个执行单元,是操作系统调度的基本单位,也就是轻量级的进程。
线程的核心优势:线程共享所属进程(PCB、程序段、数据段)的资源,无需单独分配资源,因此上下文切换开销远低于进程,能提高系统并发效率。
2. 进程与线程的核心区别
线程与进程的三个核心区别:资源分配单位不同,即进程是资源分配的基本单位,线程不单独分配资源;调度单位不同,即线程是操作系统调度的基本单位,进程是调度的宏观单位;上下文切换开销不同,即进程切换开销大(需切换资源),线程切换开销小(共享资源,仅切换执行上下文)。
| 对比维度 | 进程 | 线程 |
|---|---|---|
| 资源分配 | 基本单位,独立拥有 | 不单独分配,共享进程资源 |
| 调度单位 | 宏观调度单位 | 基本调度单位 |
| 切换开销 | 大(需切换页表等资源) | 小(仅切换寄存器/栈) |
| 通信方式 | 需IPC机制 | 可直接读写共享数据 |
🎯难点突破:线程共享资源是双刃剑——提高了效率,但也引入了数据竞争问题,需要使用互斥锁、信号量等同步机制来保证安全。
四、进程通信机制
1. 三种通信方式
进程通信的类型:共享存储器,即进程共享一块公共内存区域,通过读写该区域实现通信,如共享内存;消息传递,即进程通过发送/接收消息实现通信,无需共享内存,如消息队列;管道通信,即通过管道(半双工)传递数据,适用于父子进程间通信,如Linux中的管道命令。
| 通信方式 | 特点 | 典型应用 |
|---|---|---|
| 共享存储器 | 速度快,需同步机制 | 共享内存、内存映射文件 |
| 消息传递 | 解耦,支持分布式 | 消息队列、Socket |
| 管道通信 | 半双工,亲缘关系限制 | ls | grep txt |
2. 信号机制
信号机制中的信号定义:一种软中断信号,是操作系统向进程发送的异步通知,用于告知进程发生了某个事件。
信号机制的核心作用:实现进程间的异步通信,例如进程A向进程B发送信号,进程B可在合适时机处理该信号(无需等待)。
常见信号示例:
SIGINT(Ctrl+C):中断进程SIGKILL:强制终止(不可捕获)SIGTERM:请求优雅终止SIGCHLD:子进程状态改变
✅ 期末速记清单
| 考点 | 记忆口诀/关键词 |
|---|---|
| 进程特征 | 动并独异(动态、并发、独立、异步) |
| 三态转换 | 调度→运行,时间片→就绪,I/O→阻塞,完成→就绪 |
| 四种原语 | 创终阻唤(创建、终止、阻塞、唤醒) |
| 线程vs进程 | 资源归进程,调度归线程,切换线程轻 |
| IPC三方式 | 共享内存快、消息队列松、管道父子通 |
| 信号本质 | 软中断 + 异步通知 |
📝备考建议:重点掌握三态转换图和四种原语的功能,线程与进程的区别是高频简答题,务必熟记三个核心区别的表述。祝各位同学期末考试顺利通关!🎉