专注SIP通讯产品与方案

任务调度策略与实现

1.调度策略
            任务调度是操作系统核心的一项重要功能,应根据交换系统的特点制定合理的调度策略。任务调度策略主要包含两个方面:选择哪个任务进行调度,以及何时进行新的调度。
(1)选择任务进行调度的策略
            对于采用进程的方式而言,任务调度主要就是进程调度。选择进程进行调度的策略并不复杂,通常是采用优先级与FIFO相结合的方法。等待调度的就绪进程按不同的优先级分别编成队列,同一优先级的队列中按到来的先后依次排列。优先级高的先调度,同一优先级的进程排在前面的先调度。于是,每当进行任务调度时,只要选择当前最高优先级队列中排在队首的一个进程。
进程的优先级有两种安排方法:
①固定优先级
            固定优先级是指在进程创建时就分配一个优先级,在进程的生存期中这一优先级不变。
②可变优先级
            进程的优先级决定于当前所收到的信号或消息的优先级,因而是可变的。
(2)何时进行调度
            操作系统核心中应该有一个负责任务调度的程序。何时进行调度也就是在什么情况下将控制从正在执行的进程返回到调度程序。何时进行调度与并发机构、进程通信方式等有一定关系,而且影响到系统的开销。一般来说,每当一个任务执行完毕或者执行中的进程由于某种原因被暂时挂起,就要返回到调度程序。也可采用分配时间片的方法。具体的情况将在下面结合交换系统的实例予以说明。