对I/O设备的控制方式与假脱机SPOOLing

对I/O设备的控制方式

1.使用轮询的可编程I/O形式

  启动输入数据时,将状态寄存器置为1,然后不断检测该标志,直到标志寄存器变为0,证明输入数据结束。

2.使用中断的可编程I/O形式

  当进程请求I/O时,立刻中断CPU,保存现场后,交给相应的中断处理程序。有I/O就中断。而在I/O时,CPU可以和I/O设备并行执行。

3.DMA直接存储器访问

  四类寄存器:指令寄存器、地址寄存器、数据寄存器和数据计数器。读磁盘时,命令送至指令寄存器,数据地址至地址寄存器,待读入的字节数存入数据计数器,磁盘的源地址也要送至DMA控制器的I/O逻辑上。然后启动DMA。

4.I/O通道

  硬件概念,将简单的I/O指令由CPU指定交给I/O通道。其本质是一个专门执行I/O命令的简易 “CPU” ,CPU收到I/O请求时,将其转给I/O通道,之后直到执行完,CPU都不再管,最后I/O通道向CPU报告完成。

假脱机SPOOLing

  在多道程序技术中,可以用一道进程模拟外围I/O设备机器,将I/O输入数据转到高速磁盘;另一道进程负责从磁盘到I/O输出设备转移数据。

1.SPOOLing组成

(1)输入井和输出井

  磁盘开辟的两块区域,输入井模拟输入,用于收集数据;输出井模拟输出,用于提取数据。文件的形式管理数据。

(2)输入缓冲区和输出缓冲区

  内存中开辟的两块缓冲区,用于协调CPU与磁盘的速度不一致。

(3)输入输出进程

  负责从I/O设备得到数据放入输入井的输入进城;负责将数据从输出井传递到I/O输出设备的输出进程。

(4)井管理程序

  用于控制进程与磁盘井的数据交互。所有的入井出井操作都由井管理程序执行。

2.SPOOLing系统的特点

(1)提高了I/O速度:有专门的I/O进程,缓解了CPU与I/O设备的速度问题

(2)将独占设备改为共享设备:并没有为进程分配真实的物理设备,而是为进程分配一个空盘快和一个请求表

(3)实现了虚拟设备功能:所有进程会认为自己独占设备,但实际共享。

3.假脱机打印机系统

(1)磁盘缓冲区:暂存用户数据

(2)打印缓冲区:缓和CPU和磁盘设备的速度问题

(3)假脱机管理进程和假脱机打印进程:管理进程负责为每个要求打印的用户生成一个数据文件,并放入队列中;由打印进程扫描队列打印

猜你喜欢

转载自www.cnblogs.com/fusiji/p/11409771.html