1 / 23
文档名称:

《操作系统》课程设计-进程通信与进程同步机制实现.doc

格式:doc   页数:23
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

《操作系统》课程设计-进程通信与进程同步机制实现.doc

上传人:3346389411 2014/2/28 文件大小:0 KB

下载得到文件列表

《操作系统》课程设计-进程通信与进程同步机制实现.doc

文档介绍

文档介绍:资料
江苏大学
《操作系统》课程设计说明书
设计题目进程通信与进程同步机制实现
学生姓名
指导老师
学院计算机学院
专业班级软件工程1002班
学号 3100608047
完成时间 2013年1月9日
课程设计题目
某银行提供10个服务窗口(7个对私服务窗口,3个对公服务窗口)和100个供顾客等待的座位。顾客到达银行时,若有空座位,则到取号机上领取一个号,等待叫号。取号机每次仅允许一位顾客使用,有对公和对私两类号,美味顾客只能选取其中一个。当营业员空闲时,通过叫号选取一位顾客,并为其服务。请用P、V操作写出进程的同步算法。
课程设计目的
1、掌握基本的同步与互斥算法,理解银行排队系统操作模型。
2、学习使用Windows 2000/XP中基本的同步对象,掌握相关API的使用方法。
3、了解Windows 2000/XP中多线程的并发执行机制,实现进程的同步与互斥。

◆学习并理解生产者/消费者模型及其同步/互斥规则;
◆学习了解Windows同步对象及其特性;
◆熟悉实验环境,掌握相关API的使用方法;
◆设计程序,实现生产者/消费者进程(线程)的同步与互斥;
◆提交实验报告。


同步对象是指Windows中用于实现同步与互斥的实体,包括信号量(Semaphore)、互斥量(Mutex)、临界区(Critical Section)和事件(Events)等。本实验中使用到信号量、互斥量和临界区三个同步对象。
:
◆创建/初始化同步对象。
◆请求同步对象,进入临界区(互斥量上锁)。
◆释放同步对象(互斥量解锁)。

我们利用Windows SDK提供的API编程实现实验题目要求,而VC中包含有Windows SDK的所有工具和定义。要使用这些API,需要包含堆这些函数进行说明的SDK头文件——(特殊的API调用还需要包含其他头文件)。
本实验使用到的API的功能和使用方法简单介绍
1、WaitForSingleObject( hSemaphoreChairs , INFINITE );
WaitForSingleObject( hMutex , INFINITE );
功能——使程序处于等待状态,直到信号量hHandle出现(即其值大于等于1)或超过规定的等待时间
格式
DWORD WaitForSingleObject(HANDLE hHandle, DWORD dwMilliseconds);
参数说明
hHandle——信号量指针。
dwMilliseconds——等待的最长时间(INFINITE为无限等待)。
2、ReleaseMutex( hMutex );
功能——打开互斥锁,即把互斥量加1。成功调用则返回0
格式
BOOL ReleaseMutex(HANDLE hMutex);
ReleaseSemaphore( hSemaphoreShoppers ,1,NULL);
功能——对指定信号量加上一个指定大小的量。成功执行则返回非0值
格式
BOOL ReleaseSemaphore(HANDLE hSemaphore,
LONG lReleaseCount,
LPLONG lppreviousCount );
参数说明
hSemaphore——信号量指针。
lReleaseCount——信号量的增量。
lppreviousCount——保存信号量当前值。
3、hShoppersThread = CreateThread ( NULL ,0 , fnTreadFunction ,NULL , 0 ,NULL );
CreateThread
功能——创建一个在调用进程的地址空间中执行的线程
格式
HANDLE CreateThread( LPSECURITY_ATTRIBUTES lpThreadAttributes,
DWORD dwStackSize,
LPTHREAD_START_ROUTINE lpStartAddress,
LPVOID lpParamiter,
DWORD dwCreationFlags,
Lpdword lpThread );
参数说明
lpThreadAttributes——指向一个LPSECURITY_ATTRIBUTES(新线程的安全性描述符)。
dwStackSize——定义原始堆栈大小。
lpStartAddress——指向使用LPTHRAED_START_ROUTINE类型定义的函数。
lp

最近更新

2023年安徽新闻出版职业技术学院单招综合素质.. 39页

2023年安徽省宿州市单招职业倾向性考试题库汇.. 39页

2026年健康的读书心得 65页

2023年安徽艺术职业学院单招职业倾向性考试题.. 40页

2026年做饭的乐趣作文500字 10页

2023年宿迁泽达职业技术学院单招职业倾向性测.. 41页

2023年山东力明科技职业学院单招职业适应性考.. 40页

2023年山东城市建设职业学院单招职业倾向性考.. 42页

2026年做一次重要改变初二作文 8页

2023年山东理工职业学院单招职业技能考试模拟.. 39页

2023年山东省枣庄市单招职业倾向性测试题库必.. 40页

2023年山西省朔州市单招职业倾向性考试题库推.. 41页

2023年广东省揭阳市单招职业倾向性考试题库及.. 40页

2023年江苏省常州市单招职业倾向性考试题库必.. 40页

2023年江西省抚州市单招职业适应性考试题库最.. 41页

2023年河北省邢台市单招职业适应性考试题库带.. 39页

2023年浙江药科职业大学单招职业技能考试题库.. 42页

2023年湖北省黄石市单招职业倾向性考试题库附.. 42页

2023年白银矿冶职业技术学院单招职业技能考试.. 40页

2023年西安明德理工学院单招职业技能考试题库.. 40页

2023年贵阳康养职业大学单招职业技能考试题库.. 40页

2026年保护眼睛学生倡议书 10页

2023年重庆安全技术职业学院单招职业技能考试.. 40页

2023年黄山职业技术学院单招职业技能考试题库.. 40页

2024年七台河职业学院单招职业倾向性考试题库.. 40页

2024年上海中医药大学单招职业倾向性测试模拟.. 40页

2025年国家开放大学《建筑力学》章节测试参考.. 13页

2024年常州机电职业技术学院单招职业适应性测.. 78页

【人教版英语字帖】七年级下册单词表衡水体字.. 42页

食品安全自查、从业人员健康管理、进货查验记.. 9页