操作系统课程设计 进程调度.doc

  1. 1、本文档共36页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
操作系统课程设计 进程调度

进程调度实现源代码分析 摘要 本文对Linux内核中进程调度部分的源代码进行了详细的流程分析与代码注释,并对该部分的代码实现进行了研究。画出了具体的流程图,及分析了具体的作用。在进程调度部分主要涉及了Linux的调度算法及实现. 关键词:操作系统 进程 进程调度 中断 定时器 运行队列 系统调用 门 内核空间 用户空间 目录 第一章 引 言 3 第二章 Linux 内核的整体结构 4 第三章 进程调度 5 一、 Linux进程调度的策略 5 二、Linux进程调度的加权处理 5 三、在Linux中,进程的结构及状态转换关系 6 四、 Linux进程的调度算法 8 五、 Linux进程的调度时机 9 六、 Linux进程的队列 10 七、Linux进程调度的全过程 12 第四章Linux源码模块功能 12 一、进程调度函数:schedule ( ) 12 二、 计算进程权值的函数:goodness ( ) 15 三、载入新进程函数:switch_mm ( ) 17 四、函数add_to_runqueue ( ) 18 五、函数del_from_runqueue ( ) 19 六、函数move_last_runqueue ( ) 20 七、函数 move_first_runqueue ( ) 20 第五章 内核源代码分析 22 第六章 分析研究体会 33 第七章 自我评价 36 第八章 参考文献 36 第一章 引 言 在计算机系统中,处理机是整个系统的核心资源。在多处理机操作系统中,进程调度就是把处理机公平、合理、高效地分配给各个进程。计算机系统整体的运行性能如响应的及时性、用户作业周转时间的长短、作业吞吐量的大小等,都与进程调度有关。所以,进程调度是操作系统的核心部分。Linux中进程调度的对象是可运行队列中的进程,它是按照一定的调度方式、采用给定的调度算法,从可运行队列中选择一个进程,把处理机分配给它,使它成为运行态。Linux继承了UINX进程调度的方法,并且又采用了若干必威体育精装版技术。 在整个计算机系统中CPU是最宝贵的资源,所有的任务必须由CPU来执行。因此只有充分利用CPU,才能最大程度的提高系统的效率。Linux是一个多进程系统,它通过进程调度解决了充分利用CPU的问题。当一个进程因为得不到某些资源而等待时,Linux在此时不是让CPU空转等待进程获得足够资源后继续运行,而是采取一定的调度策略选择另外一个进程交给CPU去执行。虽然某个进程会因为各种原因停止运行,CPU却总是有任务在执行,这样,CPU就得到了充分的利用,从而大大提高了系统的效率和吞吐量。 我国的IT产业起步较晚,技术落后于西方经济发达国家。在我国,由于受知识产权的限制,无论是使用PC 平台上的Windows,还是使用应用于大中型机的UNIX,都无法窥视到其内部结构。这些系统很可能存在不为我们所知的漏洞,如果这些漏洞为别有用心者所利用,将会严重危及我国的经济安全和国家安全。操作系统不同于其它软件产品,它是其它应用程序得以运行的平台,应用软件的开发必须基于对相应平台(操作系统)的技术的理解和掌握。由于我们的软件企业无法获知这些系统的细节,根本无法与拥有这些关键技术的国外先进企业相抗衡,长此以往,将会对我国软件产业产生深远的负面影响。因此,分析Linux源代码对于在Linux现有的基础上开发我们自己的Linux就具有非常现实和重要的意义。 在这次课程设计中,我主要在源码水平上讨论Linux内核进程调度的实现,其目的是通过对源码的分析与研究,为以后的学习打下基础。 第二章 Linux 内核的整体结构 Linux内核由5个主要的子系统组成。这5个子系统分别是进程调度(SCHED)、内存管理(MM)、虚拟文件系统(Virtual File System,VFS)、网络接口(NET)和进程间通信(IPC)。 进程调度控制着进程对CPU的访问。当需要选择下一个进程运行时,由调度程序选择最值得运行的进程。可运行进程实际是仅等待CPU资源的进程,如果某个进程在等待其它资源,则该进程是不可运行进程。Linux使用了比较简单的基于优先级的进程调度算法选择新的进程。 下图显示了上述五个子系统之间的关系: 图 1 在这些子系统中,进程调度子系统是其他子系统得以顺利工作的关键。无论是文件系统的系统进程还是网络子系统的服务进程都需要通过进程调度来获得相应的CPU时间以正常运行。 第三章 进程调度 一、 Linux进程调度的策略 进程调度的策略主要考虑以下几个原则: 1、高效 使处理器的利用率最高,空闲最小; 2、公平 使每一个申请处理器的进程都得到合理的处理器时间; 3、周转时间短 使用户提交任务后得到

文档评论(0)

pangzilva + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档