下载此文档

操作系统读者与写者问题课程设计报告.doc


文档分类:IT计算机 | 页数:约16页 举报非法文档有奖
1/ 16
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/ 16 下载此文档
文档列表 文档介绍
课程设计任务书
学院
信息学院
专业
计算机科学与技术
学生姓名
学号
题目
读者与写者问题(进程同步问题)
内容及要求:
内容:
读者与写者问题(进程同步问题)
实验目的:了解进程同步的概念,理解信号量机制的原理,掌握信号量解决同步问题的方法,进而学会进程的同步与互斥。
设计要求:编程模拟教材中讨论读者与写者的问题,要求能显示结果。
任务交付:;
2课程设计论文及电子文档。
进度安排:16周——确定题目,查找资料,上机编程;
20周——上机编程调试,验收答辩,提交课程序设计报告书。
指导教师(签字):
年月日
学院院长(签字):
年月日
目录
一、课程设计目的及要求 1
二、相关知识 1
三、题目分析 2
四、概要设计 4
五、代码及流程 5
六、运行结果 11
七、设计心得 12
八、参考文献 12
一、课程设计目的及要求
读者与写者问题(进程同步问题)
用n 个线程来表示n个读者或写者。每个线程按相应测试数据文件的要求,进行读写操作。请用信号量机制分别实现读者优先和写者优先的读者-写者问题。
读者-写者问题的读写操作限制:
1)写-写互斥;
2)读-写互斥;
3)读-读允许;
写者优先的附加限制:如果一个读者申请进行读操作时已有另一写者在等待访问共享资源,则该读者必须等到没有写者处于等待状态后才能开始读操作。
二、相关知识
Windows API:
在本实验中涉及的API 有:
1线程控制:
CreateThread 完成线程创建,在调用进程的地址空间上创建一个线程,以执行指定的函数;它的返回值为所创建线程的句柄。
HANDLE CreateThread(
LPSECURITY_ATTRIBUTES lpThreadAttributes, // SD
DWORD dwStackSize, // initial stack size
LPTHREAD_START_ROUTINE lpStartAddress, // thread
function
LPVOID lpParameter, // thread argument
DWORD dwCreationFlags, // creation option
LPDWORD lpThreadId // thread identifier
);
2 ExitThread 用于结束当前线程。
VOID ExitThread(
DWORD dwExitCode // exit code for this thread
);
3 Sleep 可在指定的时间内挂起当前线程。
VOID Sleep(
DWORD dwMilliseconds // sleep time
);
4信号量控制:
WaitForSingleObject 可在指定的时间内等待指定对象为可用状态;
DWORD WaitForSingleObject(
HANDLE hHandle, // handle to object
DWORD dwMilliseconds // time-out interval
);
hHandle为等待的对象,也就是实现同步或者互斥的对象。该函数一执行,相应的信号量就减去1,如果信号量小于等于0,那么他一直在循环。
5 实现信号量互斥和同步
CreateSemaphore用于创建信号量,根据参数的不同可以利用它实现互斥和同步。
ReleaseSemaphore用于释放信号量,使用后相应的信号量加1
HANDLE CreateSemaphore(
LPSECURITY_ATTRIBUTES lpSemaphoreAttributes,//SD
LONG,lInitialCount, //initial count
LONG,lMaximumCount, //maximum count
LPCTSTR lpName //object name
);
ReleaseSemaphore(
HANDLE hSemaphore, //handle to semaphore
LONG lRelseaseCount, //cont increment amount
LPLONG lpPreviousCount //previous count
);
三、题目分析
将所有的读者和所有的写者分别放进两个等待队列中,当读允许时就让读者队列释放一个或多个读者,当写允许时,释放第一个写者操作。
(1)构筑读者进程和写者进程间的临界区
题目中说的一批数据被多个读者、写者共享使用,允许多个读者同时访问这些数据,但

操作系统读者与写者问题课程设计报告 来自淘豆网www.taodocs.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数 16
  • 收藏数 0 收藏
  • 顶次数 0
  • 上传人 3346389411
  • 文件大小 0 KB
  • 时间2013-03-27
最近更新