『壹』 什么是spooling技术
SPOOLing技术是低速输入输出设备与主机交换的一种技术,通常也称为“假脱机真联机”,他的核心思想是以联机的方式得到脱机的效果。低速设备经通道和外设在主机内存的缓冲存储器与高速设备相联,该高速设备通常是辅存。
虚拟性是OS的四大特性之一。如果说可以通过多道程序技术将一台物理CPU虚拟为多台逻辑CPU,从而允许多个用户共享一台主机,那么,通过SPOOling技术便可将一台物理I/O设备虚拟为多台逻辑I/O设备,同样允许多个用户共享一台物理I/O设备。
(1)spooling系统如何实现虚拟设备扩展阅读:
SPOOLing技术的特点:
1、提高了I/O速度。从对低速I/O设备进行的I/O操作变为对输入井或输出井的操作,如同脱机操作一样,提高了I/O速度,缓和了CPU与低速I/O设备速度不匹配的矛盾。
2、将独占设备改造为共享设备。因为在SPOOLing系统的系统中,实际上并没为任何进程分配设备,而知识在输入井或输出井中为进程分配一个存储区和建立一张I/O请求表。这样,便把独占设备改造为共享设备。
3、实现了虚拟设备功能。多个进程同时使用一独享设备,而对每一进程而言,都认为自己独占这一设备,从而实现了设备的虚拟分配。不过,该设备是逻辑上的设备。
『贰』 spooling是如何把独占型设备改造成共享设备的
独占设备,可共享设备只适用于前两种分配技术,即共享设备技术和独占设备技术,但考虑性能要尽量用前者,即共享设备技术来分配;独占设备只适用于后两种分配技术,即独占设备技术和虚拟设备技术,且尽可能采用后者,即虚拟设备技术。 独占设备的分配 1、基本的设备分配程序 ---- 当某进程提出I/O请求后,系统的设备分配程序可按下述步骤进行设备分配: 1)分配设备 -- 首先根据I/O请求中的物理设备名,查找系统设备表(SDT),从中找出该设备的DCT(设备分配表),再根据DCT中的设备状态字段,可知该设备是否正忙。若忙,便将请求I/O进程的PCB挂在设备队列上;否则,便按照一定的算法来计算本次设备分配的安全性。如果不会导致系统进入不安全状态,便将设备分配给请求进程;否则,仍将其PCB插入设备等待队列。 2)分配控制器 -- 在系统把设备分配给请求I/O的进程后,再到其DCT(指向控制器表的指针)中找出与该设备连接的控制器的COCT(控制器控制表),从COCT 的状态字段中可知该控制器是否忙碌。若忙,便将请求I/O进程的PCB挂在该控制器的等待队列上;否则,便将该控制器分配给进程。 3)分配通道 -- 通过COCT中与控制器连接的通道表指针,找到与该控制器连接的通道的CHCT(通道控制表),再根据CHCT内的状态信息,可知该通道是否忙碌。若忙,便将请求I/O的进程挂在该通道的等待队列上;否则,将该通道分配给进程。 -- 只有在设备、控制器和通道三者都分配成功时,这次的设备分配才算成功。然后,便可启动该I/O设备进行数据传送。 2、设备分配程序的改进 ---- 仔细研究上述基本的设备分配程序后可以发现:进程是以物理设备名来提出I/O请求的;采用的是单通路的I/O系统结构,容易产生“瓶颈”现象。为此,应从以下两方面对基本的设备分配程序加以改进,以使独占设备的分配程序具有更强的灵活性,并提高分配的成功率。 1)增加设备的独立性 -- 为了获得设备的独立性,进程应使用逻辑设备名请求I/O。这样,系统首先从SDT中找出第一个该类设备的DCT。若该设备忙,又查找第二个该类设备的DCT,仅当所有该类设备都忙时,才把进程挂在该类设备的等待队列上;而只要有一个该类设备可用,系统便进一步计算分配该类设备的安全性。 2)考虑多通路情况 -- 为了防止在I/O系统中出现“瓶颈”现象(通道不足),通常都采用多通路的I/O系统结构。此时对控制器和通道的分配同样要经过几次反复,即若设备(控制器)所连接的第一个控制器(通道)忙时,应查看其所连接的第二个控制器(通道),仅当所有的控制器(通道)都忙时,此次的控制器(通道)分配才算失败,才把进程挂在控制器(通道)的等待队列上。而只要有一个控制器(通道)可用,系统便可将它分配给进程。
『叁』 SPOOLing技术的SPOOLing技术
由上所述得知,SPOOLing技术是对脱机输入、输出系统的模拟。相应地,SPOOLing系统必须建立在具有多道程序功能的操作系统上,而且还应有高速随机外存的支持,这通常是采用磁盘存储技术。
SPOOLing系统主要有以下三部分:
(1)输入井和输出井。这是在磁盘上开辟的两个大存储空间。输入井是模拟脱机输入时的磁盘设备,用于暂存I/Q设备输入的数据;输出井是模拟脱机输出时的磁盘,用于暂存用户程序的输出数据。
(2)输入缓冲区和输出缓冲区。为了缓和和CPU和磁盘之间速度不匹配的矛盾,在内存中要开辟两个缓冲区;输入缓冲区和输出缓冲区。输入缓冲区用于暂存由输入设备送来的数据,以后再传送到输入井。输出缓冲区用与暂存从输出井送来的数据,以后在传送给输出设备。
(3)输入进程SPi 和输入进程SP0。这里利用两个进程来模拟脱机I/O时的外围控制机。其中,进程SPi模拟脱机输入时的外围控制机,将用户要求的数据从输入机通过输入缓冲区再送到输入井,当CPU需要输入数据时,直接从输入井读入内存;进程SP0模拟脱机输出时的外围控制机,把用户要求输出的数据从先内存送到输出井,待输出设备空闲时,在将输出井中的数据经过输出缓冲区送到输出设备上。 (1)提高了I/O速度。从对低速I/O设备进行的I/O操作变为对输入井或输出井的操作,如同脱机操作一样,提高了I/O速度,缓和了CPU与低速I/O设备速度不匹配的矛盾。
(2)将独占设备改造为共享设备。因为在SPOOLing系统的系统中,实际上并没为任何进程分配设备,而知识在输入井或输出井中为进程分配一个存储区和建立一张I/O请求表。这样,便把独占设备改造为共享设备。
(3)实现了虚拟设备功能。多个进程同时使用一独享设备,而对每一进程而言,都认为自己独占这一设备,从而实现了设备的虚拟分配。不过,该设备是逻辑上的设备。
SPOOLing除了是一种速度匹配技术外,也是一种虚拟设备技术。用一种物理设备模拟另一类物理设备,使各作业在执行期间只使用虚拟的设备,而不直接使用物理的独占设备。这种技术可使独占的设备变成可共享的设备,使得设备的利用率和系统效率都能得到提高。
『肆』 操作系统的SPOOLING,实质是将什么设备转为共享设备 独占还是虚拟还是脱机解释下
SPOOLING技术(Simultaneous Peripheral Operating On Line)
同时联机外围操作技术,它是关于慢速字符设备如何与计算机主机进行数据交换的一种技术,通常又称假脱机技术。
在多道程序环境下,利用多道程序中的一道或者两道程序来模拟脱机输入/输出中的外围控制机的功能,以达到“脱机”输入/输出的目的。
利用这种技术可把独占设备转变成共享的虚拟设备,从而提高独占设备的利用率和进程的推进速度。
SPOOLING系统 是对脱机输入/输出工作的模拟,它必须有大容量的且可随机存取的存储器
的支持。
其主要思想是在联机的条件下,进行两个方向的操作,在数据输入时,将数据从输入设备传送到磁盘或磁带(块设备),然后把这些块设备与主机相连;反过来,在数据输出时,将输出数据传送到磁盘或磁带上,再从磁盘或磁带传送到输出设备。
这样,可以将一台独占的物理设备虚拟为并行使用的多态逻辑设备,从而使该物理设备被多个进程共享。
输入进程SPI是模拟脱机输入时的外围控制机,它将用户要求处理的数据从输入设备通过输入缓冲区再送到输入井(磁盘上开辟的一块区域),当CPU处理这些数据数据时,就直接从输入井读入内存。
输出进程SPO是模拟脱机输出时的外围控制机,把用户要求输出的数据,先从内存送到输出井,待输出设备空闲时,再将输出井中的数据通过输出缓冲区(内存中一块区域)传送到输出设备上。
『伍』 何为设备虚拟实现设备虚拟时所依赖的关键技术是什么
设备虚拟是通过虚拟技术将一台独占设备虚拟成多台逻辑设备,供多个用户回进程同时使用,答 通常把这种经过虚拟的设备称为虚拟设备。虚拟存储的发展借鉴了计算机领域里很多成功的设计思想,从虚存、磁盘技术、RAID到IBM的大型机等的设计思想中都汲取了许多成功的经验。
设备虚拟是指把独占设备经过某种技术处理改造成虚拟设备。可虚拟设备是指一台物理设备在采用虚拟技术后,可变成多台逻辑上的虚拟设备,则可虚拟设备是可共享的设备,将它同时分配给多个进程使用,并对这些访问该物理设备的先后次序进行控制。
(5)spooling系统如何实现虚拟设备扩展阅读:
通过板上CPU及阵列管理固件来控制及管理硬盘,解释用户的I/O指令,并将它们发给物理磁盘执行,从而屏蔽了具体的物理磁盘,为用户提供了一个统一的具有容错能力的逻辑虚拟磁盘,这样用户对RAID的存储操作就像对普通磁盘一样。
由于受IDE通道的数量和速度的限制,RAID的传统接口一直使用SCSI。随着存储技术的飞速发展,许多新的RAID技术不断被开发出来,许多厂商的存储设备的磁盘阵列开始提供2GB的高速接口。