




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第七章第七章进程同步与进程通信进程同步与进程通信进程的顺序性与并发性进程的顺序性与并发性(P189190):与时间有关的错误与时间有关的错误(P190192):相关临界区与相关临界区与PV操作操作(P192195):进程的互斥进程的互斥(P195201):进程的同步进程的同步(P201214):进程通信进程通信(P214218):UNIX系统中的进程同步与进程通信系统中的进程同步与进程通信(P218221):线程的概念线程的概念(P221223):进程的顺序性与并发性进程的顺序性与并发性u1.顺序性顺序性u目前使用的计算机是冯诺依曼式结构,其基本特点是处理器顺序执行命令。进程在顺序的处理器上的
2、执行是严格按顺序进行的,这就是进程的顺序性。u当一个进程独占处理器顺序执行时,具有两个特性:封闭性封闭性,进程执行的结果只取决于进程本身,不受外界影响。可再现性可再现性,当进程再次重复执行时,必定获得相同的结果。2.并发性并发性u进程具有并发性。在一个进程的工作没有全部完成之前,另一个进程就可以开始工作,则说这些进程是可同时执行的,或说该组进程具有并发性,我们把这些进程称为并发进程。u并发进程间的关系并发进程间的关系:并发进程相互之间可能是无关的,也可能是交互的。如果一个进程的执行不影响其他进程的执行,且与其他进程的进展情况无关,即它们是各自独立的,则这些并发进程相互之间是无关的。如果一个进程
3、的执行依赖其他进程的执行,则这些并发进程直接是有交互的。与时间有关的错误与时间有关的错误u1.并发进程的执行速度取决于自身和进程调度策略。一个进程运行时会被中断,且断点是不固定的,一个进程被中断后,哪个进程可以允许,被中断的进程什么时候占用处理器,是与进程调度策略有关的。因此进程的执行速度不能由自己决定。u2.并发进程交替使用共享资源时会出现与时间有关的错误。由于共享资源的原因,加上进程并发执行的随机性,一个进程对另一个进程的影响是不可预测的。造成不正确的因素与进程占用处理器的时间、执行的速度以及外界的影响等有关。这些因素都与时间有关,因此把它称为“与时间有关的错误与时间有关的错误”。相关临界
4、区与相关临界区与PV操作操作u1.临界区的定义:临界区的定义:并发进程中与共享变量有关的程序段称为临界区。u2.相关临界区:相关临界区:相关临界区是指并发进程中涉及到相同变量的那些程序段。u3.相关临界区管理要求相关临界区管理要求:为了使并发进程能正确的执行,对若干进程共享某一些变量的相关临界区的管理应满足三个要求:u(1)一次最多让一个进程在临界区中执行,当有进程在临界区中时,其他想进入临界区执行的程序必须等待。u(2)任何一个进入临界区执行的进程必须在有限的时间内退出临界区,即任何一个进程都不应该无限的逗留在自己的临界区。u(3)不能强迫一个进程无限的等待进入它的临界区,即有进程退出临界区
5、时应该让下一个等待进入临界区的程序进入它的临界区执行。u相关临界区管理的办法有多种,譬如使用标志方式、上锁开锁方式、PV操作方式和管理方式等。u4.实现进程互斥的工具实现进程互斥的工具PV操作操作uPV操作时由两个操作,即P操作和V操作组成。P操作和V操作时两个在信号量上进行操作的过程。为了确保PV操作自身的正确执行,因此P(S)和V(S)操作中不可中断,这种不可中断的过程被称为原语。u5.用用PV操作管理相关临界区的一般形式操作管理相关临界区的一般形式u一个信号量与一组涉及共享变量的相关临界区联系起来,信号量的初值定为“1”;u任何一个进程要进入临界区前先调用P操作,执行临界区的操作后,退出
6、临界区时调用V操作;u由于信号量的初值为“1”,P操作起到了限制一次只有一个进程进入临界区的作用,其余进程欲进入临界区必须符合对临界区管理的第一个要求,即一次最多让一个进程在临界区执行。进程退出后执行V操作,若有进程在等待则释放一个进程,这样就达到了对临界区管理的第二个和第三个要求(即不能无限逗留也不能无限等待)。进程的互斥进程的互斥u1.进程互斥的定义进程互斥的定义u进程的互斥是指当有若干进程都要使用某一共享资源时,任何时刻最多允许一个进程去使用,其他要使用该资源的进程必须等待,直到占用资源者释放了该资源。u实际上,共享资源的互斥使用就是使得并发进程互斥的进入相关临界区。u2.读者读者/写者
7、问题写者问题u在计算机系统中,把可供多个进程使用的文件称为共享文件共享文件。u把想读文件信息的进程称为读者(读进程),把想修改文件内容的进程称为写者(写进程)uPV操作实现对读者/写者问题的两种管理方式不允许多个进程同时使用共享文件允许多个进程同时使用共享文件进程的同步进程的同步u进程的同步进程的同步是指并发进程直接存在一种制约关系,一个进程的执行依赖另一个进程的消息,当一个进程没有得到另一个进程的消息应等待,直到消息到达才被唤醒。u把能实现进程同步的机制称为同步机制。同步机制。u经常把进程的互斥与进程的同步统称为进程的同步,把用来解决进程互斥与进程同步的机制(如PV操作)统称为同步机制。u进
8、程的互斥与同步区别区别进程的互斥进程的互斥是进程之间竞争共享资源的使用权。这种竞争没有固定的比如关系。进程的同步进程的同步涉及共享资源的并发进程之间有一种必然的依赖关系。u在解决进程同步和互斥的混合问题时,应特别注意P操作的次序。任何一个进程,只有在得到自己所需的消息后,才能去竞争共享资源的使用权,也即实现互斥的P操作一定要放在实现同步的P操作之后,否则会出现得到了使用共享资源的权利但却不能去使用共享资源的情况。进程通信进程通信u进程通信有直接通信和间接通信两种方式,直接通信总是固定在一定进程之间进行。uPV操作也可看做为进程间的一种通信方式,由于只交换了少量的信息,故称为低级通信方式。例如,
9、进程A把信件只发送给B,而进程B也只接受A的信件,那么send和“receive”的原语形式如下:send(B,M)把信件M发送给进程Breceive(A,X)接受来自进程A的信件且存放X中。u进程A和B通过send和receive操作而自动建立了一种联结。u间接通信是指进程之间利用信箱来交换信件,它是由接收信件的进程来设立的,包括信箱说明和信箱体两部分。是以信箱为媒体来实现通信的,只要接收信件的进程设立一个信箱,那若干个进程都可向同一个进程发送信件。利用信箱通信时,send和receive原语中应给出信箱名,即:send(N,M)把信件M送入信箱N中,receive(N,M)从信箱N中取出一
10、封信存入X中。u通过专门的通信机制实现进程间交换大量信息的通信方式称为进程通信。进程通信是用信件来交换信息的。u进程间可通过信件来传递大量信息。一个进程可以发送一封信,把信息告诉别的进程,或请别的进程协助工作。恬送信件者必须指出把信件发送给谁(或发送到哪个信箱)以及发送到信件(或信件存放地址)。这样才能使收信者收到信件,取到信息。Send原语和receive原语是最基本的通信原语。UNIX系统中的进程同步与进程通信系统中的进程同步与进程通信uUNIX中的进程在用户态执行时使系统调用wait和exit实现父子进程之间的同步。在核心态执行时,使用系统调用sleep和wakeup实现不同用户的进程间同步。UNIX采用管道技术和消息队列机制实现进程间大量信息的传送。线程的概念线程的概念u线程是进程中可独立执行的部分。一个进程中可有多个线程,这些线
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五年度骆采与吴飞的离婚协议及赡养费协议
- 二零二五年石油设备采购合同能源锦集
- 2025版制造业简易劳动合同模板
- 2025年度高端安防产品研发合作合同范本
- 2025版教育项目知识产权合作协议书
- 二零二五年度二人合伙经营生物科技产业合同范本
- 二零二五年度电商云计算服务合作协议
- 2025年度基础土方材料购销与工程全过程管理协议
- 2025版绿色建筑房地产项目开发工程合同
- 二零二五版离婚纠纷调解与心理咨询合同
- 2024届东北育才中学数学高二第二学期期末检测试题含解析
- 第八讲列车运行图和区间通过能力
- 医院培训用死亡证明填写规范2014南京课件
- 老年带状疱疹诊疗专家共识
- GB/T 43256-2023分布式光纤应变测试系统参数测试方法
- 学生贷款申请表格范本
- COMMERCIAL INVOICE 商业发票模板
- 电动汽车充电基础设施验收报告示范文本
- 微机原理及接口技术
- 期末考试成绩分析表
- JJF 1076-2020数字式温湿度计校准规范
评论
0/150
提交评论