ebc++;
}
}
//判断 x 的值,确定执行 user1,user2,user3 还是 spooling 进程
void schcduler()
{ float x;
for(; ;)
{ x=random1();
if(x<0.30 && pcb[1].status=='e')
userpro(1);
else if(x>=0.30 && x<0.60 && pcb[2].status=='e')
userpro(2);
else if(x>=0.60 && x<0.90 && pcb[3].status=='e')
userpro(3);
else if(x>=0.90 && pcb[0].status=='e')
spoolout();
if(n==0)
break;
}
}
int main()
{ int i,j;
printf("\n* * * * SPOOLing SYSTEM * * * * \n");
for(i=0;i
输入样例:1 1 1
输出样例:
测试数据 2:
输入样例:2 1 1
输出样例:
四、参考文献
[1]汤小丹,计算机操作系统,西安电子科技大学出版社
[2]秦昌盛,帮助复习 C 语言语法
五、感想、体会或收获
在学习 spooling 进程之前,我认为打印机打印就只是近一个出一个那么简单,但是,实
际上要复杂得多,会有多个输入设备输信息到输入缓冲区,在进入输入井,输入井内部有多
个作业,在进入到下一个输入缓冲区,在进行管理,随后进入输出缓冲区进入输出井,进入
下一输出井,最后再有输出设备打印。
生活学习中有些事情就像打印机,看似很简单的任务,可是要想其条理有序的进行,就
必须要有一定的管理机制。