操作系统考研大纲解读2.pdf

操作系统考研大纲解读2.pdf

ID:52516576

大小:785.24 KB

页数:106页

时间:2020-03-28

操作系统考研大纲解读2.pdf_第1页
操作系统考研大纲解读2.pdf_第2页
操作系统考研大纲解读2.pdf_第3页
操作系统考研大纲解读2.pdf_第4页
操作系统考研大纲解读2.pdf_第5页
资源描述:

《操作系统考研大纲解读2.pdf》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、二二、二、、进程管理、进程管理((三(三三)三))进程同步)进程同步1.进程同步的基本概念进程间的制约关系:直接制约::合作:合作间接制约::共享资源:共享资源二二、二、、进程管理、进程管理((三(三三)三))进程同步)进程同步1.进程同步的基本概念互斥(mutualexclusion)::当一个进程正在访问:当一个进程正在访问某共享资源时,,就不允许其他进程对其访问,就不允许其他进程对其访问,,这,这种相互制约关系称为互斥。同步(synchronism)::有协作关系的进程之间要:有协作关系的进程之间要

2、不断调整他们之间的相对速度。。即。即即多个相关进程即多个相关进程在执行次序上的协调。二二、二、、进程管理、进程管理((三(三三)三))进程同步)进程同步1.进程同步的基本概念临界资源::一段时间内仅允许一个进程使用的资源:一段时间内仅允许一个进程使用的资源称为临界资源。临界区::进程中访问临界资源的那段代码称为临界:进程中访问临界资源的那段代码称为临界区区,区,,又称临界段,又称临界段。同类临界区::所有与同一临界资源相关联的临界区:所有与同一临界资源相关联的临界区。二二、二、、进程管理、进程管理((三(三三)

3、三))进程同步)进程同步1.进程同步的基本概念进入临界区的基本准则空闲让进:若无进程处于临界区时,,应允许一个进程进入临界,应允许一个进程进入临界区区。区。忙则等待:当已有进程进入临界区,,其他进程必须等待,其他进程必须等待。有限等待:应保证要求进入临界区的进程在有限时间内进入临界区。让权等待:当进程不能进入自己的临界区时,,应释放处理机,应释放处理机。二二、二、、进程管理、进程管理((三(三三)三))进程同步)进程同步2.实现临界区互斥的基本方法软件实现方法访问临界资源的进程描述voidp(inti

4、)假设互斥在两个进程间进行,{两进程的并发执行表示如下:while(true)voidmain(){{公共变量说明;进入代码;临界区;cobegin退出代码;p0();非临界区;p1();}coend}}二二、二、、进程管理、进程管理((三(三三)三))进程同步)进程同步2.实现互斥的软件方法-算法1设一个公用整型变量turn,用来指示允许进入临界区的进程标识。此算法可以保证互斥访问临界资源,但两个进程必须以交替次序进入临界区。此算法不能保证实现空闲让进准则。intturn=0;p1:p0:while(true)w

5、hile(true){while(turn!=1);{while(turn!=0);进程p1的临界区代码cs1;进程p0的临界区代码cs0;turn=1;turn=0;进程p0的其他代码;}进程p1的其他代码;}二二、二、、进程管理、进程管理((三(三三)三))进程同步)进程同步2.实现互斥的软件方法-算法2设置标志数组flag[]表示进程是否在临界区中执行,初值均为假。此算法解决了空闲让进的问题,但有可能两个进程同时进入临界区。enumboolean{false,true};p1:booleanflag[2]={

6、false,while(true)false};p0:{while(flag[0]);while(true)flag[1]=true;{while(flag[1]);进程p1的临界区代码cs1;flag[0]=true;flag[1]=false;进程p0的临界区代码cs0;进程p1的其他代码;}flag[0]=false;进程p0的其他代码;}二二、二、、进程管理、进程管理((三(三三)三))进程同步)进程同步2.实现互斥的软件方法-算法3本算法仍然设置标志数组flag[],但标志用来表示进程是否希望进入临界区。

7、该算法可以有效地防止两个进程同时进入临界区,但存在两个进程都进不了临界区的问题。enumboolean{false,true};p1:booleanflag[2]={false,while(true)false};p0:{flag[1]=true;while(true)while(flag[0]);{flag[0]=true;进程p1的临界区代码cs1;while(flag[1]);flag[1]=false;进程p0的临界区代码cs0;进程p1的其他代码;}flag[0]=false;进程p0的其他代码;}二二、二、

8、、进程管理、进程管理((三(三三)三))进程同步)进程同步2.实现互斥的软件实现方法-算法4本算法的基本思想是算法3和算法1的结合,是一个正确的算法。标志数组flag[]表示进程是否希望进入临界区或是否正在临界区中执行。还设置了一个turn变量,用于指示允许进入临界区的进程标识。p1:enumboolean{false,tru

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。