单击此处编辑母版标题样式单击此处编辑母版文本样式第二级第三级第四级第五级第五章 并发性:互斥和同步厦门大学软件学院吴清强操作系统2并发性多个应用程序多道程序设计技术允许在多个活动的应用程序间动态共享处理时间结构化应用程序应用程序设计成并发多线程OS结构OS自身也作为一组进程或线程来实现3表5.1 和并发相关的关键术语并发性术语说明临界区是一段代码在这个代码中进程将访问共享资源当另外一个进程已经在这
顺序程序及其特性程序的顺序性-内部顺序性:P1: a1a2a3 P2: b1b2b3-外部顺序性:情形1:a1a2a3b1b2b3 情形2:b1b2b3a1a2a3顺序程序设计的特性:-顺序性:处理机严格按指令依次执行-封闭型:执行过程独占资源-可再现性:程序执行的结果与执行速度无关
单击此处编辑母版标题样式单击此处编辑母版文本样式第二级第三级第四级第五级BUF1BUFnBUF2 .….Pb Pa1 发送进程和接收进程的同步问题 利用信号量可以解决合作进程之间的同步 例:设进程PaPb通过缓冲区队列传送数据 经典的进程同步问题 发送和接送过程满足的条件是: 1)在Pa至少送一块数据入一个缓冲区之前Pb不可能从缓冲区
进程的同步和互斥机制的主要任务:控制并发执行的诸进程之间能有效地共享和相互协作同时使并发执行的程序仍具有可再现性进程互斥 进程同步 利用信号量机制解决具体问题5 不过这种方法是不能保证并发进程互斥执行所要求的准则(3)的(只允许一个进程进入临界区)为了解决这个问题有些机器在硬件中设置了测试与设置(test and set)指令此外有一点需要注意的是:在系统试验时锁定为key[S]总是设置在
for_students2005@password: os2005生产者消费者问题①一个生产者、一个消费者共享一个缓冲区②一个生产者、一个消费者共享多个缓冲区③多个生产者、多个消费者共享多个缓冲区④多个生产者、多个消费者共享一个缓冲区⑤多个生产者、一个消费者共享多个缓冲区⑥一个生产者、多个消费者共享多个缓冲区一个生产者、一个消费者共享一个缓冲区的解var B : integer;empty:se
同步与互斥相交进程之间的关系主要有两种同步与互斥所谓互斥是指散步在不同进程之间的若干程序片断当某个进程运行其中一个程序片段时其它进程就不能运行它 们之中的任一程序片段只能等到该进程运行完这个程序片段后才可以运行所谓同步是指散步在不同进程之间的若干程序片断它们的运行必须严格按照规定的 某种先后次序来运行这种先后次序依赖于要完成的特定的任务 显然同步是一种更为复杂的互斥而互斥是一种特殊的同步 也就
edit Master title 单处理器多道程序:交错 并发的原理-- -示例与进程的执行顺序有关的错误c2 司机 P1 售票员 P2 REPEAT REPEAT 启动 关门 正常运行 售票 到站停 开门
for_students2005@password: os2005生产者消费者问题①一个生产者、一个消费者共享一个缓冲区②一个生产者、一个消费者共享多个缓冲区③多个生产者、多个消费者共享多个缓冲区④多个生产者、多个消费者共享一个缓冲区⑤多个生产者、一个消费者共享多个缓冲区⑥一个生产者、多个消费者共享多个缓冲区一个生产者、一个消费者共享一个缓冲区的解var B : integer;empty:se
#
son(){ while(1) { p(orange) 取水果 V(empty) 吃桔子}}Father V(mutex) P(mutex) 一个海底隧道中只一个车道规定同一方向的可以连续过隧道某方向有汽车过隧道时另一方向的汽车就要等待现在东岸和西岸 都有汽车要过隧道如果把每个过隧道的汽车看作一个进程为保证安全请用PV操作实现正确管理
违法有害信息,请在下方选择原因提交举报