专业课程设计i题目-b090402

上传人:mg****85 文档编号:34739734 上传时间:2018-02-28 格式:DOC 页数:12 大小:427.50KB
返回 下载 相关 举报
专业课程设计i题目-b090402_第1页
第1页 / 共12页
专业课程设计i题目-b090402_第2页
第2页 / 共12页
专业课程设计i题目-b090402_第3页
第3页 / 共12页
专业课程设计i题目-b090402_第4页
第4页 / 共12页
专业课程设计i题目-b090402_第5页
第5页 / 共12页
点击查看更多>>
资源描述

《专业课程设计i题目-b090402》由会员分享,可在线阅读,更多相关《专业课程设计i题目-b090402(12页珍藏版)》请在金锄头文库上搜索。

1、1 专业课程设计 I 学生班级:B090402 任课教师:黄海平 专业课程:操作系统 、 微机原理与接口技术(含汇编语言) 、 Java 语言程序设计 、 编译原理 、 计算机图形学 、 数据结构 与算法 课题考察形式:第一题为必做题+(在二、三、四、五、六、七题中) 选做 1 题( 选做规则:每题选择人数不能多于 8 人,不能少于 4 人) 上机时间地点:第 9-10 周(2012.4.16-2012.4.26) ,每周一周四下 午 13:4516:10,教五楼 501 室,不得缺席 一、必做题: 1、课题名称教师对学生的项目评分进程的同步与互斥 2、课题描述 在一个班上有S 个学生。每个学

2、生都要做一个项目,每一个项目由K 个老 师一起评分。总共有M 个老师。每个老师最多给N 个项目评分。其中, S*KD。每一个学生的项目由K 个老师共同来 检查。在T 分钟的时间段内,学生可以在任何时间进入教室(random) ,除了在 最后的D 分钟内。所有的老师一直保持工作状态直到他检查完N 个项目或者是 T 分钟过去后。T 分钟过去后,所有的老师和同学都必须离开教室。另外,在 T 分钟结束前的D 分钟内(即在最后的D 分钟内),如果有任何老师或者是学生 都处在没有任务的状态下,都必须离开教室,因为已经没有时间让他完成任务 了(因为一个项目检查的时间是整整D 分钟)。 该课题主要考察操作系统

3、中 PV 操作知识点,涉及到多进程管理和死锁的2 相关知识。 3、具体过程 当一个学生进入教室后,他立即开始找K 个没有任务的老师(一次找一个老 师,假如没有空闲的老师,则等到有老师为止),找齐K 个老师之后给老师检查, 然后离开教室。刚开始每一个老师都是处于空闲状态直到他被学生找到,被学 生找到后只能等待,直到学生找齐K 个老师(在等待学生找其他老师的时间里, 他是不能接受其他同学检查作业的请求的),当学生找齐K 个老师后,老师们执 行完检查任务,然后重新变成空闲状态。每个老师在总共检查了N 个学生的作 业后,离开教室。 注意,并不保证所有的学生都在T 分钟的时间段内完成了检查,还要注意 不

4、能发生死锁问题。 4、基本要求 用一个程序来模拟上面描述的作业检查过程。每一个学生和每一个老师应 该用不同的线程来完成。可以选用 C、C+和 Java 作为开发语言,但是考虑到 专业课程设计 I 的实验大纲,请尽可能使用 Java 语言。 5、提高要求 (1) 考虑到跨平台的特性,请尽量使用 posix 线程标准(采用该标准有额外 的加分); (2) 实现良好的图形用户界面; (3) 在程序演示过程中能清晰的展示多个学生线程和多个老师线程的同步 和互斥流程。 6、作答提示 (1) 学生线程和老师线程 一个学生线程执行下面的步骤: (1) 选择一个进入的时间(random()%(T-D)minu

5、tes ; (2) 进入教室; (3) 选择K 个空闲的老师,若找不齐,则等待; (4) 找齐后,做D 分钟的检查; (5) 检查完毕离开教室。3 一个老师线程执行下面的步骤: (1) 在教室中空闲; (2) 直到被一个学生选择后等待(所有K 个老师聚集); (3) 等待结束项目检查开始; (4) 做D 分钟的项目检查;(1)(4) 步骤重复N 次 (5) N 次检查完毕或者T 分钟时间到,离开教室。 (2) 注意事项 (1) 在剩余时间小于D 时,一个已创建的学生线程只能执行第(5)步,不能 再创建新的学生线程; (2) 在剩余时间小于 D 时,一个老师进程只能在执行(3)(4)步或者直接执

6、 行第(5)步; (3) 对于所有合理的S, M, K, N, T, D 数值(这些数必须都是正整数并且满足 条件:S*KD) ,你的程序都能够运行成功; (4) 你的程序对所有的时间安排策略都必须运行成功。例如不管线程的相 对速度,例如要把握好 sleep 的毫秒数; (5) 在每一个线程的生命周期内,每一步都要有一个合理的说明信息,来 表明这个线程中包括哪个老师,哪个学生,进行到什么程度了; (6) 要特别注意防范死锁问题的发生。 以上六点都是最后评分的要点。 7、测试用例( 注:仅供参考,不作为程序实现的标准格式) 说明信息的格式提供如下: S=5 M=3 K=2 N=3 T=150 D

7、=20 0 student 0: starts panicking 0 student 1: starts panicking 0 student 2: starts panicking 0 student 3: starts panicking 0 student 4: starts panicking 0 marker 0: enters lab 0 marker 1: enters lab 0 marker 2: enters lab 14 student 0: enters lab 14 marker 0: grabbed by student 0 (job 0) 14 marker

8、1: grabbed by student 0 (job 0)4 14 student 0: starts demo 35 student 0: ends demo 35 student 0: exits lab (finished) 35 marker 1: finished with student 0 (job 0) 35 marker 0: finished with student 0 (job 0) 38 student 2: enters lab 38 marker 2: grabbed by student 2 (job 2) 38 marker 1: grabbed by s

9、tudent 2 (job 2) 38 student 2: starts demo 54 student 4: enters lab 54 marker 0: grabbed by student 4 (job 4) 59 student 2: ends demo 59 student 2: exits lab (finished) 59 marker 2: finished with student 2 (job 2) 59 marker 2: grabbed by student 4 (job 4) 59 marker 1: finished with student 2 (job 2)

10、 59 student 4: starts demo 80 student 4: ends demo 80 student 4: exits lab (finished) 80 marker 2: finished with student 4 (job 4) 80 marker 0: finished with student 4 (job 4) 96 student 3: enters lab 96 marker 1: grabbed by student 3 (job 3) 96 marker 2: grabbed by student 3 (job 3) 96 student 3: s

11、tarts demo 117 student 3: ends demo 117 student 3: exits lab (finished) 117 marker 1: finished with student 3 (job 3) 117 marker 1: exits lab (finished 3 jobs) 117 marker 2: finished with student 3 (job 3) 117 marker 2: exits lab (finished 3 jobs) 127 student 1: enters lab 127 marker 0: grabbed by s

12、tudent 1 (job 1) 131 student 1: exits lab (timeout, time2 基本要求: (1) 计算结果正确; (2) 程序运行良好,演示清晰。 提高要求: 能实现图形化的显示。 3、参考书目 1 孙力娟等. 微型计算机原理与接口技术M. 北京: 清华大学出版社, 2008. 2 徐建民等. 汇编语言程序设计M. 北京: 电子工业出版社, 2005. 四、选做题3 : 1、课题名称 Java 语言实现一个嵌入网页执行的小 Applet 2、课题内容和要求 实现一个有声音、图像和文字的小 Applet 嵌入网页中执行。 基本要求: (1) 该 Applet

13、 必须是个性化的,包含了你个人的信息(例如姓名、学号),能 体现个人的兴趣爱好等主题,与你自身主题无关的 Applet 一律认为是抄袭; (2) 该 Applet 能够实现丰富的图文素材,而不是单一的枯燥的简单例子; (3) 程序运行良好,界面清晰。 提高要求: (1) 在 Applet 中实现个性化小游戏或者动画功能; (2) 封装成为 JSP (Java Server Page) 。7 3、参考书目 1 王汝传. Java 语言程序设计基础M. 成都: 成都科技大学出版社, 1998. 2 张孝祥. Java 就业培训教程M. 北京: 清华大学出版社, 2003. 五、选做题4 : 1、课

14、题名称 图形动画制作 2、课题内容和要求 用图形函数设计动画,一个人在公路上奔跑,这时从屏幕右端开出一辆卡 车,最终将人撞倒了。 基本要求: (1) 编程实现该动画; (2) 实物演示时要求讲出程序原理; (3) 程序操作友好、界面清晰。 提高要求: (1) 人和卡车的图形设计轮廓明晰,动画显示清楚、逼真; (2) 能够给动画赋予色彩,甚至实现三维效果 。 3、参考书目 1 王汝传 黄海平 林巧民. 计算机图形学M. 北京: 人民邮电出版社, 2009. 2 孙家广 编著. 计算机图形学M. 北京: 清华大学出版社, 2002. 六、选做题5 : 1、课题名称 词法分析程序的构造 2、课题内容和要求 选取语言,例如选取了 C 语言,选取其中一个子集,例如包含了部分关键 字 main、float 、if 、for 等等,特殊符号( 、 、= 、+等等,特殊定义的标识符

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 科普知识

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号