在进程与线程模型中,我们所要知悉的有:
操作系统中最核心的概念的进程,这是对正在运行程序的一个抽象。
我们把一个具有独立的程序占CPU直到最终结果的过程称为程序的顺序执行。程序的顺序执行具有如下特点:
1) 顺序性
2) 封装性
3)程序执行结果的确定性
4)程序执行结果的可再现性
由前两个特性,就可以推导得到后面的两个特性
多道程序设计的引入
顺序程序的上述特性是为人们所理解熟悉的,但这不是一切程序所共有的。在追求多部件并行和多任务共享资源的多道程序操作系统的程序设计中,这些性质就不复存在了。并行处理的目的旨在提到处理器、设备的利用率。
多道程序设计环境的特点
所谓多道程序设计,就是允许多个程序同时进入内存并运行。多道程序设计是操作系统所采用的最基本、最重要的技术,其根本目的是提高整个系统的效率。衡量系统效率的尺度是系统吞吐量。所谓吞吐量是指单位时间内系统所处理作业(程序)的道数(数量)。多道程序设计改善了各种资源的使用情况,从而增加了吞吐量,提高了系统效率,但也带来了资源竞争。多道程序设计环境具有以下特点:(1)独立性:每道程序逻辑独立,且执行速度与其他程序无关,执行的起止时间也是独立的。(2)随机性:在多道程序环境下,程序和数据的输入与执行开始时间都是随机的。(3)资源共享性:CPU、输入输出设备、内存、信息等资源都将被各个程序所共享。
程序的并发执行
所谓程序的并发执行,是指两个或两个以上程序在计算机系统中同处于已开始执行且尚未结束的状态。能够参与并发执行的程序称为并发程序。程序并发执行产生了一些顺序执行时不同的特性:(1)并发程序在执行期间具有相互制约的关系(顺序执行是独立的)(2)程序与计算不再一一对应(顺序执行结果是确定的)(3)并发程序执行结果不可再现(顺序执行结果具有再现性)
从操作系统的角度来看,可将进程分为系统进程和用户进程两类。系统进程执行操作系统程序,完成操作系统的某些功能。用户进程运行用户程序,直接为用户服务。系统进程的优先级通常高于一般用户进程的优先级。
进程与程序的联系与区别
(1)联系:程序是构成进程(从静态的角度看,进程是由程序、数据、进程控制块(PCB)组成)的一部分,一个进程的运行目标是执行它所对应的程序。
(2)区别:程序是静态的,而进程是动态的。进程既然是程序的执行过程,因而进程是有生命周期的,有诞生亦有消亡。一个进程可以执行一个或几个程序,一个程序亦可以构成多个进程。进程具有创建其他进程的功能。
进程的特性
(1)并发性:可以同其他进程一道向前推进
(2)动态性:其一,进程动态产生、动态消亡;其二,在进程生命周期内,其状态动态变化。
(3)独立性:一个进程是一个相对完整的资源分配单位
(4)交往性:可能与其他进程发生直接的或间接的作用(资源分配是独立的,执行过程中不独立)
(5)异步性
进程的状态及其状态转换
三状态进程模型:运行状态(Running)、就绪状态(Ready,获得CPU就能运行)、等待状态(Waiting,阻塞状态或封锁状态,进程因等待某种事件发生而暂时不能运行的状态)。状态转换可能是:就绪到运行,运行到就绪,运行到等待,等待到就绪。
五状态进程模型:运行状态(Running)、就绪状态(Ready)、阻塞状态(Blocked)、创建状态(New,在创建状态要进行的工作包括分配和建立进程控制块表项、建立资源表格(如打开文件表)并分配资源,加载程序并建立地址空间表等)、结束状态(Exit)。主要状态转换有:创建进程;提交(Admit)完成创建,进入就绪;调度运行(Dispatch);释放(Release,进程完成或失败,进入结束状态,可能是正常退出(Exit)或是异常退出(abort));超时(Timeout,用完时间片);事件等待(Event Wait,进程要求的事件未出现而进入阻塞);事件出现(Event Occurs,进程等待的事件出现)。
未经允许不得转载:TacuLee » 操作系统原理之进程线程模型