导图社区 进程与线程
操作系统进程与线程的描述,详细解释了进程和线程的概念、作用、相互关系以及通信机制等方面,为读者提供了一个全面而深入的理解。
社区模板帮助中心,点此进入>>
互联网9大思维
组织架构-单商户商城webAPP 思维导图。
域控上线
python思维导图
css
CSS
计算机操作系统思维导图
计算机组成原理
IMX6UL(A7)
考试学情分析系统
进程与线程
进程
定义
程序的执行实例
操作系统进行资源分配和调度的基本单位
特征
动态性
进程是动态创建和消亡的
并发性
多个进程可以同时存在于内存中
独立性
每个进程拥有独立的地址空间
异步性
进程以不可预知的速度向前推进
结构
程序段
包含程序的代码
数据段
包含程序运行时所需的数据
PCB(进程控制块)
包含进程的状态、程序计数器、CPU寄存器和内存管理信息等
状态
创建态
进程正在被创建
就绪态
进程已准备好运行,等待CPU分配
运行态
进程正在CPU上运行
阻塞态
进程因等待某事件发生而暂时停止运行
终止态
进程完成执行或因故被终止
进程间通信(IPC)
管道
一种最基本的IPC机制
消息队列
允许进程间交换消息
共享内存
允许两个或多个进程共享一个给定的存储区
信号量
用于进程同步和互斥
套接字
用于不同机器上的进程间通信
线程
程序执行流的最小单元
操作系统能够进行运算调度的最小单位
优点
资源共享
与同进程的其他线程共享内存和文件等资源
上下文切换快
线程间切换比进程间切换开销小
响应性高
适合于需要快速响应的场景
可以同时执行多个任务
线程与进程的关系
线程是进程的一部分
一个进程可以包含多个线程
线程共享进程资源
共享代码段、数据段等
线程有自己的执行栈
每个线程有自己的调用栈
线程类型
用户级线程
用户空间实现
线程切换不需要内核干预
内核级线程
内核空间实现
线程切换需要内核支持
线程通信
线程间共享数据
消息传递
线程间通过消息传递信息
进程与线程的联系
线程依赖于进程
进程为线程提供环境
线程运行在进程的上下文中
进程的资源可供线程使用
资源分配
进程拥有独立的地址空间
线程共享所属进程的地址空间
调度
进程调度基于进程状态
线程调度基于线程状态
进程间并发
线程间并发
性能
线程创建和销毁速度快于进程
线程上下文切换开销小于进程
通信
进程间通信(IPC)
线程间通信(共享内存、信号量等)
生命周期
进程生命周期包括创建、执行、阻塞、终止
线程生命周期包括创建、执行、阻塞、终止
错误处理
进程错误可能导致整个进程终止
线程错误可能只影响该线程
实现
操作系统内核支持进程
操作系统内核或运行时环境支持线程