深入解析现代计算系统中的进程与线程:基础、生命周期和区别
创作时间:
作者:
@小白创作中心
深入解析现代计算系统中的进程与线程:基础、生命周期和区别
引用
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)机制如管道、共享内存或信号等。
- 线程:同一进程中的所有线程共享相同的内存空间和资源,如文件描述符和全局变量等。这种共享使得数据的交换和通信更为方便和高效。
- 开销与性能:
- 进程:创建新进程(重量级操作)需要复制父进程的资源和初始化新的内存空间,这需要较大的开销。进程切换也需要更多的时间和资源,因为它涉及到保存和加载不同进程的内存状态。
- 线程:线程作为轻量级进程,创建和销毁的开销小,切换速度快,因为它们共享相同的内存和资源。线程切换主要涉及保存和加载寄存器、栈和程序计数器的状态。
- 执行与调度:
- 进程切换(需要与操作系统交互):在进程切换时,操作系统需要进行完整的上下文切换,包括内存地址空间的转换,这需要与操作系统密切交互,导致切换时间较长。
- 线程切换:线程之间的切换不需要改变内存地址空间,只需调整少量寄存器和堆栈信息。因此,线程切换的开销远小于进程切换。
- 变量和同步:
- 进程:每个进程操作自己的私有变量,进程间的数据隔离提供了更好的数据安全性,但这也意味着进程间的通信和数据交换更为复杂。
- 线程:由于线程共享内存,一个线程对共享数据的修改可以被同一进程中的其他线程立即看到。这提供了高效的数据交流方式,但也带来了同步和数据一致性的挑战。
热门推荐
MySQL进入指定数据库的完整指南
焦虑了?别慌,找专业医生咨询、治疗
JS控制中奖率:从基础原理到实战应用
海钓入门指南:从栈桥垂钓到深海船钓
提高员工团队协作能力的有效方法
今年起连续5年“年三十”为何缺席?天文专家详解历法
女生要瘦腿每天运动多长时间才足够?因人而异,每天至少20分钟
如何制定前端学习计划
7步构建个性化销售策略
奥菲利娅:最后的赫尔卡人
多花木兰种植与养护指南:从播种到管理的全程详解
哪些细分行业会在经济萧条期突围?
孩子的双眼视功能这么重要?四个问题带你了解!
胰岛素,该怎样保存?
贾谊:汉初杰出的思想家、政治家与文学家
保护视频内容安全的重要性及加密技术的应用探讨
自闭症社交技能训练和促进项目:PEERS项目简介
小米打印机连接电脑图文教程:有线无线两种方式详解
由夏商周都城建制谈中央集权制度的形成原因
Excel表格打叉:三种实用方法详解
BBC评出的100本最具影响力经典书籍,你都读过哪些?
如何选择一个独特且合适的游戏ID?
印尼全面禁售辣条,出口食品必须获得这两个认证
榴莲到底有多少个品种?10种?20种?还是30种?来,我统统告诉您
尿酸高,让全身器官受损!5个方法帮你降低高尿酸
中国历史上的七次大屠杀,你知道最惨的是哪次吗?
武汉楼市冰与火:2024年新房成交全国居前,备战返乡置业
郭凤莲,是如何率领村民们传承大寨精神,并实现二次创业的呢
新化学教材强化跨学科融合,初中生如何应对变化?
耐寒耐热的花卉大揭秘(选择适宜自家气候的花卉品种)