处理机调度与死锁
在多道程序系统中,调度的实质是一种资源分配,处理机调度是对处理机资源进行分配。 处理机调度算法是指根据处理机分配策略所规定的处理机分配算法。 在多道批处理系统中,一个作业从提交到获得处理机执行,直至作业运行完毕,可能需要经历多级处理机调度。
1. 高级调度(High Level Scheduling) 高级调度又称长程调度或作业调度,它的调度对象是作业。 主要功能是根据某种算法,决定将外存上处于后备队列的哪几个作业中调入内存,为它们创建进程、分配资源,并将它们放入就绪队列。 高级调度主要用于多道批处理系统中,而在分时和实时系统中不设置高级调度。作业调度的执行频率较低且时间较长,通常为几分钟一次。
2. 低级调度(High Level Scheduling) 低级调度又称进程调度或短程调度,其的调度对象是进程(或内核级线程)。 根据某种算法,决定就绪队列钟的哪个进程应获得处理机,并由分派程序将处理机分配给被选中的进程。 进程调度是最基本的一种调度,在多道批处理、分时和实时三种类型的OS中,都必须配置这级调度。
3. 中级调度(Intermediate Scheduling) 中级调度又称内存调度。引入中级调度的主要目的是为了提高内存利用率和系统吞吐量。 系统会把那些暂时不能运行的进程,调至外存等待,此时进程的状态称为就绪驻外状态(或者挂起状态)。当它们已具备运行条件且内存又稍有空闲时,由中级调度来决定把外存上的那些已具备运行条件的就绪进程重新调入内存,并修改其状态为就绪状态,挂在就绪队列上等待。 中级调度实际上就是存储器管理中的对换功能。