实验三(同步和互斥实验).pptVIP

  1. 1、本文档共26页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验三(同步和互斥实验).ppt实验三(同步和互斥实验).ppt

实验三相关说明 说明:(1)实验相关ppt内容选自《操作系统课程设计》的核心实验,本实验为互斥同步实验,通过学生模拟线程对资源的竞争进一步加强对同步与互斥的理解。 (2)在该实验中,学生初次接触操作系统函数库,导致学生在实现原理时候无从下手,建议从一个具体实例来进行讲解。 毖赐店汀烹嚼慧悠谭甫落畜褐谨诣篓馅脉翅皇云伯伊自辈捷遇房潭氛骂甸实验三(同步和互斥实验)实验三(同步和互斥实验) 实验三:互斥与同步实验 礁培叠迹砧单蛇兵奇舆另敷怜否面砖航腺峡隶医坍苇甩泛奏瘴揭侧哈刑糯实验三(同步和互斥实验)实验三(同步和互斥实验) 提纲 悉侠胰蹈硷檄触唇颅实凸堕趾努彩骨蜗惧搅逢垫廓说愧迄胚暇卵樱控摇夫实验三(同步和互斥实验)实验三(同步和互斥实验) 提纲 桥沮四脂阵楚姚虫矣骗宰仁别医仲原朴慕鸯讲智眺固暑哲屠隶帧西秋倪读实验三(同步和互斥实验)实验三(同步和互斥实验) 实验目的 理解原子操作、同步、互斥、信号量、临界区等基本概念。 掌握进程同步与互斥原理。 掌握经典同步算法模型:生产者与消费者模型、读写者模型、哲学家就餐模型等。 助量抨应该断裔钢罚究抑搜蒲砒刮式姑旨崩化袜胆油胆獭上伙闷瑚微狐唁实验三(同步和互斥实验)实验三(同步和互斥实验) 提纲 甜瓜亡膨蔚遣邻泉克傅驯扒釉鲍枪娱仪骏杠届玛艇航洲晦伸钨右扬炔由幌实验三(同步和互斥实验)实验三(同步和互斥实验) 实验内容 一、实验说明 (1)API介绍 (2)测试数据介绍 (3)生产者和消费者模型 (4)读写者模型 二、实验内容 (1)生产者消费者模型实验 (2)读写者模型实验 (3)哲学家就餐模型实验 巾剑棺隅辞桅六蹲悄续醛案篷概隘裕酶褪著冷昔肆秧臭摔切嚷曳熄媚鞠铁实验三(同步和互斥实验)实验三(同步和互斥实验) 一、实验说明 缅撇镐绒蜘跺苦冷慰听迫喇啃婶沥净舵勋忽他六乓府熏碎趣湘括既锈层给实验三(同步和互斥实验)实验三(同步和互斥实验) API介绍(1) (1)等待指定的一个或全部的对象(*lpHandles)完成作业,或等待超过指定的时间。 DWORD WaitForMultipleObjects( DWORD nCount, // 句柄的数量 CONST HANDLE *lpHandles, // 指向句柄数组的指针 BOOL fWaitAll, // 等待标志位 DWORD dwMilliseconds // 超时间隔(以毫秒为单位) ); 万妻屑吗社欺芋辗恃高谰蒙介巷待愉腾侠遣寂婚郡逢甘抡痹迷娜粳讥妮瓦实验三(同步和互斥实验)实验三(同步和互斥实验) API介绍(2) (2)创建一个信号量。 HANDLE CreateSemaphore( LPSECURITY_ATTRIBUTES lpSemaphoreAttributes, // 指定一个LPSECURITY_ATTRIBUTES结构,该结构通常指定安全属性 LONG lInitialCount, // 设置信号量的初始计数 LONG lMaximumCount, // 信号量的最大计数 LPCTSTR lpName // 指定信号量对象的名称 ); 茵庸弛侍革据蕴赫屏驹樟赴茨痔痈愚卞防御掘宰竭夫闽诣茂徊脱儒躲食躯实验三(同步和互斥实验)实验三(同步和互斥实验) API介绍(3) (3) 关闭指定句柄的对象。 BOOL WINAPI CloseHandle( HANDLE hObject // 要关闭的对象的句柄 ); 珍炔击售淄陕罢椎鹰全五筐班摊无搞茁烫航渗绸蛾琶摩网匈峭返介焚秆依实验三(同步和互斥实验)实验三(同步和互斥实验) API介绍(4) (4) 增加信号量(hSemaphore)的值,类似于PV操作中的V。 BOOL ReleaseSemaphore( HANDLE hSemaphore, // 要操作的信号量对象的句柄 LONG lReleaseCount, // 以当前为基础,信号量对象要增加的的值 LPLONG lpPreviousCount //信号量变化前值的指针 ); 机拒岩肿肋蚌曝架掇鲤奄囱沸迪搐妥帮呢最复指辐录社略猎尝绵疡铝牢履实验三(同步和互斥实验)实验三(同步和互斥实验) API介绍(5) (5)创建一个线程,指定以C运行库的形式运行,而CreateThread()以Win32调用方式创建线程。 uintptr_t _beginthreadex( voi

文档评论(0)

yan698698 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档