写者优先实验报告.pdf

上传人:l*** 文档编号:71537225 上传时间:2023-02-03 格式:PDF 页数:4 大小:145.14KB
返回 下载 相关 举报
写者优先实验报告.pdf_第1页
第1页 / 共4页
写者优先实验报告.pdf_第2页
第2页 / 共4页
点击查看更多>>
资源描述

《写者优先实验报告.pdf》由会员分享,可在线阅读,更多相关《写者优先实验报告.pdf(4页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、实验报告/*学号:姓名:/*实验序号:1*/*实验名称:用信号量来实现读者写者问题(写者优先)*/*实验目的:理解进程(或线程)及信号量的概念*/*实验当堂所要完成的事情列表*/上网查找有关 API 函数,例如句柄,创建进程的函 数,以及 这些函 数的 对应 参数 都有哪 些,这些 参数 有什么 作用 等。例如:WaitForSingleObject(),CreateSemaphore()等。2.对与实验有关的知识进行查看,例如查看有关参考书,和上课用的PPT 等,深入了解这些原理,例如用信号量来实现进程之间的互斥,以及落实到具体的代码实现应该怎么组织数据结构,用哪些具体的API 函数,函数之

2、间的传参应该怎么办等。3.根据预习报告,虽有借鉴之嫌,但是还是可以启发一下程序的具体结构,将程序执行的结构图画出来。*/*源代码(必须含注释,要求规范性)及程序流程图*/.pp:定义控制台应用程序的入口点。.n);.n);rc=rc-1;if(rc=0)ReleaseSemaphore(&buffer,1,NULL);.n);.n);ReleaseSemaphore(&buffer,1,NULL);printf(写者释放对 buffer 的互斥访问n);void main()HANDLE Data2;函数的调用问题等待所有读线所有读线程处解决:API 函数和普通函数其实本质上都是一样的,但是进

3、程和普通的变量不一样。例已有进程对开始读/写判断是否有读申请资源,进程完成再执行理完毕,释放读/写行读操作如 P-V 原语,这对函数必须是成对出现的,buffer 进行读写否则没有意义。互斥信号量但是在 API 函数中并没有 P 函数和 V 函 数,需 要 自 己 查 找 或 者 上 网 搜 索。还 有 函 数 的 嵌 套 调 用,例 如:CreateThread(NULL,0,(LPTHREAD_START_ROUTINE)(reader),&Data1,0,NULL),这个函数是我直接利用了别人的代码,调用了reader 函数,但是前面的那个参数至今未明白,上网看了一下,说是强制转换。*/

4、*运行过程中出现的问题及其相应解决:1读写信号量的不互斥解决:在刚写好程序的时候,发现读者和写者程序同时调用,表现为交叉打印,所以用了程序逐句执行,逐句执行到最后,出现了汇编代码,只好不了了之。后来经过仔细观察之后才发现可能是函数的参数有问题,修改了参数之后,程序变得正常了。2每个读者一来都要判断是否有数据可读,但是当第一个读者已经拿到数据缓存区的使用权时,接下来的读者便无法对数据进行读操作;而同时有写者等待的情况下,一旦第一个读者读完后,写者便只能写,写完读者才能读解决:这是由于同步信号量导致的结果。对于同一个缓冲区,只能实现读者读,然后写者写,又读者读,写者写,所以便不能实现若干个读者同时

5、进行读操作。只需调整为当第一个读者来的时候拿到读数据的使用权后,直到没有读者等待后,再交出缓冲区的使用权,再让写者写即可解决此问题。3.运行过程中会出现直接跳出的现象解决:是运行环境的问题,如果是 VS2012 会在程序运行完之后直接跳转退出,可以加入System(“pause”)暂停语句是程序停止。*/3/10/*实验总结 3/10这是第一次对 API 函数的应用,发现 API 函数虽然名字很长,但是认真去做还是比较好做出来,毕竟函数是死的,只要参数满足,就可以调用,而不用自己编写,这是操作系统提供的接口,可以对进行系统级的编程,对程序的进一步开发有很大的帮助。API 函数很多,需要仔细的查

6、询,所以只要用心慢慢去做就可以了。多进程或多线程的读者写者程序比较复杂,所以只有自己利用 API 函数写了一个单线程的程序。自己也看了很多多线程的程序,是给互斥的进程加上了循环,但是一加上循环,程序考虑的点就会变的更多,考虑到自己可以将程序弄的更加明白,所以我还是选择了单线程的编写。程序中,读者和写者共享同一个资源缓冲区。需要对各个线程的操作进行一定的互斥,防止多个线程在并发执行的过程中,发生死锁现象。但是考虑到单线程,没有并发,但是资源共享了,就是分配一个资源,所以程序才会容易很多。写操作系统的实验需要参考很多的书,只有见识的够多才能写出代码,所以 duoduyixie书,比如参考书等很有必要。运行截图:*/

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

当前位置:首页 > 应用文书 > 工作报告

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com