Chinaunix首页 | 论坛 | 博客
  • 博客访问: 19736502
  • 博文数量: 679
  • 博客积分: 10495
  • 博客等级: 上将
  • 技术积分: 9308
  • 用 户 组: 普通用户
  • 注册时间: 2006-07-18 10:51
文章分类

全部博文(679)

文章存档

2012年(5)

2011年(38)

2010年(86)

2009年(145)

2008年(170)

2007年(165)

2006年(89)

分类: LINUX

2007-12-25 21:21:45

设计操作系统的主要目标是充分利用硬件资源使其发挥最大的效能。处理机(CPU)资源,又是其中最重要的一项,让它尽可能处于工作状态,是操作系统管理功能的关键。调度针对的主要是处理机资源的分配问题,因而处理机管理的核心是调度。
处理机调度的主要指标有:周转时间、吞吐量、响应时间和设备利用率等。根据不同的使用场合、不同的系统需求,选取合适的调度算法,采用不同的管理侧重点,使系统达到预期的性能指标是调度管理的主要任务。
本章首先介绍处理机调度的层次和目标,然后,以单处理机微机系统为背景,具体讨论Linux系统交换调度和进程调度的基本原理和实现方法。
4.1   调度的层次
处理机调度也是分层次的,按照调度发生频率依次是:作业调度、交换调度、进程调度和线程调度。
作业调度,是针对用户提交的作业,在已经输入的作业中,按照某种策略,选取合适的作业投入运行。
交换调度,又称中级调度。针对系统中已经开始运行的进程,把内存中暂时不会执行的内容交换到外部存储器的特定区域中,而把外存中处于就绪状态的进程交换到内存中,准备投入执行。
进程调度,控制进程在执行、就绪、等待等各种状态之间转换经历的过程。特别是从就绪到执行的转换,系统从处于就绪状态的所有进程中选择合适的一个,分配处理机资源,投入执行。
线程调度,系统内核针对线程的调度情况,选中就绪线程并占有处理机,转入执行状态。
Linux系统高级调度非常简洁,或者也可以说没有作业调度的概念,作业一旦输入,就直接进入内存,建立相应的进程,进入下一级的调度。交换调度主要涉及系统存储管理的内容,一方面根据正在执行进程的要求,把所需要的页换入内存,同时按照一定的规则保证系统总是有足够的空闲内存页面,一旦发现系统空闲页面低于某一个临界值,就把内存中的页面按照一定的算法清除掉一部分,直接丢弃或者是交换到外部存储器中。Linux系统中的内核级线程和进程在表示、管理调度方面没有差别,系统也没有专门的线程调度,采用进程调度统一处理进程和内核级线程。因此,本章主要讨论Linux系统中的交换调度和进程调度的内容。
阅读(3241) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~