这几天在思考一个问题,当系统中任务很多,很复杂的时候,一个调度算法是很难去全面系统地调度管理好系统中所有的任务的。比如Linux系统中,任务调度分为了实时任务的调度和一般任务的调度,实时的任务由实时调度算法负责调度,一般任务由CFS调度算法负责调度。这样,Linux系统比较全面地解决了系统中多种任务共存时的调度问题。
借鉴这种思想,在系统设计中,当需要解决的问题非常复杂和多样的情况下,单一的一个算法很难处理所有的问题。因此,是否可以在设计算法时候,根据不同情况的分类,为每类情况定制一种合适的算法,通过多种算法的协同工作,达到理想的解决问题的方案。这是一个值得研究的问题。