• 假脱机(spooling)技术实现原理


    将独占设备改造为共享设备
    由于Spooling技术把所有用户进程的输出都送入输出井,然后再由输出进程完成打印工作,而输出井在磁盘上,为共享设备。这样,Spooling技术就把打印机等独占设备改造成立共享设备。

    实现了虚拟设备功能

    由于Spooling技术实现了多个用户进程共同使用打印机这种独占设备的情况,从而实现了把一个设备当成多个设备来使用,即虚拟设备的功能。

    假脱机技术有输入输出井,输入缓冲区和输出缓冲区,输入进程和输出进程,请求打印队列组成

    输入输出井类似于两台卡车,用来收集输入设备输入的数据,输入井模拟脱机输入时的磁盘。输出井是收集用户程序的输出数据。

    当然磁盘有了开辟的“卡车”,内存也应该有开辟输入与输出缓存区。输入缓存区由输入设备送来的数据,以后再送入卡车—输入井,输出缓存区用来暂存从输入井送来的数据,以后再送给输出设备。相当与集装箱在“卡车”与输入输出设备间移动。

    输入进程模拟脱机输入时的外围控制机,将用户要求的数据从输入设备,通过输入缓冲区送到输入井。当CPU需要数据时,直接从输入井读入主存;输出进程模拟脱机输出时的外围控制机,把用户要求输出的数据,先从主存送到输出井,待输出设备空闲时,再将输出井中的数据,经过输出缓冲区送到输出设备上。

    由若干张请求打印表所形成的队列,系统为每个请求打印的进程建立一张请求打印表。

  • 相关阅读:
    块设备驱动框架分析(一)
    LIN总线协议
    LCD驱动分析(三)时序分析
    str_shuffle — 随机打乱一个字符串
    str_replace — 子字符串替换
    str_repeat — 重复一个字符串
    str_pad — 使用另一个字符串填充字符串为指定长度
    str_getcsv — 解析 CSV 字符串为一个数组
    ltrim — 删除字符串开头的空白字符(或其他字符)
    lcfirst — 使一个字符串的第一个字符小写
  • 原文地址:https://www.cnblogs.com/AmosAlbert/p/12832207.html
Copyright © 2020-2023  润新知