0%

关于进程和线程的一些笔记

整理一下进程和线程的一些简单笔记,如有错误,请在评论区多多指教,非常感谢<(^-^)>。

进程

进程一个具有一定独立功能的程序在一个数据集上的一次动态执行的过程,是应用程序运行的载体,也是操作系统分配资源和调度的基本单位,每个进程均有独立的内存空间。进程一般由程序段、数据段和进程控制块三部分组成。操作系统通过链接方式和索引方式对各个进程进行管理。在Windows下,每运行一个.exe文件即为新建一个进程。

进程的特征

  • 动态性:进程是程序的一次执行过程,动态产生、动态消亡,是临时的,具有生命周期。
  • 并发性:任何进程均可与其他进程一起并发执行。
  • 独立性:进程是操作系统进行资源分配和调度的一个独立单位。
  • 结构性:进程一般由程序段、数据段和进程控制块三部分组成。

进程的组成

  • 程序段:程序段用于描述进程要完成的功能以及控制进程的执行。
  • 数据段:数据段包含进程在执行时所需要的数据。
  • 进程控制块:操作系统通过程序控制块来管理进程,该部分包含进程的描述信息(用于记录进程标识符唯一ID和用户标识符ID)、控制与管理信息(包含进程的优先级和当前状态)、资源分配信息、处理机相关信息(包含进程切换时需要记录的各种寄存器值(例如,当前进程执行到哪里)),是进程存在的唯一标志。

进程的组织

  • 链接方式:根据进程状态将各进程的进程控制块分为多个队列,操作系统持有指向各队列的指针。
  • 索引方式:根据进程状态为各进程的进程控制块建立多个索引表,操作系统持有指向各索引表的指针。

进程的状态

  • 创建状态:进程正在创建,还不能执行。此时操作系统需要为该进程建立程序控制块、分配资源、建立地址空间、加载程序等。
  • 就绪状态:进程此时已具备执行条件,等待CPU空闲以执行。
  • 运行状态:进程正在执行,正在占用CPU。
  • 阻塞状态:进程正在等待某一事件执行完毕。
  • 终止状态:进程执行完毕,释放操作系统分配的资源。

在只搭载一个单核CPU的计算机上,在任何时刻有且仅有一个进程处于运行状态。

线程

线程是进程执行中的一个单一的顺序控制流程,是进程执行的最小单位,也是CPU调度和执行的基本单位。和进程一样,线程也有就绪、阻塞、运行三种基本状态。一个进程包含有一个或多个线程,除线程本身所必需的最基本资源(例如,程序计数器)外,同一进程中的线程共享操作系统分配给该进程的资源和内存空间。

进程与线程的区别

  • 进程是操作系统分配资源和调度的基本单位,线程是CPU调度和执行的基本单位。
  • 一个线程只能属于一个进程,而一个进程至少包含有一个线程。
  • 进程之间相互独立,但同一进程下的各线程共享该进程所得的资源和内存空间。
  • 进程之间的切换所消耗的资源较多,线程之间的切换所消耗的资源较少。
  • 一个进程崩溃后,可不对其他进程造成影响;但一个线程的崩溃将导致其所属进程的崩溃。

先整理到这里(′▽`〃)。


本人菜鸡一只,如有错误,请多多指教(′▽`〃)。

本文整理自

操作系统——进程的定义、组成、组织方式和特征

04进程与线程.md

进程和线程的区别(超详细)

进程和线程的区别