《操作系统》课程设计--基于信号量与PV操作同步机制的读者写者问题的设计与实现
《《操作系统》课程设计--基于信号量与PV操作同步机制的读者写者问题的设计与实现》由会员分享,可在线阅读,更多相关《《操作系统》课程设计--基于信号量与PV操作同步机制的读者写者问题的设计与实现(14页珍藏版)》请在毕设资料网上搜索。
1、操作系统课程设计报告 姓名 学号 级 11 级 八班 八组 实验室: A108 提交日期 8 月 30 日 成绩 指导教师 实验题目:基于信号量与 P/V 操作同步机制的读者/写者问题的设计与实现 实验要求:功能要求 (1)设置读者、写者个数输入(界面) ;实现读者、写者进程的动态创建; (2)用信号量与 P/V 操作同步机制实现写者优先的读者/写者问题。 (3)设计并实现运行结果(界面)包括: 动态显示多个读者或一个写者的读/写操作互斥状态: 显示正在进行读或写操作的进程,以及等待读或写操作的进程; 动态显示写者优先的过程: 即当有读者进程在读时,有写者进程要求写操作,后续的读者进程应该等待
2、;并且当读 操作的读者进程结束读操作后,等待的写者进程应能立即进行写操作。设计相应的等待队列 所需数据结构: CRITICAL_SECTION cs_Read; /临界区 cs-Read HANDLE h_Mutex1; /句柄,方便指向互斥对象 ThreadInfo thread_infoMAX_THREAD_NUM /线程数组 struct ThreadInfo /定义结构体 int serial; /线程序号 char entity; /线程类别(判断是读者还是写者线程) double delay; /线程延迟时间 double persist; /线程读写操作时间 ; 4 相关 API
3、 函数 CreateThread()在调用进程的地址空间上创建一个线程 ExitThread()用于结束当前线程 Sleep()可在指定的时间内挂起当前线程 CreateMutex()创建一个互斥对象,返回对象句柄 OpenMutex()打开并返回一个已存在的互斥对象句柄,用于后续访问 ReleaseMutex()释放对互斥对象的占用,使之成为可用 WaitForSingleObject()可在指定的时间内等待指定对象为可用状态 InitializeCriticalSection()初始化临界区对象 EnterCriticalSection()等待指定临界区对象的所有权 LeaveCritic
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中设计图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 操作系统 课程设计 基于 信号量 PV 操作 同步 机制 读者 问题 设计 实现
