下载此文档

操作系统课程设计-读者写者问题.docx


文档分类:IT计算机 | 页数:约13页 举报非法文档有奖
1/13
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/13 下载此文档
文档列表 文档介绍
冬的工学大举
计算机与信息学院
操作系统课程设计报告
开题报告
该项课程设计的意义;
更加深入的了解读者写者问题的算法;
加深对线程,进程的理解;
加深对“线程同步”概念的理解,理解并应用“信号量机制” ;
熟悉计算机对处理机的管理,了解临界资源的访问方式;
了解C++中线程的实现方式,研读 API。
课程设计的任务
多进程 /线程编程:读者 -写者问题。
设置两类进程 /线程,一类为读者,一类为写者;
随机启动读者或写者;
显示读者或写者执行状态;
随着进程 /线程的执行,更新显示;
相关原理及算法描述;
整体概况:
该程序从大体上来分只有两个模块 ,即“读者优先”和“写者优先”模块 .
读者优先:
如果没有写者正在操作,则读者不需要等待,用一个整型变量 readcount 记录
读者数目,用于确定是否释放读者线程, readcount 的初值为 0. 当线程开始调入时 .
每个读者准备读 . 等待互斥信号 ,保证对 readcount 的访问 ,修改互斥 .即 readcount++.
而当读者线程进行读操作时 ,则读者数目减少 (readcount--). 当 readcout=0 时, 说明所
有的读者都已经读完,离开临界区唤醒写者 (LeaveCriticalSection(&RP_Write);), 释
放互斥信号 (ReleaseMutex(h_Mutex)).
还需要一个互斥对象 mutex 来实现对全局变量 Read_count 修改时的互斥 . 另
外,为了实现写 -写互斥,需要增加一个临界区对象 Write 。当写者发出写请求时,
必须申请临界区对 象的所有权 。 通过这 种方法, 可以实现读-写互斥, 当
Read_count=1 时(即第一个读者到来时) ,读者线程也必须申请临界区对象的所有

写者优先:
写者优先与读者不同之处在于一旦一个写者到来,它应该尽快对文件进行写
操作, 如果有一个写者在等待, 则新到来的读者不允许进行读操作。 为此应当填加
一个整形变量 write_count ,用于记录正在等待的写者的数目, write_count 的初值
为 .只允许一个写者准备读 . 等待互斥信号 ,保证对 write_count
的访问 ,修改互斥 .即 write_count++. 而当写者线程进行读操作时 ,则相应写者数目减
少(write_count--).当write_count=0时,说明所有的读者都已经读完, 离开临界区唤
醒读者 ,释放互斥信号 .
为了实现写者优先, 应当填加一个临界区对象 read, 当有写者在写文件或等待
时,读者必须阻塞在 read 上。
开发环境;
VC++
预期设计目标;
读者 - 写者问题的读写操作限制(包括读者优先和写者优先)
. 写 -写互斥:不能有两个写者同时进行写操作
.读 -写互斥:不能同时有一个线程在读,而另一个线程在写。
.读 -读允许:可以有一个或多个读者在读。
若读者的优先权比写者高 , 如果读者申请进行读操作时已有另一个读者正在
进行读操作,则该读者可直接开始读操作 .不必经过别的操件
若读者的优先权比写者高 ,如果第一个写者已经占有了文件的时候 .则别的读
者必需等待该操作完成后 .才能开始读操作 .
若写者的优先权比读者高 , 在一个写者提出要访问文件时, 就必须使其尽可能
的得到文件,而且不用调配。
完成课程设计的任务,实现读者写者问题的全部要求,同时可以实现“读者
优先”和“写者优先”两种情况,有时间的话,争取实现可视化图形界面。
课程设计报告
课程设计任务、要求、目的;
任务和要求:
多进程 /线程编程:读者 -写者问题。
设置两类进程 /线程,一类为读者,一类为写者;
随机启动读者或写者;
显示读者或写者执行状态;
随着进程 /线程的执行,更新显示;
目的:
更加深入的了解读者写者问题的算法;
加深对线程,进程的理解;
加深对“线程同步”概念的理解,理解并应用“信号量机制”
熟悉计算机对处理机的管理,了解临界资源的访问方式;
了解C++中线程的实现方式,研读 API。
原理及算法描述;
写者优先原理图:
初始化啮界区
读者优先原理图:
算法描述:
读者优先的附加限制:如果读者申请进行读操作时已有另一个读者正在进行读
操作,则该读者可直接开始读操作。
写者优先的附加限制:如果一

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

非法内容举报中心
文档信息
  • 页数13
  • 收藏数0 收藏
  • 顶次数0
  • 上传人cjl201801
  • 文件大小71 KB
  • 时间2021-07-29
最近更新