上传者: rebecca_suhui
|
上传时间:2023/4/9 9:23:26
|
文件大小:2KB
|
文件类型:cpp
操作体系试验——spooling本领
SPOOLING本领一、试验目的知道以及操作SPOOLING本领。
二、试验内容编写法度圭表标准实现SPOOLING本领的模拟。
三、试验申请一、方案一个实现SPOOLING本领的进程方案一个SPOOLING输入进程以及两个恳求输入的用户进程及一个SPOOLING输入效率法度圭表标准。
SPOOLING输入进程责任时,依据恳求块记实的各进程要输入的信息,将其实际输入到打印机或者展现器。
这里,SPOOLING进程与恳求输入的用户进程可并发运行。
二、方案进程调解算法进程调解付与随机算法,这与进程输入信息的随机性相不合。
两个恳求输入的用户进程的调解概率各为45%,SPOOLING输入进程为10%,这由随机数暴发器暴发的随机数模拟遴选。
三、进程外形进程底子外形有3种,分别为可实施、期待以及竣事。
可实施外形便是进程正在运行或者期待调解的外形;
期待外形又分为期待外形一、期待外形二、期待外形3。
外形变更的前提为:(1)进程实施实现时,置为“竣事”外形。
(2)效率法度圭表标准在将输入信息送至输入井时,如发现输入井已经满,将挪用进程置为“期待外形1”。
(3)SPOOLING进程在举行输入时,若输入井空,则进入“期待外形2”。
(4)SPOOLING进程输入一个信息块后,应连忙释放该信息块所占的输入井空间,并将正在期待输入的进程置为“可实施外形”。
(5)效率法度圭表标准在输入信息到输入井并组成输入恳求信息块后,若SPOOLING进程处于期待外形则将其置为“可实施外形”。
(6)当用户进程恳求恳求输入块时,若不可用恳求块时,挪用进程进入“期待外形3”。
四、数据结构1)进程抑制块PCBstructpcb{intstatus;intlength;}pcb[3];其中status展现进程外形,其取值:0展现可实施外形;
1展现期待外形1;
2展现期待外形2;
3展现期待外形32)恳求输入块reqblockstruct{intreqname;//恳求进程名intlength;//本次输入信息长度intaddr;//信息在输入井的首地址}reqblock[10];3)输入井BUFFERSPOOLING体系为每一个恳求输入的进程在输入井平分别开拓一个区。
本试验可方案一个二维数组(intbuffer[2][10])作为输入井。
每一个进程在输入井至多可占用10个位置。
五、编程阐发为两个恳求输入的用户进程方案两个输入井。
每一个可寄存10个信息,即buffer[2][10]。
当用户进程将其齐全文件输入完时,阻滞运行。
为约莫起见,用户进程约莫的方案成:每一运行一次,随机输入数字0~9之间的一个数,当输入10个数时组成一个恳求信息块,填入恳求输入信息块reqblock结构中。
本软件ID:3389148