进程及线程

进程

概念

进程概念的引入是在多道程序的环境下,资源共享和程序的并发导致各个程序相互间存在制约关系,故引入了进程。
进程的定义:进程是程序关于数据集合的一次执行,该程序可与其他程序间并行。
每个进程都有自己的地址空间,地址空间内有三大部分,分别是程序、数据集合以及进程控制块(PCB)。

程序

描述进程要执行的功能,也就是我们的代码。此部分是执行时不可修改部分。

数据集合

这部分是程序执行所需的数据和动态分配的内存。此部分是执行时可修改的部分。

进程控制块(PCB)

这部分是为了描述程序的动态变化,便于系统对进程进行控制管理的。

进程与程序的区别

1.程序是静态的,进程是动态的,进程是程序的一次执行。(程序写完后就是一片代码,是死的!而进程是程序的一次执行,进程是活的!是动起来的!)
2.进程是短暂的,当进程完成它的使命后,就会被撤销掉,而程序是一直都存在的。
3.一个进程可以执行一个或多个程序,一个程序也可能由一个或多个进程组成。
4.进程是可并发的。
5.传统操作系统中,进程是系统进行资源分配和调度的基本单位,在引入线程的系统中,进程不再是调度的基本单位。

进程的三种基本调度状态

在这里插入图片描述

1.运行状态

表示当前进程获得了处理机资源,处理机正在执行此进程。

2.就绪状态

表示该进程已具备条件,正在等待分配处理机。

3.阻塞状态

表示进程暂时不能运行,收到了阻塞,就算处理机空闲也不能使用,在条件满足之前只能干等着条件满足为止。

进程的控制

进程是由原语来进行控制的。原语的概念:原语的执行不能被中断!原语操作具有不可分割性!就算一条原语由多条机器语言构成,操作系统也会采用屏蔽中断的方法来保证原语的不可分割性。原语可用于创建一个新进程,终止一个已完成的进程,或者去终止一个因出现某事件而使其无法运行下去的进程,还可负责进程运行中的状态转换。

线程

概念

线程可以看做是进程内的一个执行单位,也就是一个进程包含至少一个线程,是进程中实际的运作单位。

与进程的区别

1.线程是进程内的一部分。
2.进程是资源分配的基本单位,线程是独立运行和独立调度的基本单位。
3.进程间的资源空间都是独立的,而线程是共享一个进程的资源空间。资源是分配给进程的,当线程在执行中需要资源时,系统是从分配给进程的资源中分配给线程。线程都是在进程的地址空间内活动。
4.多进程比多线程更健壮,多线程中当有一个线程死掉后,整个进程也就死掉了,而多进程中有一个进程死掉后,对其他进程并无影响,因为进程间的地址空间都是分割开的,都有着自己独立的地址空间,互不影响。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章