2025-11-13 07:13:04
先说白话,先进先出算法就像排队买票一样,先来的人先买到票。比如系统里有三个任务,第一个到达时间是1分钟,处理时间是2分钟,第二个到达时间3分钟处理时间1分钟,第三个到达时间4分钟处理时间3分钟。这时候系统会先处理第一个任务到3分钟结束,接着处理第二个任务到4分钟结束,处理第三个任务到7分钟结束。总完成时间是7分钟,公式就是所有任务到达时间加上各自处理时间,然后按顺序累加。
为啥是这个答案呢?因为FIFO算法本质是按到达顺序分配资源。假设任务到达时间数组是[1,3,4],处理时间数组是[2,1,3],总完成时间计算方式是依次累加每个任务的到达时间加上处理时间。第一个任务1+2=3,第二个任务3+1=4,第三个任务4+3=7,所以总完成时间是7分钟。如果改成其他算法比如短作业优先,处理顺序会变,总时间可能更短。但按FIFO的规则,必须保证先来先服务,所以不管处理时间长短,都要按到达顺序处理。比如系统里有五个任务,到达时间分别是5,2,7,1,6,处理时间都是1分钟,按照FIFO处理顺序就是1→2→5→6→7,总完成时间会是7分钟。这说明FIFO的完成时间与任务到达顺序强相关,跟处理时间无关。
本题链接: