1 微内核系统调度技术.docVIP

  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 微内核系统调度技术 与传统的操作系统内核相比,微内核调度系统中最突出的特征是增加了处理机和处理机集及线程的管理,并且向用户提供了灵活的手段来控翩自己的程序在处理机上的运行.这{羊,微内核系统就能很好地支持多处理机体系结构.同时,线程为用户提供了细粒度的并行处理机制,使得同一个用户任务中的不同线程可以同时在多个处理机上运行. 与进程相比,线程中所带的资源很少,因此,创建线程和撤消线程的开销就比进程小.线程也称为“轻进程.在系统调度中,线程的切换开销也比进程步,但是不同任务中的线程切换会引起任务的切换,在这种情况下,线程和进程的调度开销就变成一样了.为了优化系统效率,减步由于线程切换而弓I起的任务切换,在调度算法中加入了以下代码: IF (所选中的线程和当前运行的城程属于同一十任务) THEN 不做任务切换} ELSE进行任务切换操作} 显然,这种方法在某种情况下会对系统性能有所帮助,但是这种方法在很大程度上属于一种“被动的,或者说是一种“碰运气”的方法.另外,单纯以线程为主的调度算法对用户任务有失公平性,以线程为主的调度算法是完全参照传统操作系统中的调度算法设计而成的.当线程投入运行时,系统为它分配周定大小的时间片,系统中线程按时间片轮转.这样,就产生了公平性问题:如果一个任务中有两个线程,那么,从理论上讲,它将比只用一个线程实现的任务多获得近1倍的处理机时间.在传统的进程调度系统中,一个用户可以通过创建多个进程来获得更多的处理机调度机会,但是,它是建立在增加了创建进程和进程间通讯的系统开销代价的基础上的相比之下,创建线程的开销非常小,同一任务间的线程之闭通讯开销也很小为了解决上述问题,我们提出并实现了一种将传统的任务和新的线程调度机翩相结合的方法:以任务为单位分配时间片(这样可以保证调度的公平性),在线程调度时,当一个线程不是由于任务时间片用完的原因而放弃处理机时,只要系统中没有高优先级线程,就从本任务中选取线程,从而使得由线程切换而引起的任务切换操作开销达到最小. 从目前的发展来看,用户任务的并行粒度越来越小,即用户任务中的线程越来越多,而每个线程所执行的操作会越来越步.因此,使用线程+任务的方法可以有效地减少单纯的以线程为主的系统调度所引起的系统开销. 2 微内核虚拟存储管理技术 微内核虚拟存储管理系统弓『入了存储对象(Memory Object)的概念,将物理内存看成外部存储对象的(如磁盘)高速缓存(Cache),实现了虚拟存储器写时拷贝(Copy onWrite)技术,引入了lazy evaluation技术.定义了虚拟存储器和硬件存储管理机制的接口(Pmap),实现了与机器无关的虚拟存储系统. 虚拟存储器写时拷贝算法是微内核虚拟存储管理系统的核心算法.它的弓f入使得虚拟存储器管理的效率大大提高了一步.但是,它的实现依赖于硬件存储管理机制的页面保护机制,对于一个具有写时拷贝共享属性的存储区,其页面保护被设置成写保护.多个用户可以共享的方式对它进行读操作,但是,当用户试图对这块区域进行写操作时,将产生写保护故障,页面故障管理程序将为用户进程复制物理页面.从而达到写时拷贝的目的. 在I386体系结构下,只有用户态页面允许写保护,在其他机器状态下,硬件存取机制将绕过页面保护机翩,直接对页面进行写操作.在这种状态下,写时拷贝算法将失效.而在微内核体系结构中,可能有各种状态下的服务器,如在内核态下运行的服务器.为了解决这个问题。我们引入了写时拷贝和访问时拷贝(Copy oil Reference)相结合的算法. 即在用户态上使用写时拷贝算法,在其他状态下使用访问时拷贝算法来替换写时拷贝算法,以解决写时拷周算法失效的问题.访问时拷贝算法的实现依赖于页面保护机制的映页机制.这样,在其他状态下,在设置页面保护时将写保护改成映页即可.新的方法在效率上比写时拷贝算法低,但是比完全拷贝的方法高出许多,特别是与lazy evaluation技术相配合时 效率会更高.由于微内核提供的写时拷贝算法是对用户透明的,即对于用户编写的任何状态下的服务器都将使用写时拷贝算法.因此,在I386体系结构下,在非用户态上运行的用户服务器有可能出错,新的算法解决了这个问题. 3 微内核计时模型 在传统操作系统中,为统计出每个进程的处理机时间使用量的单元.系统计时一般是放在处理机时钟中断服务程序中.系统 IF (当前盎程处于用户态) 增加当前进程的用户奋处理机时间使用量 在每个进程结构中都没有统计进程使用处理机时间 般采用如下代码段来进行用户进程的时间统计. ELSE 增加当前进程的系统态处理机时闻使用量 由于在传统的操作系统中,操作系统提供的服务完全由操作系统内核来完成。用户通过系统调用进入内核来取得

文档评论(0)

蝶恋花 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档