6、 打印当前进程的信息 进程移出调度队列 加入睡眠队列,回到调度主循环IF 当前进程不满足睡眠条件 IF 进程总剩余时间>100 运行并用掉时间片中的剩余时间 从高优先级队列中移出,加入中优先级队列 ELSE 用掉全部剩余时间,从队列中删去 其次调度次高优先级队列进程(略) 最后调度低优先级队列进程(略) 如果3个调度队列和睡眠队列皆空,调度循环终止(3) 函数 i. in
7、tinit()初始化变量、初始化调度队列和睡眠队列 ii. intprintlist(structlist*List)打印调度队列中的进程和剩余运行时间 iii. intgotosleep(structmypcb*process)根据进程的剩余运行时间p_time,使其运行一段时间,并设置睡眠状态 iv. struct proc*wakeup(
8、structlist*List)判断是否有进程苏醒,本程序设计调用5次,唤醒队列首进程 v. intwakeup_work(structmypcb*p,structl