1、【实验目的】
理解和掌握SPOOLING假脱机技术
2、【实验内容】
通过SPOOLING技术可将一台物理I/O设备虚拟为多台逻辑I/O设备,同样允许多个用户共享一台物理I/O设备,从而使其成为虚拟设备。该技术广泛应用与各种计算机的I/O,通过采用预输入和缓输出的方法,使用共享设备的一部分空间来模拟独占设备,以提高独占设备的利用率。
3、【实验步骤】
数据结构
struct pcb//定义结构体
{
int status;//进程状态
int length; //输出长度
}*PCB[3];
struct reqname//请求进程名
{
int reqname;//定义名称
int length;//输出长度
int addr;//本次输出的首地址
}reqblock[10];
void request(int i)//定义请求函数
void spooling()//spooling进程
1.3实验代码
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
struct pcb//定义结构体
{
int status;//进程状态
int length; //输出长度
}*PCB[3];
struct reqName//请求进程名
{
int reqName;//定义名称
int length;//输出长度
int addr;//本次输出的首地址
}reqBlock[10];
int buffer[2][100];
int head = 0;
int tail = 0;
int t1 = 0;
int t2 = 0;
void request(int i);//i=1表示用户进程1;i=2表示用户进程2
void spooling();
void request(int i)//定义请求函数
{
int s = 0;
int j = 0;
int m = 0;
int length = 0;
struct reqName*run;
if(1 == i)
t1--