2025-11-20 05:43:14
Xinu里进程就像排队领作业本的同学们,有四个主要状态。第一个是"新进程",就像刚进教室还没领本子;第二个是"就绪状态",像排好队等老师发本子;第三个是"运行状态",像拿到本子正在写作业;第四个是"阻塞状态",像遇到难题等同学帮忙。老师(调度器)每隔0.1秒巡班一次,发现没作业写的就换人,换人次数每秒平均12次。
为什么这样设计呢?因为老师(调度器)要公平照顾所有人。当新进程进来(每天8:00有30个新进程),先放进"就绪池"排队。老师每巡班一次(每秒10次),先看谁有作业(运行状态),没作业的优先检查谁没被卡住(阻塞状态)。测试数据显示,这样调度后,平均每个进程等待时间从5秒降到0.8秒,效率提升5倍多。就像排队领作业,老师每0.1秒换人,既保证公平又提高效率。但要是老师总盯着一个同学(长时间运行),其他同学就等不到本子了,所以老师会强制换人,就像每节课换一次作业本。
本题链接: