嵌入式实时操作系统UCOS原理与实践1试卷.pptVIP

嵌入式实时操作系统UCOS原理与实践1试卷.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
1.5 同步和通信 1.5.5信号量 在一个时刻,有些共享资源只可以被一个任务所占有,而有些可以被至多N个任务所共享。前一种共享资源就好比有一把钥匙,钥匙发出去了,得到钥匙的任务可以访问共享资源,其他请求该资源的任务必须等得到钥匙的任务把钥匙归还。后者则可以有N把钥匙,如果N把钥匙都发完了,第N+1个请求访问共享资源的任务就必须等待。这些钥匙就可以用信号量(semaphore)来表示。 信号量标志了共享资源的有效可被访问数量,于是要获得共享资源的访问权,就首先要得到信号量这把钥匙。 1.5 同步和通信 1.5.5信号量 信号量三种操作: 1.建立(create) 建立并初始化信号量,在一个事件块里标志该信号,记录该信号的量值,执行的是给资源配钥匙的操作。该操作的条件是系统中还有空余的事件块。操作系统能处理的事件是有限的,任何的数据结构都不能无限,尤其是在实时系统中。 2.请求(pend) 请求信号,如果还有钥匙(信号量大于0),就去领一把(信号量--),执行下去;如果没有,就要把自己阻塞掉,因为不能执行下去就不需要再占用宝贵的CPU。 3.释放(post) 访问资源的操作完成后就把钥匙交回(信号量++)。这时,如果有等待该钥匙的任务就绪,并比当前任务有更高的优先级,就执行任务调度。否则,原任务在释放信号量之后继续执行。 1.5 同步和通信 1.5.6互斥信号量 互斥信号量是一种特殊的信号量,这不仅在于该信号量只有用于互斥资源的访问,还在于使用互斥信号量管理需要解决的优先级反转问题。 如系统中有三个任务分别是高优先级、中优先级和低优先级的,当低优先级的任务在运行的时候访问互斥资源,而中优先级的任务运行的时候将使低优先级的任务得不到运行而死抱着资源不放。这是高优先级的任务开始运行的时候,必须等待中优先级的任务运行完成,然后等低优先级的任务访问资源完成才行。如果在低优先级的任务访问资源过程中又有中优先级任务运行,那么高优先级的任务只有继续等待。这种情况就是优先级反转 。 1.5 同步和通信 1.5.7事件标志组 在信号量和互斥信号量的管理中,任务请求资源,如果资源未被占用就可继续运行,否则只能阻塞,等待资源释放的事件发生。这种事件是单一的事件。如果任务要等待多个事件的发生,或多个事件中的某一个事件的发生就可以继续运行,那么就应该采用事件标志组管理。 事件标志组管理的条件组合可以是多个事件都发生,也可以是多个事件中有任何一个事件发生。尤其特别的是,还可以是多个事件都没有发生或多个事件中有任何一个事件没有发生。 1.5 同步和通信 1.5.8 消息邮箱和消息队列 邮箱(MailBox)很明显是用于通信的,邮箱中的内容一般是信件。操作系统也通过邮箱来管理任务间的通信与同步,邮箱中的内容却不是信件本身,而是指向消息内容的地址!这个指针是void类型的,可以指向任何的数据结构。因而这样的设计更经济,所发送的信息范围也就更宽,邮箱中可以容纳下任何长度的数据了。 消息队列(message queue)也用于给任务发消息,但是它是由多个消息邮箱组合形成的,是消息邮箱的集合,实质上是消息邮箱的队列。一个消息邮箱只能容纳一条消息,采用消息队列,一是可以容纳多条消息,二是消息是有序的 。 1.6 中断和时钟 嵌入式实时操作系统的中断是指在任务的执行过程中,当出现异常情况或特殊请求时,停止任务的执行,转而对这些异常情况或特殊请求进行处理,处理结束后再返回当前任务的间断处,或由于中断服务程序使更高优先级的程序就绪,转而执行优先级更高的任务。中断是实时地处理内部或外部事件的一种内部机制。这里异常情况或特殊请求是中断源,称为异步事件,处理异步事件所的程序是中断服务程序。 1.7内存管理 μC/OS-II中,采用分区的方式管理内存,即将连续的大块内存按分区来管理,每个系统中有数个这样的分区,每个分区又包含数个内存块,每个内存块大小相同。这样,在分配内存的时候,根据需要从不同的分区中得到数个内存块,而在释放时,这些内存块重新释放回他们原来所在的分区。 这样就不会产生内存越分越凌乱,没有整块的连续分区的问题了。 习题 1.什么是操作系统,什么是实时操作系统,实时操作系统应该具有哪些特性? 2.什么是任务,任务和程序有什么区别?任务都有哪些状态? 3.编写一个可重入函数,实现将整数转换字符串。说明为什么该函数是可重入的。 4.什么是不可剥夺内核和可剥夺内核,μC/OS为什么采用可剥夺内核? 5.操作系统中的事件管理都包括哪些,并一一加以论述。 人有了知识,就会具备各种分析能力, 明辨是非的能力。 所以我们要勤恳读书,广泛阅读, 古人说“书中自有黄金屋。 ”通过阅读科技书籍,我们能丰富知识, 培养逻辑思维能力; 通过阅

文档评论(0)

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

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

1亿VIP精品文档

相关文档