查缺补漏----SPooling系统工作流程

主要看这幅图:

答案:A

B.输入进程或输出进程执行的都是I/O指令,都需要在内核态下执行。C.当 用户进程输出数据时,只需要把数据放到输出井中,设备空闲,再从输出井中取数据,这时,两个进程是并发执行的。D.(1) 磁盘 (2) 要进行数据交互的具体外设,如打印机。

工作流程:

① 输入井与输出井在磁盘上开辟,用来存放输入和输出的数据。

② 输入缓冲区与输出缓冲区存在于内存中,都不止一个

③ 输入进程又称为预输入进程,假如正在运行的进程要求得到设备的输入的话,那么就会通过井管理程序从输入井中读过来,而输入井中的数据是外设提前输入到输入井中的,所以输入进程也叫预输入进程。同理,正在运行的作业要进行输出,就会通过井管理程序,将输出缓冲区的数据放到输出井中(具体看下面补充),设备空闲后,再通过输出进程(缓输出进程),输出到输出设备中。

④ 井管理程序,控制输入井和输出井与内存之间的数据交互。

补充:

当多个用户进程提出输出打印的请求时,系统会答应它们的请求,但是并不是真正把打印机分配给他们,而是由假脱机管理进程(即整个Spooling系统)为每个进程做两件事:
(1)在磁盘输出井中为进程申请一个空闲缓冲区(也就是说这个缓冲区是在磁盘上的),并将要打印的数据送入其中。
(2)为用户进程申请一张空白的打印请求表,并将用户的打印请求填入表中(其实就是用来说明用户的打印数据存放位置等信息的),再将该表挂到假脱机文件队列上。当打印机空闲时,输出进程会从文件队列的队头取出一张打印请求表,并根据表中的要求将要打印的数据从输出井传送到输出缓冲区,再输出到打印机进行打印。用这种方式可依次处理完全部的打印任务。

这里的空闲缓冲区和文件队列都是在磁盘上。

输入进程和输出进程具体做的事就是缓和CPU与磁盘之间速度不匹配的矛盾。

输入进程:

① 输入进程从输入设备接收用户要求输入的数据。这些数据通常首先被传送到内存的输入缓冲区。② 输入缓冲区中的数据随后被传送到输入井。输入井是在磁盘上开辟的一个大存储空间,用于暂存从输入设备输入的数据。这些数据在输入井中以文件的形式组织管理,这些文件称之为井文件。③ 当CPU需要这些数据时,会从输入井中先放到输入缓冲区中,然后再由CPU从缓冲区中读取数据进行处理。

输出进程:

与输入进程操作相反,用户的数据会先输出到内存的输出缓冲区中,输出进程将输出缓冲区的内容放到输入井中开辟的空间中,当输出设备空闲时,输出进程会将输出井中的数据经过输出缓冲区输出到输出设备上。

A.需要在磁盘(外存)上开辟出两个存储区(输入井和输出井)
B.需要用输入进程和输出进程来模拟脱机输入/输出时的外围控制机。这两个进程必然是要与执行I/O操作的进程并发执行的,当然也需要多道程序技术支持
C.SPO0Ling技术实现了将独占设备改造成共享设备可让多个作业共享一台独占设备
D.设备与输入/输出井之间的数据传送由系统控制

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值