进程和线程的概念

时间:2022-05-11 14:53:53

并行性:指两个或多个事件在同一时刻发生。

并发性:是指两个或多个事件在同一时间间接发生。

进程:系统进行资源分配和调度的一个独立单位。

线程:系统进行资源分配和调度的基本单位。

*处理器(CPU:用来完成取指令(指令:计算机执行某种操作的命令。每条指令可以完成一个独立的算术运算或逻辑运算操作)和执行指令任务的计算机部件。

CPU的基本功能:

指令控制:程序的顺序控制。由于程序是一个指令序列,这些指令的相互顺序不能任意颠倒,必须严格按照程序规定的顺序进行,因此,保证机器按顺序执行程序是CPU的首要任务。

操作控制CPU管理并产生由内存取出的每条指令的操作信号,把各种操作信号送往相应的部件,从而控制这些部件按指令的要求进行动作。

时间控制:对各种操作实施时间上的定时。因为计算机中,各种指令的操作信号均受到时间的严格定时。只有这样,计算机才能有条不紊地自动工作。

数据加工:对数据进行算术运算和逻辑运算的处理。完成数据的加工处理,是CPU的根本任务。因为,原始数据只有经过加工处理后才能对人们有用。

为什么要引入进程

为了使程序可以并发执行,并且可以对并发执行的程序进行描述和控制。

进程的组成:

程序段

相关的数据

进程控制块(PCB):为了使参与并发执行的每个程序(包含数据)都能独立地运行,在操作系统中必须为之配置一个专门的数据结构,称为进程控制块。

进程的基本属性:

拥有资源的独立单位

独立调度和分派资源

为什么要引入线程:

由于进程是一个资源的拥有者,因而在创建、撤销、和切换中,系统必须为之付出较大的时空开销。这就限制了所设置进程的数目,而且进程切换也不宜过于频繁,从而限制了并发程度的进一步提高。那么如何能使多个程序更好的并发执行,同时又尽量减少系统的开销呢?

其实就是通过操作系统把进程的两个基本单位分开处理,拥有了调度和分派基本单位,就不应该再同时作为拥有资源的基本单位,而拥有资源的基本单位,又不对之施以频繁的切换。

这个时候就引入了线程(把它作为资源分配和调度的基本单位)。

进程和线程的关系

一个线程则是进程中的执行流程,一个进程中可以同时包括多个线程,每个线程也可以得到一小段执行的时间,这样一个进程就可以具有多个并发的线程。

多进程的意义:提高CPU的使用率。

多线程的意义:(即一个进程有多条执行路径)提高应用程序的使用率。