hyz-os-2017-2-进程管理-2

hyz-os-2017-2-进程管理-2

ID:21289922

大小:2.22 MB

页数:73页

时间:2018-10-20

hyz-os-2017-2-进程管理-2_第1页
hyz-os-2017-2-进程管理-2_第2页
hyz-os-2017-2-进程管理-2_第3页
hyz-os-2017-2-进程管理-2_第4页
hyz-os-2017-2-进程管理-2_第5页
资源描述:

《hyz-os-2017-2-进程管理-2》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、119九月2021北京交通大学计算机学院何永忠操作系统(A)北京交通大学计算机学院何永忠副教授第二章:进程管理219九月2021北京交通大学计算机学院何永忠本节主要内容重点:并发进程的制约进程并发执行带来的难题:失去封闭性和可再现性,是并发编程的难点重点难点:解决方法临界资源临界区319九月2021北京交通大学计算机学院何永忠第二章进程管理2.1进程的基本概念2.2进程控制2.3进程同步2.4经典进程同步问题2.5管程2.6进程通信2.7线程419九月2021北京交通大学计算机学院进程的执行方式顺

2、序、并行、并发执行19九月2021北京交通大学计算机学院何永忠5多道程序运行情况619九月2021北京交通大学计算机学院并发并发的定义:两个或多个程序在同一时间间隔内运行。并行执行:同一时刻执行两个或者多个顺序执行:依次执行可见:并行和顺序是并发执行的特殊情况719九月2021北京交通大学计算机学院下面这些关于并发的说法对不对?宏观上并行,微观上交替执行先执行的不一定先结束同一时刻只有一个程序执行同一时间段有多个程序执行并发819九月2021北京交通大学计算机学院单道程序顺序执行时的特征顺序性处理

3、机严格按照程序指令的规定顺序执行封闭性封闭环境下运行,程序独占全机资源只有当前运行程序才能改变资源状态程序执行结果不受外界因素的影响可再现性只要程序执行时的环境和初始条件相同,程序重复执行结果相同919九月2021北京交通大学计算机学院由于共享资源程序并发执行可能导致意想不到的后果!(无论是交替执行还是并行)面临的挑战1019九月2021北京交通大学计算机学院并发执行约束:前趋图={(P1,P2),(P1,P3),(P1,P4),(P2,P5),(P3,P5),(P4,P6),(P5,P7),(

4、P6,P7)}PiPj称Pi是Pj的直接前趋,Pj是Pi的直接后继P1P2P3P4P5P6P71119九月2021北京交通大学计算机学院前趋图中必须不存在循环图例中存在前趋关系S2S3和S3S2,显然,这种前趋关系是无法满足的。S1S2S31219九月2021北京交通大学计算机学院单道程序顺序执行时的特征顺序性处理机严格按照程序指令的规定顺序执行封闭性封闭环境下运行,程序独占全机资源只有当前运行程序才能改变资源状态程序执行结果不受外界因素的影响可再现性只要程序执行时的环境和初始条件相同,程序

5、重复执行结果相同1319九月2021北京交通大学计算机学院单道程序顺序执行时的特性与程序员对编程的认知完全相同,为程序实现和错误调试,带来极大方便1419九月2021北京交通大学计算机学院程序并发执行举例说明:程序间并发,一个程序的内部按照代码规定顺序执行共享变量N,初值为0程序AA1:N=1;程序BB1:Print(N);B2:Print(N);1519九月2021北京交通大学计算机学院程序并发执行A1:N=1B1:Print(N)B2:Print(N)A1:N=1B1:Print(N)B2:P

6、rint(N)A1:N=1B1:Print(N)B2:Print(N)1619九月2021北京交通大学计算机学院程序并发执行的特征与问题间断性“执行—暂停执行—执行”的活动规律失去封闭性系统资源共享及资源状态改变的多样性,致使程序运行失去封闭性,程序运行必然会受到其它程序的影响不可再现性并发执行的程序,计算结果与其执行速度和时间有关(异步性)程序B执行情况与单道顺序执行的区别?问题的根源异步性vs同步性进程的异步性:无法预测他们执行速度的相互关系。每次执行可能都有不同的次序不同的次序可能带来不同的

7、结果因此,为了执行结果的正确性,必须是的进程的步调同步起来。1719九月2021北京交通大学计算机学院何永忠1819九月2021北京交通大学计算机学院何永忠2.3进程同步2.3.1并发进程间制约关系2.3.2临界资源与临界区2.3.3进程同步机制准则2.3.4信号量机制2.3.5信号量机制应用基础1919九月2021北京交通大学计算机学院何永忠并发进程间制约关系资源共享关系间接制约(竞争关系)多个进程彼此无关,独立完成自己的任务但共享I/O设备等资源时,就会导致对资源的争夺须协调诸进程对资源的(

8、互斥)访问相互合作关系直接制约(合作关系)多个进程共同合作完成一个任务例如一个进程负责读入数据,一个进程负责对输入的数据进行加工处理。应保证相互合作的诸进程在执行次序上的协调(同步)。我怎么从来没遇到过这个问题2019九月2021北京交通大学计算机学院何永忠程序并发执行错误的再次举例共享初值为5的变量N的两进程(线程)A、BA:N:=N+1B:N:=N-1两个进程并发执行的结果是什么?先A后B:N=5先B后A:N=5还有其他可能的执行结果吗?2119九月2021北京交通大学计算机

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

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

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