第11章节 多媒体操作系统资料.pptVIP

  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文档。上传文档
查看更多
实时系统中的IPC 实时系统主要包括多任务调度(采用优先级抢占方式)、任务间的同步和进程间通信,这种通信方式被称为进程间通信机制(inter-process communication IPC)。进程间通信(IPC)是运行在多任务操作系统中或联网计算机上的程序和进程使用的一组技术,IPC支持进程间有效的通信,LPC能共享内存空间、同步任务并相互发送消息。远程过程调用被称为RPC,它类似于LPC。网络上的客户机/服务器模式利用了RPC机制,客户在他自己的机器上执行部分任务,但还要依赖服务器提供的后端文件服务。RPC为客户提供通信机制,以使服务请求发送到后端服务器。 解决任务间的同步和进程间协调问题可以采用以下的几种方式: 内存共享(Shared Memory):用于简单的数据共享。 信号量(Semaphore):用于基本的互斥和同步。 消息队列(Message queues)和管道(Pipe):用于单个CPU中,任务间的信息传递。 套结字(Socket)和远程调用(Remote procedure calls):用于网络任务间的通信。 信号(Signals):为那些访问相同资源的进程提供一个同步机制。 在一个多任务环境中,应该允许实时应用程序以一套独立任务的方式构筑,每个任务拥有独立的执行线程和它自己的一套系统资源。所以程序设计的接口可以包含实时系统通信所需的属性。实时系统的通信需要提供基于优先权的排队、优先权的交出、优先权的继承以及消息的分发等属性。 1、消息排队:消息排队机制监督在不同的应用程序之间传送消息,给属性指明了消息排队的次序。排序策略可以有多种,如FIFO、基于优先权等方式。应用程序可以使用消息排队来改善可靠性,但要以响应时间为代价。 2、优先权的交出:当设置了该属性,发送者将传递接收者的优先权,或根据所选定的策略给定优先权。 3、优先权的继承:它将执行优先级继承协议。优先级继承可用来解决优先级反转问题。当优先级反转发生时,优先级较低的任务被暂时地提高它的优先级,使得该任务能尽快执行,释放出优先级较高的任务所需要的资源。 4、消息分发:当多个接收者在运行时,消息分发属性将按照任意选择策略或基于优先权的策略选择合适的接收者线程。当指定为任意选择策略时,将从FIFO队列中按次序选择接收线程。 微内核上的操作系统的服务模式 在微内核体系结构下,可以根据连续媒体的特殊需要安排上层操作系统,服务模式的实现有以下几种方法: 库例程服务模式:上层操作系统作为实用库例程,当用户程序调用库例程时,由库例程去调用微内核功能。实用库可以提供包括中断处理、计时器、消息登录、 内存分配、线缓冲等例程。 服务器服务模式:上层操作系统作为服务器,用户程序直接向服务器提出申请。 微内核的功能模式:上层操作系统作为微内核的一个功能,一般就是微内核的接口函数。 11.2.2 中断等待 在连续媒体应用中,常常由于多任务的同时执行而引起中断等待。中断等待时间越短,系统的性能就越好。 大量的中断等待将不能很好地支持实时活动。例如,处理一个连续的MIDI音乐媒体流,会产生十分频繁的中断请求发向操作系统内核,这时将产生大量的上下文切换时间。如果操作系统内核难以应付这么高事件流的需求,将会产生许多中断延时,从而影响QoS。 实时操作系统分为可抢占性和不可抢占性。不可抢占型实时操作系统中,其实时性取决于最长任务的执行时间。当前运行的任务拥有CPU的控制权,实时任务的到来必须通过某种算法并等待当前任务交出CPU的控制权,然后直到它主动归还CPU控制权。中断由中断服务程序来处理,当激活一个休眠状态任务并使之绪态时,该任务也必须等到当前运行的任务主动交出CPU的控制权后才能运行。 可抢占型实时操作系统是基于任务优先级的,内核可以抢占正在运行任务的CPU使用权,并将使用权交给进入就绪态的优先级更高的任务,也就是说,由于较高优先级任务的到来,正在运行中的其他任务都可被中断。可抢占型实时操作系统的实时性好,但是,必须合理处理好抢占方式,否则也会导致系统崩溃。 降低操作系统中断等待的关键策略是可抢占性处理。对于目前现存的内核,可行的修改方案是增加一个安全抢占点的集合,也可以将现存的内核转化为运行微内核上的一个用户程序。但最好的办法是重新设计内核的内部结构,使允许按任务的优先级抢占执行任务。 11.2.3 实时调度 当多个实时的或非实时程序共享同一个资源时,一般多线程操作系统使用同步目标来作为强迫线程同步的多线程核心。但是可能会引起不可控制的优先权倒置。这种优先权倒置现象是由服务器的非抢占特性引起的,由此常导致不可预见的延迟和抖动问题的发生。 CPU 的实时处理 多媒体调度同时要面向非实时处理和实时处理两个方面,当有实时进程出现时,不能影响正在处理之中的非实

文档评论(0)

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

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

1亿VIP精品文档

相关文档