欢迎来到天天文库
浏览记录
ID:13941943
大小:18.00 KB
页数:3页
时间:2018-07-25
《中期考核题目_并发程序的同步和互斥(学生)》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、操作系统中期考核之一并发程序的同步和互斥一、考核目的综合考察对程序并发执行过程的理解,以及对操作系统或编程语言平台提供的同步机制的合理运用。二、考核题目及要求在生产者-消费者问题、读者-写者问题两个经典同步问题中任选一个,进行编程实现。(一)生产者-消费者问题一个由若干个缓冲区构成的循环缓冲队列用以存放公共数据;若干个生产者和消费者并发执行,通过该缓冲队列交换数据;同步和互斥要求参见教材上的分析。编程实现中,对于各生产者和消费者的具体执行逻辑和执行步调不做要求,但在同样的执行逻辑设计下,应能在执行结果中体现出:1、没有同步机制情况下,会出现错误
2、结果(分别包括因为互斥制约关系和同步制约关系得不到满足时的情况);2、在采用同步机制进行协调情况下,能得到正确结果。[提示]在足以体现设计思想以及说明各种并发问题的前提下,数据结构和程序逻辑可以设计得尽量简单,例如:缓冲区可以仅存放整型数,缓冲区个数可以固定且不要太多以便较容易产生覆盖错误。生产者和消费者的具体数目最好可以通过命令行参数或运行时输入动态指定,如果在编程实现中固定,应便于根据教师检查时要求进行调整(二)读者-写者问题斥要求参见一个公共缓冲区用以存放公共读写数据;若干个读者和写者并发执行,对该缓冲区内容进行读、写;同步和互教材上的分
3、析。编程实现中,对于各读者和写者的具体执行逻辑和执行步调不做要求,但在同样的执行逻辑设计下,应能在执行结果中体现出:1、没有同步机制情况下,会出现错误结果;2、在采用同步机制进行协调情况下,能得到正确结果。[说明]读者-写者问题对于同步机制的选取有如下额外要求:pthread、Java和C#提供的同步机制中都包含了读写锁机制,专用于解决读者-写者问题。要求编程实现时不能只选用这一种机制,但可以选用读写锁机制作为对比补充。三、提交内容要求3应提交内容包括两部分:书面报告和程序实现,1、书面报告,应包括如下主要内容:(1)程序设计要点说明:包括关键
4、数据结构的定义,总体执行逻辑设计和执行参数设定等;(2)竞态条件(Racecondition)分析:说明正确的执行结果应该是什么情况;分析在不加协调情况下可能出现的竞态条件及其表现,设计相应方法保证竞态条件可以被观察到;(3)编程平台说明:说明准备选用的并发程序编写平台和同步机制;(4)执行结果及分析:给出没有采用同步机制进行协调情况下的执行结果,分析出现了什么问题;给出采用同步机制进行协调时的执行结果,说明其正确性。2、程序实现,提交源代码并在机房现场执行,要求:(1)现场执行的结果与报告中记录执行结果一致;(2)根据考核教师要求对源程序进行
5、现场修改后,从源代码生成可执行程序重新执行。四、考核标准说明1、计分依据计分的主要依据是提交的报告和源代码。2、不影响计分的因素(1)编程平台的选择:不做具体要求,可能的选择包括(但不限于):Linux下的进程级别并发;pthread多线程并发;Java的多线程并发;C#的多线程并发。(2)同步机制的选用:除了在读者-写者问题提出的额外要求(不应使用读写锁),各平台的同步机制可以根据需要选用,只要能够有效解决问题即可。(3)检查时间:因为考核需要持续一段时间,在教师要求时间段范围内提交报告和程序的不因具体检查的时段影响考核成绩。3、加分项教师可
6、以根据实现和报告情况,给与最多不超过15%的加分:(1)使用多种平台和/或多种同步机制实现,并进行对比分析。(2)在对问题的分析、算法设计等方面有独到见解。4、无效的提交如果有以下情况,会根据严重程度对得分进行降级折算,最严重可认定为无效提交,需要重新提交报告和程序,且后一次提交最多只能得到70%的评分:(1)关键内容相同:不同报告可能在不同部分具有一定相似性,但不应在关键内容出现包括文字描述在内的相同。如有明显相同的报告,相关报告均将作为无效报告要求重新提交。(2)程序执行是对报告真实性以及编程工作独立性的验证,如不能通过(包括输出结果与报告
7、不一致、不能口头解释结果、不能按照要求进行修改执行等),则相应报告无效,需重新提交。3附录:报告模板并发程序的同步和互斥中期考核报告学号_______________姓名_________成绩______一、选择题目读者-写者问题二、提交程序说明提交程序文件名(打包文件名),编译执行要求等。三、程序设计要点说明包括关键数据结构的定义,总体执行逻辑设计和执行参数设定等。四、竞态条件分析说明正确的执行结果应该是什么情况;分析在不加协调情况下可能出现的竞态条件及其表现,设计相应方法保证竞态条件可以被观察到。五、编程平台说明说明准备选用的并发程序编写平
8、台和同步机制。六、执行结果及分析给出没有采用同步机制进行协调情况下的执行结果,分析出现了什么问题;给出采用同步机制进行协调时的执行结果,说明其正确性。
此文档下载收益归作者所有