《操作系统原理》课程设计任务书
更新时间:2023-11-22 08:26:01 阅读量: 教育文库 文档下载
《操作系统原理》课程设计任务书
读者-写者问题的模拟实现
一、 设计目的
通过实现经典的读者写者问题,巩固对进程、线程及其同步机制的学习效果,加深对相关进程、线程、同步/互斥等基本概念的理解,并学习如何将基本原理和实际设计有机的结合。
本次实验也可以使得学生在程序设计及软件开发的过程方面得到锻炼。 二、 设计要求
在Windows 2000/XP环境下,使用多线程和信号量机制实现经典的读者/写者问题,用一个线程代表一个读者或一个写者进程。每个线程按相应测试数据文件或者动态随机模拟的要求,进行读写操作。请用信号量机制分别实现读者优先和写者优先的读者-写者问题。
具体的开发语言可以根据学生自己的实际情况选择,可以VC、C#、Java等,任务数不做规定,希望学生能够尽量发挥自己的专长,给自己多点追求,尽量采用图形用户界面,尽量让界面直观、生动。 读者-写者问题的读写操作限制:
(1)写-写互斥,即不能有两个写者同时进行写操作
(2)读-写互斥,即不能同时有一个读者在读,同时却有一个写者在写 (3)读-读允许,即可以有二个以上的读者同时读
? 读者优先的附加限制:如果一个读者申请进行读操作时已有另一读者正在进行读操作,则该读者可直接开始读操作。
? 写者优先的附加限制:如果一个读者申请进行读操作时已有另一写者在等待访问共享资源,则该读者必须等到没有写者处于等待状态后才能开始读操作。
运行结果显示要求:要求在每个线程创建、发出读写操作申请、开始读写操作和结束读写操作时分别显示一行提示信息,以确信所有处理都遵守相应的读写操作限制。课程设计可以用控制台程序来实现,只要能够有效展示读者/写者进展是按照指定的要求进行就可以,但如果能够以图形用户界面方式来动态展示模拟的情况,则评分时给予高的评分等级。 ? 测试数据文件格式 测试数据文件包括n 行测试数据,分别描述创建的n 个线程是读者还是写者,以及读写操作的开始时间和持续时间。每行测试数据包括四个字段,各字段间用空格分隔。第一字段为一个正整数,表示线程序号。第二字段表示相应线程角色,R 表示读者是,W 表示写者。第三字段为一个正数,表示读写操作的开始时间。线程创建后,延时相应时间(单位为秒)后发出对共享资源的读写申请。第四字段为一个正数,表示读写操作的持续时间。当线程读写申请成功后,开始对共享资源的读写操作,该操作持续相应时间后结束,并释放共享资源。下面是一个测试数据文件的例子: 1 r 3 5 2 w 4 5 3 r 5 2 4 r 6 5 5 w 3 3
? 相关API函数(具体函数的说明可以通过Internet查阅) ? CreateThread()在调用进程的地址空间上创建一个线程 ? ExitThread()用于结束当前线程 ? Sleep()可在指定的时间内挂起当前线程 ? CreateMutex()创建一个互斥对象,返回对象句柄
? OpenMutex()打开并返回一个已存在的互斥对象句柄,用于后续访问 ? ReleaseMutex()释放对互斥对象的占用,使之成为可用
? WaitForSingleObject()可在指定的时间内等待指定对象为可用状态 ? InitializeCriticalSection()初始化临界区对象 ? EnterCriticalSection()等待指定临界区对象的所有权 ? LeaveCriticalSection()释放指定临界区对象的所有权
? CreateSemaphore()用于创建信号量,根据参数的不同可以利用它实现互斥和同步。
? ReleaseSemaphore()用于释放信号量,使用后相应的信号量加1
三、 设计时间安排 17周 上午 下午 晚上
周一 周二 4教 周三 周四 4教 周五 4教 周六 4教 周日 4教 18周 周一 周二 4教 周三 4教 周四 周五 4教 周六 周日 上午 4教(机) 下午 晚上
四、 设计考核
4教 1. 平时要求学生在无特殊情况下,要按照安排准时进入设计场所,按照要求进行课程设计。
2. 考核成绩:平时30+面试50+报告20
课程设计完成较快的同学在第一周完就可以开始提出答辩要求,由指导老师给予一次评审面试,通过则可后面不用考勤,自行完成报告即可。开始答辩要求相对较为严格,一人只能一次提出提前答辩要求。如果到最后一次课程设计安排时间,则指导老师可以随机点人考核。 3. 报告内容:
? 要求与内容
? 设计思想与实现过程(数据结构或类描述、处理流程、主要函数说明等) ? 收获和感受 ? 附件(主要源代码)
五、 参考代码:
正在阅读:
《操作系统原理》课程设计任务书11-22
大学生毕业感言范文三篇02-11
国家汉语教学通用课程大纲 - 图文10-03
最新计算机安全试题试题12-29
什么带给我的快乐作文600字07-02
第四章《管理学原理》习题参考答案03-08
JIS加工粗糙度标准表08-09
税务部门2022年度工作计划范文03-24
RC522通过SPI方式读写M1卡04-14
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 任务书
- 原理
- 操作系统
- 课程
- 设计
- 最新五年级品社 实践题
- 1-6章聚合物合成工艺学作业汇总
- 最新审定北师大版六年级第一学期语文上学期期末考试试卷
- 2018年海南化学高考试题(word版含答案) - 图文
- 小学语文综合实践活动习题集锦
- 华东师大初中七年级上册数学图形与展开图(基础)知识讲解
- 实验二 z变换及其应用
- 四川星辉林业司法鉴定中心-XXXXXX有限公司林地面积鉴定报告
- 初中标点符号修改练习(完整版,含方法介绍)
- 自攻螺钉装配工艺规范 - 图文
- 正确对待和解决家庭问题
- 刑释解教人员帮教档案
- 改写成用“万”或“亿”作单位的数
- 2020届高考压缩语段专题训练(学生版)
- 抗肿瘤药物药效学实验方法及指导原则
- 13-14学年第一学期初中部教学(教研)计划、业务学习计划
- 初中说明文阅读题十五篇含答案
- 行政法学试题及答案
- 医学影像超声诊断三基试题第六部分选择
- 高中英语必修四第一单元导学案