更新时间:2023-05-28 13:43
脱机处理时,外部设备上的数据需要一个相当长的等待时间后才被进行处理。当外部设备上有数据输入时,主机并不予处理,只是将外部设备的数据存放到缓冲区中。一旦缓冲区满了,或是等待的时间到了,主机才进行加工处理。
对输出的操作也是这样,一旦计算机要把处理结果输出,它只是把输出结果送入缓冲区中,然后向外部设备慢慢地进行输出,而主机又去进行其它的加工处理,当缓冲区中的数据全部输出完毕,主机再把下一批的数据存入缓冲区中。
在输入数据时,如果要对数据进行合法性验证,就应考虑采用联机处理的方式,以便及时发现输入数据的错误,并及时予以更正。如果是从网上或磁盘中把数据读出来,则可考虑用脱机处理的方式,因为对这些输入的数据可以不进行合法性校验,只是进行再加工和处理。
早期
脱机处理技术的出现
随着计算机速度不断提高,中央处理机在输入输出操作时要等待慢速的联机输入输出设备,不能充分发挥应有的效率。为此,在批处理中引入了脱机输入输出:在主机之外另设一台小型微型机,该机只与外部设备打交道,把要处理的信息成批地输入到高速的辅助存储器(磁带或磁盘)中,再把辅助存储器与主机连接起来。主机仅从高速的辅助存储器中调入信息进行处理,作业完成后,处理结果和有关信息以文件形式存于辅助存储器中,然后再把它们转移到微型机去输出。
微型机的特点
工作完全独立于主机进行,使主机能摆脱慢速的输入输出工作的牵制。如果输入输出任务繁重,则可配置若干台微型机,一些专门从事脱机输入,另一些专门从事脱机输出。
脱机处理能提高设备的利用率,但需要操作员干预,只适用于批处理方式。在一批作业全部输入到辅助存储器中后,主机开始逐一处理,这批作业全部处理完毕后才由微型机将它们分离出来。在一批作业处理期间,如新来一个作业,即使是一个紧急任务且不要花费很多处理时间,系统也不能对它进行处理,只能把它放在下一批中,等待这批作业处理完后再作处理,因而灵活性差。
在用直接存取的大容量磁盘作为辅助存储器的系统中,不用微型机从事脱机输入输出,而由主机和通道来承担这一功能。输入程序负责把输入设备上的作业源源不断地输入到磁盘的某个区域(作业输入区)中,并把描述作业的信息登记在等待队列中,以供主机调入处理。各作业要输出的信息存在磁盘的另一个区域(作业输出区)中,当输出设备空闲时,由输出程序将输出区中的信息输出。
由于输入程序和输出程序的运行时间很短,仅仅是组织信息的输入和输出以及在相应队列中登记信息所需的时间,可使人产生一种作业进入和信息输出是脱机进行的感觉,这称为假脱机输入输出系统。
它比脱机输入输出系统有很大改进,例如一个优先级高的小作业被假脱机系统读入磁盘的输入区后,就可能很快被作业调度程序选中而优先运行(见多道作业处理),从而使其等待时间大大缩短。但假脱机系统管理复杂,要占用一部分主存空间,并花费一定的主机时间,只宜在主机速度不太高时采用。
我们通常所指的联机处理和脱机处理之间的唯一区别由来自服务的更新的频率决定,判定脱机处理的条件是:在重新连接之前不能执行请求,无论是对信息的请求还是对更新的请求。
例如,如果您使用的是脱机电子邮件系统,您的收件箱可能没有处于最新状态;不过,这或许不能算是个问题,因为电子邮件本身在服务器端等待被下载时不会发生更改。可是,当脱机使用一个日程编排系统时,您可能会发现并发问题,因为您和其他人可能为一个约会指定了同一天的同一时间。在这种情况下,系统必须能够检测,并且可能解决冲突。理论上来说,这种事情在联机时也可能发生,唯一的区别是,系统会更早地通知您预约冲突,您可以立即作出反应。