欢迎来到天天文库
浏览记录
ID:52253858
大小:2.79 MB
页数:70页
时间:2020-03-25
《【数据结构与数据库课件】2进程管理.pdf》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、2.1进程的基本概念2.2进程管理2.3进程调度2.4进程间的同步与互斥2.5进程通讯2.6死锁2.1进程的基本概念程序的顺序执行和并发执行顺序执行是单道批处理系统的执行方式,也用于简单的单片机系统;现在的操作系统多为并发执行,具有许多新的特征。引入并发执行的目的是为了提高资源利用率。程序的顺序执行•例:程序段read(disk,&a,4);/*从磁盘读a*/read(tape,&b,4);/*从带读b*/c=a+b;printf(“c=%f”,c);•顺序执行的特征–顺序性–封闭性–可再现性程序并行性表示1.前驱图是一个有向无环图,图中每个
2、结点表示一个语句、一段程序或一个进程有向边表示Vj仅在Vi执行完后才能开始执行S1S1S2S3S2S4S6S5S3S7有回路的前驱图前驱图2.并行语言类Pascal的并行语句。COBEGINs1;s2;…;snCOENDCOBEGIN/COEND相当于一个括号,表示其中的所有语句s,s,…s可并行执行。12n并发执行的条件(Bernstein条件)1966年,由Bernstein给出并发执行的条件。•程序P(i)针对变量的读集R(i)和写集W(i)•条件:任意两个程序P(i)和P(j),同时满足:–R(i)∩W(j)=Φ;–W(i)∩R(j)=Φ;
3、–W(i)∩W(j)=Φ;前两条保证一个程序的两次读之间数据不变化;最后一条保证写的结果不丢掉。例:s1:read(disk,&a,4);/*从磁盘读a*/s2:read(tape,&b,4);/*从带读b*/s3:c=a+b;R(s1)=ΦW(s1)={a}s1和s2可并发,s2和s3不可并发多道程序系统:资源共享;程序的并发运行例:intN=0;/*全局变量*/cobeginprogamAprogamB{{while(1){while(1){…..…..N++;printf(“N=%d”,N);…..N=0;}…..}}}coend•并发执行的特征–间断
4、(异步)性:“运行-暂停-运行”;并发程序之间依赖相互、相互制约–不可再现性–并发程序与它的执行过程并非一一对应进程(PROCESS)的概念一个具有一定独立功能的程序在一个数据集合上的一次动态执行过程。是系统进行资源分配和调度的一个独立单位进程的定义是并发程序的一次执行过程,它由一个动作序列组成,每个动作是在某数据集上执行一段程序,整个活动的结果是提供一种系统或用户功能。进程的特征•动态性:产生、执行、暂停、消亡。有一个生存期•独立性:是系统进行资源分配和调度的独立单位,是能独立运行的基本单位•并发性:程序在建立进程后并发运行进程=程序+数据+PCB(进
5、程控制块,processcontrolblock)进程与程序的区别•进程是动态的,程序是静态的•进程是暂时的,程序的永久的•进程与程序的组成不同进程与程序的联系•通过多次执行,一个程序可对应多个进程;通过调用关系,一个进程可包括多个程序。2.2进程管理进程的状态三种基本调度状态•运行状态:进程分配到必要的资源,在CPU上执行时的状态•就绪状态:进程分配到必要的资源,还没获得在CPU上执行的状态•阻塞状态(等待状态):进程的执行由于本身不具备运行条件而受到阻塞,处于暂停状态Running等待事件(系统服务请求,如请求I/O))ReadyBlocked事件发
6、生进程的状态细分的进程调度状态•挂起:强迫进程释放分配到的资源,将进程调出到外存•活动:未被挂起的就绪和阻塞状态称为活动就绪和活动阻塞•静止:被挂起的就绪和阻塞状态称为静止就绪和静止阻塞wakeup(唤醒)事件发生ReadyaBlockeda解挂挂起Runningactivesuspend解挂挂起activesuspend挂起suspendReadysBlockeds事件发生wakeup(唤醒)图:具有挂起功能的进程状态变化进程的状态转换:三状态进程模型DispatchNewAdmitReadyRunningReleaseExitTimeoutCreateE
7、ventOccursEventWaitBlocked进程控制块(PCB,processcontrolblock)进程的物理结构•程序:描述进程要完成的功能•数据集合:包含程序运行所需的数据和工作区•进程控制块(PCB):包含进程的描述信息和控制信息,是进程动态特性的反映程序和数据集合是进程的实体进程控制块是进程存在的唯一标志进程控制块是由OS维护的用来记录进程相关信息的一块内存。进程控制块的内容•进程标识符:–进程标识符(processID)(内部标识符):唯一,通常是一个整数;–进程名(外部标识符):不唯一,由字母数字组成;•位置信息:指出进程的程序和数据
8、在内存和外存中的物理位置
此文档下载收益归作者所有