设置进程状态为挂起状态;
若进程当前为执行则转进程调度。
进程激活
激活原语的主要功能是将指定进程激活。其算法思想如下:
将进程状态由挂起改为激活后的状态;
若需要则转进程调度 。
3.4 线程
在操作系统中引入进程的目的是使多道程序能并发执行,以改善资源利用率及提高系统吞吐量;
在操作系统中再引入线程,则是为了减少程序并发执行所付出的时空开销,使操作系统具有更好的并发性。
1. 线程的引入
进程具有两个属性:
拥有资源的独立单位
调度和分派的基本单位
为使进程并发执行,则必须进行诸如创建、撤消、切换等一系列操作,这些操作涉及到资源管理,所花费的时空开销较大,为此引入了线程。
线程概念
线程是进程内的一个执行单元,是系统独立调度和分派的基本单位;
线程自己基本上不拥有资源,只拥有一点在运行时必不可少的资源(如程序计数器、一组寄存器和栈);
线程可以与同属一个进程的其他线程共享进程拥有的全部资源。
2.线程的控制
和进程类似,线程也有运行、就绪、阻塞等状态。
创建:当创建一个新进程时,也为该进程创建了一个线程。线程还可以创建新线程。
就绪:线程已获得除处理机外的所有资源。
运行:线程正在处理机上执行。
阻塞:线程因等待某事件而暂停运行。
终止:一个线程已完成。
线程的同步与通信与进程类似。进程的挂起及终止将影响到其中的所有线程。
2.线程的控制(续)
进程中的线程具有
执行状态
线程上下文
执行栈
线程静态存储局部变量
寄存器及对所属进程资源的访问
3.线程与进程的比较
一个进程中的所有线程共享该进程的状态和资源,它们驻留在同一地址空间,并且可以访问到相同的数据。
线程与进程的区别
调度分派:在传统OS中,进程是调度和分配资源的基本单位;引入线程后,线程是调度和分派的基本单位,进程是拥有资源的基本单位。
资源拥有:进程是拥有资源的基本单位,由一个或多个线程及相关资源构成。
地址空间:不同进程地址空间独立,同一进程中的各线程共享同一地址空间。