深入解析现代计算系统中的进程与线程:基础、生命周期和区别
创作时间:
作者:
@小白创作中心
深入解析现代计算系统中的进程与线程:基础、生命周期和区别
引用
CSDN
1.
https://m.blog.csdn.net/lph159/article/details/138269829
1. 进程和线程的基础
进程:是计算机中已运行程序的实例,是操作系统分配资源和调度的基本单位。
线程:是进程的一个实例,是 CPU 调度和执行的单位,一个进程可以包含一个或多个线程,线程间共享进程的资源。
一个进程由以下资源组成:
文本段(Text Segment):包含程序编译后的机器代码。这部分是进程内存空间的核心,执行的代码在这里运行。
数据段(Data Segment):存储全局变量、静态变量、常量以及未初始化的变量。
堆(Heap):用于动态内存分配,当程序运行过程中需要更多的内存时,通过
malloc
或new
操作符在运行时创建对象,内存从堆上分配。栈(Stack):用于存储临时数据,如函数的局部变量、函数参数、返回地址等。
在内存中,堆和栈的物理或虚拟地址分配是由操作系统的内存管理器控制的,它们在进程的地址空间中通常被安排在两端,中间留有足够的空间以供扩展。在许多系统中,栈从高地址向低地址增长(即向堆的方向),而堆则从低地址向高地址增长,两者在内存中相向而行,使可用空间的灵活性最大化。
2. 进程状态和生命周期
进程在其生命周期中的确会经历不同的状态,这些状态反映了进程从创建到终止的整个过程。
开始(Start):操作系统在这一阶段为进程分配必要的资源和内存,并初始化进程控制块(PCB)
就绪(Ready):
- 进程在这一状态具备了运行的所有条件(除了CPU资源外)
- 进程也可以从运行状态转回就绪状态(通常是因为它的时间片已用完或更高优先级的进程需要执行)
- 运行(Running):
- 进程正在处理器上执行其指定的操作。
- 如果进程需要等待其他资源(如I/O操作、文件等)或者执行完毕,会结束运行状态。
- 等待(Waiting or Blocked):
- 当进程需要等待某一事件(例如输入/输出操作完成、信号量操作、获取资源失败等)时,它会转入等待状态。此时进程不占用处理器资源,即使有空闲的处理器也不会被执行(因为要先转到就绪态)
- 一旦等待的事件被满足,进程将转回就绪状态,再次等待处理器的调度
- 终止(Terminated or Exit):
- 一旦进程完成了它的执行任务或者被操作系统强制终止,它就进入终止状态。在此状态下,操作系统回收分配给进程的所有资源,包括内存、打开的文件等,并清理其进程控制块。
3. 进程和线程的区别
- 资源共享(主要区别):
- 进程:每个进程都有自己独立的内存空间,包括代码、数据和堆等。因此,不同进程之间的资源是不共享的,除非通过进程间通信(IPC)机制如管道、共享内存或信号等。
- 线程:同一进程中的所有线程共享相同的内存空间和资源,如文件描述符和全局变量等。这种共享使得数据的交换和通信更为方便和高效。
- 开销与性能:
- 进程:创建新进程(重量级操作)需要复制父进程的资源和初始化新的内存空间,这需要较大的开销。进程切换也需要更多的时间和资源,因为它涉及到保存和加载不同进程的内存状态。
- 线程:线程作为轻量级进程,创建和销毁的开销小,切换速度快,因为它们共享相同的内存和资源。线程切换主要涉及保存和加载寄存器、栈和程序计数器的状态。
- 执行与调度:
- 进程切换(需要与操作系统交互):在进程切换时,操作系统需要进行完整的上下文切换,包括内存地址空间的转换,这需要与操作系统密切交互,导致切换时间较长。
- 线程切换:线程之间的切换不需要改变内存地址空间,只需调整少量寄存器和堆栈信息。因此,线程切换的开销远小于进程切换。
- 变量和同步:
- 进程:每个进程操作自己的私有变量,进程间的数据隔离提供了更好的数据安全性,但这也意味着进程间的通信和数据交换更为复杂。
- 线程:由于线程共享内存,一个线程对共享数据的修改可以被同一进程中的其他线程立即看到。这提供了高效的数据交流方式,但也带来了同步和数据一致性的挑战。
热门推荐
哪些植物适合用火山石种植?火山石对植物生长有何益处?
孕期运动全攻略:从孕早期到分娩前的科学指南
提高法律意识是否能增强自我保护能力
三国时期的二乔究竟有多美让曹操为其倾倒?
中国宇航员首次利用“人工光合作用”在太空中制造火箭燃料和氧气
2024危房判定标准是什么,危房改造有拆迁补偿吗
智能设备电池寿命延长指南:充电技巧与温度控制诀窍
低代码开发平台的优势和劣势
ESP32数据处理指南:如何高效管理传感器数据流?
碳13和碳14的区别
配置高可用性和灾难恢复
API是什么?解密API背后的奥秘
高良姜的功效与作用
如何确定测试模板的标准?关键因素解析
氨甲环酸导致低血压的机制
如何正确挑选适合的梳子类型?从发量和发质详细分析
私营企业如何在保护环境方面发挥积极作用:案例解析与启示
合法集资的方式有哪些?合法集资需要注意哪些问题?
物业管理费的构成与缴纳规定解析
英式下午茶摆台指南:从历史到实践的完美呈现
北京住房公积金缴存全攻略!基数如何计算?比例是多少?一文说清
胚胎干细胞的研究进展及应用前景
拉康 :不要向欲望让步
合同到期离职失业金领取的条件有哪些?
离职后多久能申请失业保险金?失业金领取条件及标准
满五唯一是指省内还是本市,详细解读满五唯一政策及相关优惠
“满五唯一”在房地产交易中的重要性与购房者的优势分析
女子救下被栅栏缠住的考拉
春天鼻涕里有血丝是怎么回事
影响退休工资的主要因素