假脱机打印机系统

打印机是经常使用的输出设备,属于独占设备,利用假脱机技术可以将它改造成为一台可供多个用户共享的打印机设备,从而提高设备的利用率。

假脱机打印系统组成部分

  1. 磁盘缓冲区。它是在磁盘上开辟的一个存储空间,用于暂存用户程序的输出数据。
  2. 打印缓冲区。用于缓和CPU和磁盘之间的速度不匹配问题,设置在内存中,用于暂存从磁盘缓冲区送来的数据,以后再传送给打印机设备打印。
  3. 假脱机管理进程和假脱机打印进程。

过程

每当用户进程发出打印输出请求时,假脱机打印系统并不是立即把打印机分配给该用户进程,而是由假脱机管理进程完成两项工作:(1)在磁盘缓冲区中为之申请一个空闲盘块,并将要打印的数据送入其中暂存。(2)为用户进程申请一张空白的用户请求打印表,并将用户的打印要求你填入其中,再将该表挂入假脱机文件队列上。在这两项工作完成后,虽然还没有进行任何实际的打印输出,但对于用户进程而言,其打印请求已经得到满足,打印输出任务已经完成。
真正的打印输出时由假脱机打印进程负责,当打印机空闲时,该进程首先从假脱机文件队列的首队列摘取一张请求打印表,然后根据表中的要求将要打印的数据由输出井传送到内存缓冲区,再交付给打印机进行打印。一个打印任务完成后,假脱机打印进程将再次查看假脱机文件队列,若队列费控,重复上述操作,直至队列为空。假脱机打印进程将自己阻塞起来,仅当再次有打印请求时,才重新唤醒。

假脱机系统向用户提供的共享打印机的概念是:对每个用户而言,系统并非即时执行其程序输出数据的真实打印操作,而只是即时将数据输出到缓冲区,这时的数据并未真实被打印,只是让用户感觉到系统已经为它打印。真正的打印操作,是在打印机空闲且该打印任务在等待队列中已排到队首时进行的。而且,打印操作本身也是利用CPU的一个时间片,没有使用专门的外围机,以上过程对用户屏蔽,不可见。

  • 6
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

饼干饼干圆又圆

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值