《操作系统概念》第六版作业解答7-8章

《操作系统概念》第六版作业解答7-8章

ID:40004780

大小:429.81 KB

页数:23页

时间:2019-07-17

《操作系统概念》第六版作业解答7-8章_第1页
《操作系统概念》第六版作业解答7-8章_第2页
《操作系统概念》第六版作业解答7-8章_第3页
《操作系统概念》第六版作业解答7-8章_第4页
《操作系统概念》第六版作业解答7-8章_第5页
资源描述:

《《操作系统概念》第六版作业解答7-8章》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、Chapter7进程同步进程的同步隐含了系统中并发进程之间存在的两种相互制约关系:竞争(互斥)与协作(同步)互斥:两个并行的进程A、B,如果当A进行某个操作时,B不能做这一操作,进程间的这种限制条件称为进程互斥,这是引起资源不可共享的原因。同步:我们把进程间的这种必须互相合作的协同工作关系,称为进程同步。进程之间的互斥是由于共享系统资源而引起的一种间接制约关系进程之间的同步是并发进程由于要协作完成同一个任务而引起的一种直接制约关系如果无进程在使用共享资源时,可允许任何一个进程去使用共享资源(即使某个进程刚用过也允许再次使用),这是通过进程互

2、斥的方式来管理共享资源如果某个进程通过共享资源得到指定消息时,在指定消息未到达之前,即使无进程在共享资源仍不允许该进程去使用共享资源,这是通过采用进程同步的方式来管理共享资源。有些问题是互斥问题,有些是同步问题,有些是互斥同步混合问题实现临界区互斥的基本方法临界资源:一些被共享的资源,具有一次仅允许一个进程使用的特点临界区:并发进程访问临界资源的那段必须互斥执行的程序实现临界区互斥一个遵循的准则有空让进,临界区空闲时,允许一个进程进入执行无空等待,有进程在临界区执行时,要进入的进程必须等待让权等待,有进程在临界区执行时,要求进入的进程必须立

3、即释放CPU而等待有限等待,不应该使进入临界区的进程无限期地等待在临界区之外实现方法:软件方法、硬件方法临界区问题的解决方案-满足三个基本条件MutualExclusion(互斥条件):IfprocessPiisexecutinginitsCS,thennootherprocessescanbeexecutingintheirCSsProgress(进入条件):IfnoprocessisexecutinginitsCSandsomeprocesseswishtoentertheirCSs,thenonlythoseprocessesthat

4、arenotexecutingintheirRSscanparticipateinthedecisiononwhichwillenteritsCSnext,andthisselectioncannotbepostponedindefinitely.BoundedWaiting(有限等待的条件):Thereexistsabound,orlimit,onthenumberoftimesthatotherprocessesareallowedtoentertheirCSaafteraprocesshasmadearequesttoenterits

5、CSandbeforethatrequestisgranted.信号量信号量表示资源的物理实体typedefstruct{intvalue;//系统初始化时根据代表资源类可用的数量给其赋值structprocess*L;//等待使用该资源的进程列表}semaphore信号量的操作:P(wait)、V(signal)P相当于申请资源V相当于释放资源操作系统利用信号量的状态对进程和资源进行管理,根据用途不同,可以把信号量分为公用信号量和私有信号量公用信号量,用于解决进程之间互斥进入临界区私有信号量,用于解决异步环境下进程之间的同步,利用信号量解

6、决临界区互斥,设置一个公用信号量Mutext,初始值为1,任何要使用临界区资源的进程:调用P(Mutext),使用临界区,调用V(Mutex)利用信号量和PV操作实现进程同步,对所有协作关系的并发进程,他们在使用共享资源时必须互通消息,仅当进程收到指定的消息后才能使用共享资源,否则需等待,直到指定的消息到达。经典同步问题生产者-消费者同步,生产者将生产的产品放入缓存区,消费者从缓存区取用产品,所以他们要互通消息,生产者放之前要测试缓存区是不是满,消费者在从缓存区取之前要测试是不是为空。互斥,任何时候只有一个生产者或者消费者可以访问缓存区读者

7、-写者读写互斥访问写写互斥访问允许多个读者同时读,多个读者共享读者计数器变量,互斥操作哲学家就餐读者-写者(写者优先)intreadcount=0,writecount=0;//读者、写者计数semaphorermutex=1,wmutex=1;//读者、写者分别互斥访问readcount,writecountsemaphorerwmutex=1;//读者、写者互斥访问文件semaphorer=1;//所有读者排队semaphorerw=1;//一个读者与一个写者竞争访问文件//读者do{wait(r);//其他读进程在r上排队wait(r

8、w);//一个读进程与一个写进程在rw上竞争wait(rmutex);readcount++;if(readcount==1)wait(rwmutex);signal(rmute

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

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

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