进程与线程浅谈

进程与线程

  • 进程(Process)
    • 作用
    • 构成
    • 执行
    • 特征
    • 进程切换
    • 进程与程序的关系
    • 进程与线程的区别和关系
  • 线程(Thread)
    • 构成
    • 线程优势
            • 参考文献

进程(Process)

进程是程序的一次执行,该进程可与其他进程并发执行。它是操作系统动态执行的基本单元,在传统操作系统中,进程即是基本的分配单元,也是基本的执行单元。

  • 进程是一个实体,每个进程都有他的地址空间,包括文本区域(text region)数据区域(data region )堆栈
    文本区域(text region):存储处理器执行代码。
    数据区域(data region):存储变量和进程执行期间使用的动态分配的内存。
    堆栈区域(heap & stack):存储着活动过程调用的指令和本地变量
  • 进程是一个“执行中的程序”。程序是一个没有生命的实体,只有处理器赋予程序生命时,它才能成为一个活动的实体,称为进程。

作用

进程是为了提高CPU的执行效率,有效管理和调度进入计算机系统主存储器运行的程序。

构成

进程与线程浅谈_第1张图片

执行

进程与线程浅谈_第2张图片

特征

  • 动态性:进程的实质是多道程序系统的一次执行过程,进程是动态产生,动态消亡的。
  • 并发性:任何进程都可以和其他进程一起并发执行。
  • 独立性:进程是一个能独立运行的基本单位,同时也是系统分配资源和调度的独立单位。
  • 异步性:由于进程间的相互制约,使进程具有执行的间断性,即进程按各自独立的、不可预知的速度向前推进。
  • 结构特征:进程由程序数据进程控制块(PCB)三个部分组成。
  • 多个不同的进程可以包含相同的程序:一个程序在不同数据集里就构成不同的进程,能得到不同的结果;但执行过程中,程序不能发生改变。

进程切换

进行进程切换就是把正在运行的进程收回处理器,然后再让待运行的进程占用处理器。
这里所说的把某个进程收回处理器,实质上是把进程存放在处理器的寄存器中的中间数据找个地方存起来,从而把处理器的寄存器腾出来让其他进程使用。而被中止运行进程的中间数据则存放在进程的私有堆栈。

进程与程序的关系

  • 程序是指令的有序集合,其本身没有任何运行的意义,是静态的。而进程是程序在处理器上的一次执行过程,是动态的。
  • 程序可以作为一种软件资料长期存在,而进程是有一定生命周期的。程序是永久的,进程是暂时的。
  • 进程能真实的描述并发,而程序不能。
  • 进程是由进程控制块、程序段、数据段组成。
  • 进程具有创建其他进程的功能,而程序没有。
  • 一个程序可以对应多个进程。
  • 程序不能独立运行,作为资源分配和独立运行的基本单元都是进程。

进程与线程的区别和关系

  • 一个进程可以包含若干个线程,它们可以利用进程所拥有的资源。
  • 在引入线程的操作系统中,通常都是把进程作为分配资源的基本单位,而把线程作为独立运行和独立调度的基本单位。
  • 由于线程比进程更小,基本不拥有系统资源,故对它的调度资源开销比较低,能更有效的提高系统内多个程序间并发执行的程度。

线程(Thread)

线程也叫轻型进程,是一个可执行的实体单元。代替以往的进程,成为现代操作系统中处理器调度的基本单位。

构成

进程与线程浅谈_第3张图片

线程优势

  • 创建和撤销线程开销非常小。不需要向系统请求独立的地址空间即进行相关的地址空间复制。
  • 切换迅速。线程的上下文环境比进程简单的多,因此线程间的切换远比进程块的多。
  • 通信效率高。同以进程中的线程由于共享同意空间地址,通信时不需要借助内核功能。
  • 并发度高。在多处理机系统中,对进程的个数是有所限制的,但对线程的个数理论上是不存在限制,更发挥了多处理机系统的优势
参考文献

[1]方敏、王亚平、权义宁、王长山等编著,《计算机操作系统》,西安电子科技大学出版社

你可能感兴趣的:(计算机基础,进程与线程,程序,进程,线程,操作系统)