任哲嵌入式实时操作系统uCOSII讲座3.pptVIP

  • 14
  • 0
  • 约8.99千字
  • 约 18页
  • 2017-01-26 发布于江苏
  • 举报
一个简单的信号量 * * 第4章 任务的同步与通信 系统中的多个任务在运行时,经常需要互相无冲突地访问同一个共享资源,或者需要互相支持和依赖,甚至有时还要互相加以必要的限制和制约,才保证任务的顺利运行。因此,操作系统必须具有对任务的运行进行协调的能力,从而使任务之间可以无冲突、流畅地同步运行,而不致导致灾难性的后果。 与人们依靠通信来互相沟通,从而使人际关系和谐、工作顺利的做法一样,计算机系统是依靠任务之间的良好通信来保证任务与任务的同步的。 例如,两个任务:任务A和任务B,它们需要通过访问同一个数据缓冲区合作完成一项工作,任务A负责向缓冲区写入数据,任务B负责从缓冲区读取该数据。显然,当任务A还未向缓冲区写入数据时(缓冲区为空时),任务B因不能从缓冲区得到有效数据而应该处于等待状态,只有等任务A向缓冲区写入了数据之后,才应该通知任务B去取数据。 例如,任务A和任务B共享一台打印机,如果系统已经把打印机分配给了任务A,则任务B因不能获得打印机的使用权而应该处于等待状态,只有当任务A把打印机释放后,系统才能唤醒任务B使其获得打印机的使用权。如果这两个任务不这样做,那么也会造成极大的混乱 。 总之,多个任务共享同一资源或有工作顺序要求时,在正式工作之前要互相打招呼 。 黄宏:别走啊! 宋丹丹:我自己的腿,我爱走就走,你管不着! 黄宏:腿是你自己的,但手是咱俩的呀!

文档评论(0)

1亿VIP精品文档

相关文档