《操作系统 - 清华大学》 8 -8:进程管理:为什么使用线程
深入理解线程管理:从概念到应用
在操作系统的进程管理领域中,线程管理占据着重要地位,它是进程管理的关键拓展部分。下面将围绕线程的相关核心知识展开讲解。
线程概念的起源
操作系统自60年代引入进程概念后,进程便一直作为独立运行的基本单位接受系统调度。但到了80年代,计算机科学家提出了比进程更小的独立运行基本单位——线程。这一概念的诞生,为操作系统的运行模式带来了新的变革 。
总结:线程是在进程概念之后,于80年代被提出的更小的独立运行基本单位。
引入线程的原因——以MP3播放软件为例
设计MP3播放软件时,其核心功能包含读取音频数据、解压数据以及播放数据。若采用单进程方式实现,即将这三个功能置于一个循环中顺序执行,会存在性能问题。由于硬盘读取速度远低于内存和CPU,读文件操作可能会阻塞整个进程,导致声音播放不连贯,且IO与CPU无法并发执行 。
总结:单进程实现MP3播放软件功能时,因硬盘读取速度瓶颈,导致播放不连贯,IO与CPU无法并发执行。
多进程方式的尝试及问题
为解决单进程的问题,可以采用多进程方式,将读取、解压、播放分别设置为不同进程。这样在读取进程等待数据时,可将CPU资源分配给其他进程,实现类似流水线的高效处理。然而,多进程方式带来了新的难题,如进程间通讯复杂,创建和切换进程时需要保存与恢复进程状态,开销较大 。
总结:多进程虽能提升MP3播放效率,但进程间通讯和进程创建切换的开销较大。
线程的定义及优势
基于上述问题,需要一种新的实体,它既能并发执行,又能共享相同的地址空间和资源,这就是线程。与进程不同,线程间共享地址空间,使得数据传递更为便捷,降低了开销 。
总结:线程是一种可并发执行且能共享地址空间和资源的实体,相比进程,数据传递更简单,开销更小。