算法基本思想:二级调度算法是先来先服务调度算法和优先级调度算法的综合与发展。
首先设置两个就绪队列,并且为两个队列赋予不同的优先级,假设队列2比队列1的优先级高(队列2优先级>队列1优先级。)
其次,当一个新进程进入系统时,应先将其放入队列1末尾,并且为队列1中的每个进程设置一个最大等待时间Tm,如果此时队列1中进程数量为空,则进入的第一个进程最大等待时间Tm=K(K为常数)。第二个进入队列1的进程最大等待时间Tm=2K,第三个队列1进入的进程最大等待时间Tm=3K,以此类推,第n个进入队列1的进程最大等待时间Tm=nK。此时队列2中进程数为空,处理器只需负责队列1中的任务,队列1中按照先来先服务的方式进行进程调度。
再次,若队列1中有进程达到最大等待时间Tm仍未得到调度,则把该进程放入到队列2的末尾,因为队列2的优先级高于队列1,所以此时队列2得到响应,队列1被中断。倘若队列2中有多个进程,则队列2按照优先级调度算法进行调度。
最后,若队列2为空,则处理器返回队列1继续执行中断前的操作。
这是我最近自己想出来的一种进程调度算法,不知道是否可行??你觉得呢???