操作系统 假脱机(Spooling)系统 |
您所在的位置:网站首页 › 什么是脱机工作 › 操作系统 假脱机(Spooling)系统 |
介绍
通过多道程序技术可将一台物理CPU虚拟为多台逻辑CPU,从而允许多个用户共享一台主机。那么,假脱机技术,则可将一台物理I/O设备虚拟为多台逻辑I/O设备,这样也就允许多个用户共享一台物理I/O设备。 1. 假脱机技术早期,为了缓和CPU的高速性与I/O设备低速性之间的矛盾,引入了脱机输入、脱机输出技术。该技术是利用专门的外围控制机,先将低速I/O设备上的数据传送到高速磁盘上,或者相反。 这样,处理机需要输入数据时,便可直接从磁盘中读取数据。反之,处理机输出数据时,也可很快将数据先输出到磁盘上,处理机便可去做自己的事情。 事实上,系统引入多道程序技术之后,我们可以利用其中的一道程序,来模拟脱机输入时的外围控制机功能,把低速I/O;设备上的数据传送到高速磁盘上。再利用另一道程序模拟脱机输出时外围控制机的功能,把数据从磁盘传送到低速输出设备上。 这样,便可在主机的直接控制下,实现以前的脱机输入、输出功能。此时的外围操作与CPU对数据的处理同时进行,将这种在联机情况下实现的同时外围操作的技术称为Spooling(Simultaneous Peripheral Operation On-Line)技术,或称为假脱机技术。 2. Spooling的组成Spooling技术是对脱机输入/输出系统的模拟,其系统建立在通道技术和多道程序技术的基础上,以高速随机外存(通常为磁盘)为后援存储器。 Spooling系统构成:输入井和输出井: 在磁盘上开辟出来的两个存储区域。 输入井模拟脱机输入时的磁盘,收容I/O设备输入的数据; 输出井模拟脱机输出时的磁盘,收容用户程序的输出数据。 输入缓冲区和输出缓冲区: 内存中开辟的两个缓冲区,缓和CPU和磁盘之间速度不匹配的矛盾。 输入缓冲区暂存输入设备传送的数据; 输出缓冲区暂存从输出井传送的数据。 输入进程或输出进程: 输入进程模拟脱机输入时的外围控制机,将用户要求的数据从输入设备传送到输入缓冲区,再存放到输入井。当CPU需要输入设备时,直接从输入井读入内存; 输出进程模拟脱机输出时的外围控制机,把用户要求输入的数据从内存传送并存放到输出井,待输出设备空闲时,再将输出井中的数据经输出缓冲区输出至输出设备上。 井管理程序: 控制作业与磁盘井之间信息的交换。 磁盘缓冲区: 磁盘上开辟的一个存储空间,暂存用户程序的输出数据 打印缓冲区: 缓和CPU和磁盘之间速度不匹配的矛盾,设置在内存中,暂存磁盘缓冲区送来的数据,传送给打印设备打印 假脱机管理进程和假脱机打印进程: 管理进程为每个要求打印的用户数据建立一个假脱机文件,并放入到假脱机文件队列中,由打印进程依次对队列中的文件进行打印。 原理:对每个用户而言,系统并非即时执行其程序输出数据的真实打印操作,而只是即时将数据输出到缓冲区,这时的数据并未真正被打印,只是让用户感觉系统已为他打印; 真正的打印操作,是在打印机空闲且打印任务在等待队列中已排到队首时进行的;而且,打印操作本身也是利用CPU的一个时间片,没有使用专门的外围机。 以上过程是对用户屏蔽的,用户是不可见的。 守护进程(daemon):前面是利用假脱机系统来实现打印机共享的一种方案,人们对该方案进行了某些修改,如取消该方案中的假脱机管理进程,为打印机建立一个守护进程,由它执行一部分原来由假脱机管理进程实现的功能。 除了打印机守护进程之外,还可能有许多其它的守护进程,如服务器守护进程和网络守护进程等。事实上,凡是需要将独占设备改造为可供多个进程共享的设备时,都要为该设备配置一个守护进程和一个假脱机文件队列(目录)。 参考:《计算机操作系统》(第四版,汤小凤) 看教材枯燥,码字记录提神,根据计算机操作系统(第四版,汤小凤)个人整理,仅作学习记录 :) |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |