③输出井
使用队列结构模拟。需要支持队列重整,取队首元素,删除队首元素,在队尾插入等操作,需要使用 两个指针协助操作。
3、物理设计
①进程控制块(PCB)
struct info_PCB
{
long ID;//进程标识
long status;//状态
long po;//输出指针
long head;//信息块首地址
long count;//输出长度
long wait[1000];//输出缓冲 }PCB[4];
②输出请求块
struct info_block
{
long ID;//要求输出的进程
long len;//输出长度
long head;//输出首地址
}block[128];
③输出井
输出内容 列指针
四、测试结果
实际运行的结果如下:
Input the times of user1's output file:4
Input the times of user2's output file:7
Process 2 produces a block 1!
Process 1 produces a block 2!
Output block 1: (ID=2)
1 1 4 8 9 3 7 1 8 3 2 8 6 2 8 0 130