清华linux电子教案第4章.ppt

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

第4章 调 度 4.1 调度的层次 4.2 Linux交换调度 4.3 Linux进程调度 4.4 小结 习题 设计操作系统的主要目标是充分利用硬件资源使其发挥最大的效能。处理机(CPU)资源,又是其中最重要的一项,让它尽可能处于工作状态,是操作系统管理功能的关键。调度针对的主要是处理机资源的分配问题,因而处理机管理的核心是调度。 处理机调度的主要指标有:周转时间、吞吐量、响应时间和设备利用率等。根据不同的使用场合、不同的系统需求,选取合适的调度算法,采用不同的管理侧重点,使系统达到预期的性能指标是调度管理的主要任务。 本章首先介绍处理机调度的层次和目标,然后,以单处理机微机系统为背景,具体讨论Linux系统交换调度和进程调度的基本原理和实现方法。 4.1 调度的层次 处理机调度也是分层次的,按照调度发生频率依次是:作业调度、交换调度、进程调度和线程调度。 作业调度,是针对用户提交的作业,在已经输入的作业中,按照某种策略,选取合适的作业投入运行。 交换调度,又称中级调度。针对系统中已经开始运行的进程,把内存中暂时不会执行的内容交换到外部存储器的特定区域中,而把外存中处于就绪状态的进程交换到内存中,准备投入执行。 进程调度,控制进程在执行、就绪、等待等各种状态之间转换经历的过程。特别是从就绪到执行的转换,系统从处于就绪状态的所有进程中选择合适的一个,分配处理机资源,投入执行。 线程调度,系统内核针对线程的调度情况,选中就绪线程并占有处理机,转入执行状态。 参看图4.1。 图4.1 Linux系统调度层次示意图 Linux系统高级调度非常简洁,或者也可以说没有作业调度的概念,作业一旦输入,就直接进入内存,建立相应的进程,进入下一级的调度。交换调度主要涉及系统存储管理的内容,一方面根据正在执行进程的要求,把所需要的页换入内存,同时按照一定的规则保证系统总是有足够的空闲内存页面,一旦发现系统空闲页面低于某一个临界值,就把内存中的页面按照一定的算法清除掉一部分,直接丢弃或者是交换到外部存储器中。Linux系统中的内核级线程和进程在表示、管理调度方面没有差别,系统也没有专门的线程调度,采用进程调度统一处理进程和内核级线程。因此,本章主要讨论Linux系统中的交换调度和进程调度的内容。 4.2 Linux交换调度 Linux系统的内存主要采用称为请求页式管理的动态管理方法。当某一个程序开始运行时,一个新的进程创建,整个可执行文件映像和该程序引用的所有相关共享库同时装入进程的虚拟地址空间中。Linux在建立进程的时候,整个执行文件映像并没有装入物理内存,只是链接到进程的虚拟地址空间中,进程只分配到极少的内存页面,占用很少的物理空间。在整个进程生命周期中,进程所拥有的内存页面总是动态变化的。管理好内存页面和外部存储器,正确地模拟内存特殊区域的工作,保证系统有足够的内存,让尽可能多的进程并发执行,是Linux交换调度的主要任务。 请求页式管理被认为是按照进程执行的需要而分配和使用内存的,因此也称为按需调页。为了解决进程执行所需要的页面,围绕着进程的虚拟内存结构,系统首先确定哪些虚页需要执行但它还不在内存中,然后分配必需的内存页面并把所需的页换入内存。 确定虚页是通过查找页目录和页表中相关的属性标志来实现的。虚页换入内存时,首先需要解决缺页的调入方式,其次要保证有足够的空闲内存页面,这就需要使用适当的策略来淘汰占据内存的页,这种策略称为置换算法。Linux系统采用记龄(aging)置换算法,Linux系统根据访问次数来决定是否适合换出,优先换出那些很长时间没有被访问的页面。 4.2.1 交换空间 现代操作系统中普遍采用基于虚拟存储器的概念来统一管理内存和外存,实现逻辑上的大容量存储空间。 从内存中换出的页面保存在外存的交换空间中,Linux系统提供两种不同类型的外存保存方式。一种是利用整个块设备,比如磁盘的一个分区,这样的分区具有特殊的格式,通常称为交换区或交换设备。另一种是利用文件系统中特殊的文件,这种文件具有固定的长度,称为交换文件。 Linux系统可以同时管理多个交换空间,最大个数由参数MAX-SWAPFILES指定(默认值是8),在文件include/linux/swap.h中定义。交换空间按照优先级排序,当需要分配一个交换页面时,Linux首先使用仍然拥有空间、拥有最高优先级的交换空间,交换区和交换文件都可以用来存储内存中换出的页,达到扩充内存的目的。使用交换区的交换存取过程中,系统直接针对磁盘进行。交换文件是文件系统中的特殊文件,在文件系统建立之后创建。在实际使用过程中,通常以交换区为主,以交换文件为辅。首先设置能够满足日常工作需要的交换区,当需要更多交换空间的时候,临时增加几个交换文件,这样,

文档评论(0)

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

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

1亿VIP精品文档

相关文档