- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第六讲 进程同步
实验安排 主要内容 1. 实 验 目 的 使用 EOS 的信号量编程解决生产者—消费者问题,理解进程同步的意义。 调试跟踪 EOS 的信号量的工作过程,理解进程同步的原理。 修改 EOS 的信号量算法,使之支持等待超时唤醒功能(有限等待),加深理解进程同步的原理。 2. 概念回顾 多个并发执行的进程可以同时访问的硬件资源(打印机、磁带机)和软件资源(共享内存)都是临界资源。 一次仅允许一个进程使用的资源 系统中许多硬件如打印机等,诸进程之间只能用互斥的方式进行访问 每个进程中访问临界资源的那段代码称为临界区(Critical Section)。Lock mutex and enter critical section Critical sectionRelease mutex and exit critical section 2.2 进程的同步 进程同步的主要任务是使并发执行的各进程之间能有效的共享资源和相互合作。 互斥(Mutex)信号量(Semophore)事件(Event) 生产者-消费者问题读者-写者问题哲学家进餐问题 2.3 生产者-消费者问题 有一群生产者进程在生产某种产品,并将此产品提供给一群消费者进程去消费。为使生产者进程和消费者进程能并发执行,在他们之间设置了一个具有 n 个缓冲区的缓冲池,生产者进程可以将它生产的一个产品放入一个缓冲区中,消费者进程可以从一个缓冲区中取得一个产品消费。尽管所有的生产者进程和消费者进程都是以异步方式运行的,但它们之间必须保持同步,即不允许消费者进程到一个空缓冲区去取产品,也不允许生产者进程向一个已经装有产品的缓冲区中放入产品。 3. EOS 内核提供的同步对象 互斥(Mutex)对象 信号量(Semaphore)对象 事件(Event)对象 进程对象和线程对象 3.1 EOS内核提供了唯一的API函数用于各种同步对象的等待操作 3.2 Mutex 对象 3.3 Semaphore 对象 3.4 Event 对象 4. 在 EOS 应用项目中创建线程 5. Main函数流程图 6. Producer函数流程图 7. Consumer函数流程图 第六讲 进程的同步 在实验报告中至少包括下列问题及其回答: P143,生产者在生产了13号产品后本来要继续生产14号产品,可此时生产者为什么必须等待消费者消费了4号产品后,才能生产14号产品呢?生产者和消费者是怎样使用同步对象来实现该同步过程的呢? P145-3.4 修改EOS的信号量算法(只看一次消费1个产品的,一次消费2个产品的可以写到实验报告中) P147-四、 思考与练习-2. 绘制ps/semaphore.c文件内PsWaitForSemaphore和PsReleaseSemaphore函数的流程图。 如果本次进程同步实验完成,需要上交本次上机运行的源程序和.OUD文件。 登录时必须输入真实的学号和姓名,否则后果自负。要求:文件夹(命名:学号+姓名),文件夹(命名:源程序)+ (学号+姓名) (第一讲 实验环境的使用) 20111030133907.OUD。 * * 院(系) : 计算机科学与技术学院 操作系统实验 选做 理解进程同步的意义;理解进程同步的原理。 4 进程的同步 本次 必做 掌握磁盘调度算法执行的条件和时机,了解常用的磁盘调度算法,加深对各种扫描算法的理解。 8 磁盘调度算法 6 必做 掌握进程逻辑地址空间的管理方法,掌握物理存储器的管理方法。 6 物理存储器与进程 逻辑地址空间的管理 5 必做 掌握创建进程的方法,理解进程和程序的区别;了解进程的创建过程,理解进程是资源的分配单位。 6 进程的创建 3 必做 了解操作系统的启动过程。 6 操作系统的启动 2 必做 熟悉操作系统集成实验环境OS Lab的基本使用方法。 2 实验环境的使用 1 完成要求 实验要求 实验学时 实验项目名称 序号 1.实验目的 2.概念回顾 3.EOS内核提供的同步对象 4.EOS应用项目中创建线程 5.Main函数流程图 6.Producer函数流程图 7.Consumer函数流程图 2.1 临界资源和临界区 Page * * 临界区(critical section) 不论是硬件临界资源还是软件临界资源,多个进程必须互斥地对它进行访问 在每个进程中访问临界资源的那段代码称为临界区(critical section) 每个进程进入临界区之前应先对欲访问的临界资源进行检查,看是否正在被访问。如果此刻该临界资源未被访问,该进程可进入临界区,并设置它正在被访问的标志,在临界区之前执行的这段代码称为进入区(entry section) 在临界区之后也要加上一段代码,用于将临界区被访问的标志恢
您可能关注的文档
最近下载
- 蒸压加气混凝土砌块施工技术课件.ppt VIP
- 沥青路面再生利用项目可行性研究报告项目建议书.docx
- 医学课件-老年卧床患者压力性损伤的预防和护理进展.pptx
- 电力系统经济学原理习题解答 全.doc VIP
- 数据中心机房工程施工组织设计方案.pptx VIP
- 传统文化与修身(鲁东大学)知到智慧树章节答案.docx VIP
- 湖南文艺出版社(2024)新教材小学二年级音乐上册第五课《草原就是我的家》精品课件.pptx VIP
- 益智课堂数字华容道教学课件.pptx VIP
- (2025秋新版)部编版二年级道德与法治上册《第8课 我为班级作贡献》教案.docx VIP
- 尼科尔森《微观经济理论-基本原理与扩展》(第9版)课后习题详解(第18章--不确定性和风险厌恶).doc VIP
文档评论(0)