下载此文档

理工论文Linux2.6内核对SMP系统支持的研究.doc


文档分类:IT计算机 | 页数:约5页 举报非法文档有奖
1/5
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/5 下载此文档
文档列表 文档介绍
理工论文Linux2.6内核对SMP系统支持的研究.docL i n u x 2. 6内核对S MP系统支持的研究
L i n u x 2. 6内核对S MP系统支持的研究是小 柯论文网通过网络搜集,并由本站工作人员整理后发布的,L i n u x 2 . 6内核对SMP 系统支持的研究是篇质量较高的学术论文,供本站访问者学****和学术交流参考之用,不可用 于其他商业目的,L i n u x 2 . 6内核对SMP系统支持的研究的论文版权归原作者所有, 因网络整理,有些文章作者不详,敬请谅解,如需转摘,请注明出处小柯论文网,如果此论 文无法满足您的论文要求,您可以申请本站帮您代写论文,以下是正文。
摘要:首先简要介绍了 SMP系统的体系结构,接着重点分析了 SMP系统中进程调度、 同步机制和负载平衡三个方面的实现细节,最后给出Cache 一致性问题的解决方案。
关键词:同步机制;负载平衡
引言。SMP系统的并行处理技术,不仅提高处理器的运算能力和处理能力,而且对操 作系统实时性改进也提供了一个新的途径。
1 Linux内核对SMP系统的支持
,关键在于能在可用CPU之间进行负载平衡,同 时维持亲合性以提高缓存效率。对称多处理器系统中,每一个CPU都将维护一个自己的就 绪队列,并且每个就绪队列都有一个自旋锁,这样允许所有的CPU都可以对任务进行调度, 而不会与其他CPU产生竞争[1]。

,首先分析一下其结构 中关于SMP系统的定义。
prio_array_t*active,*expired,arrays[2]
runqueue中最关键的数据结构。每个CPU的就绪队列按时间片是否用完分为两部分, 分别通过active指针和expired指针访问,前者指向时间片没用完、当前可被调度的就绪进 程,后者指向时间片已用完的就绪进程。
spinlock_tlock
就绪队列的自旋锁,只影响一个CPU上的就绪队列。
unsignedlongnr_uninterruptible
,和负载信息有关。
unsignedlongtimestamp_last_tick
本就绪队列最近一次发生调度事件的时间,在负载平衡的时候会用到。
还有几个数据项,这里不做介绍了。
我们先来总结一下调度器的结构,每个CPU都有一个运行队列,其中包含了 140个 优先级列表,它们是按照先进先出的顺序进行服务的。被调度执行的任务都会被添加到各自 运行队列优先级列表的末尾。每个任务都有一个时间片,运行队列的前100个优先级列表保 留给实时任务使用,后40个用于用户任务。除了 CPU的运行队列之外,还有一个过期运行 队列。当活动运行队列中的一个任务用光自己的时间片之后,它就被移动到过期运行队列中。 在移动过程中,会对其时间片重新进行计算。如果活动运行队列中已经没有某个给定优先级 的任务了,那么指向活动运行队列和过期运行队列的指针就会交换,这样就可以让过期优先 级列表变成活动优先级的列表。
调度器的工作:在优先级最高的队列中选择一个任务来执行。为使这个过程的效率更 高,内核使用了一个位图来定义给定优先级列表上何时存在任务。

理工论文Linux2.6内核对SMP系统支持的研究 来自淘豆网www.taodocs.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数5
  • 收藏数0 收藏
  • 顶次数0
  • 上传人小雄
  • 文件大小89 KB
  • 时间2021-06-17