计算机操作系统基础笔记 操作系统有哪些状态(12)


–唤醒被阻塞的驱动程序进程
–保护被中断进程CPU环境
–转入相应的设备处理程序
–中断处理(特性)
–恢复被中断进程的现场
设备驱动程序设备驱动程序功能:
(1)接收由I/O进程发来的命令和参数, 并将命令中的抽象 要求转换为具体要求 。
(2)检查用户I/O请求的合法性,了解I/O设备的状态,传递有 关参数,设置设备的工作方式 。
(3)发出I/O命令并检查设备状态 。
(4)及时响应由控制器或通道发来的中断请求并处理 。
设备驱动程序的特点:
(1)驱动程序主要是指在请求I/O的进程与设备控制器之间 的一个通信和转换程序 。
(2)驱动程序与设备控制器和I/O设备的硬件特性紧密相关 ,因而对不同类型的设备应配置不同的驱动程序 。
(3)驱动程序与I/O设备所采用的I/O控制方式紧密相关,常用中断驱动和DMA方式 。
(4)由于驱动程序与硬件紧密相关,因而其中的一部分必须 用汇编语言书写 。
(5)驱动程序允许可重入 。
设备处理方式:
(1)为每一类设备设置一个进程,专门用于执行这类设 备的I/O操作。
(2)在整个系统中设置一个I/O进程,专门用于执行系统 中所有各类设备的I/O操作 。
(3)不设置专门的设备处理进程,而只为各类设备设置 相应的设备处理程序(模块),供用户进程或系统进程调用
I/O控制方式:

  • 程序I/O方式 (programmed I/O) CPU and Device can not work in parallel
  • 中断方式 (interrupt) CPU and device can work in parallel, too many interrupts for CPU
    中断I/O比程序I/O方式高效,但以字/字节为传输单位 。每完成一个字/字节的传输,设备均要向CPU请求一次中断
  • 直接存储器访问方式 (DMA) DMA controller in charge of block i/o
    数据传输的基本单位是数据块DMA控制器的组成: 1. 主机与DMA控制器的接口; 2. DMA控制器与块设备的接口; 3. I/O控制逻辑 。
  • 通道方式 (channel)
    CPU仅在I/O操作的开始和结束时花费少量时间处理与I/O 有关的工作 。实现CPU、通道和I/O设备三者的并行操作,从而更有效 地提高整个系统的资源利用率
设备独立性含义:应用程序独立于具体使用的物理设备,即是指用 户在编程序时所使用的设备与实际设备无关 。
引入逻辑设备和物理设备这两个概念 。
在应用程序中,使用逻辑设备名称来请求使用某类设备;而系统在实际执行时,还必须使用物理设备名称 。
设备独立性的优点
(1)设备分配时的灵活性
(2)易于实现I/O重定向
【计算机操作系统基础笔记 操作系统有哪些状态】设备独立性软件主要功能:
(1)执行所有设备的公有操作
(2)向用户层(或文件层)软件提供统一接口
设备分配(1)设备控制表DCT
(2)控制器控制表、通道控制表和系统设备表
虚拟设备是利用某种技术把独占设备改造成可由多个进程共享的设备 。
用户层的I/O软件用户程序通过调用对应的库函数使用系统调用 。
SPOOLing技术将一台物理I/O设备虚拟为多台逻辑I/O 设备,同样允许多个用户共享一台物理I/O设备 。
(1)脱机输入、输出技术
(2) 在主机的直接控制下,实现脱机输入、输出功能,此时的外围操作与CPU对数据的处理同时进行 。
SPOOLing技术SPOOLing技术将一台物理I/O设备虚拟为多台逻辑I/O 设备,同样允许多个用户共享一台物理I/O设备 。
组成输入井和输出井
输入缓冲区和输出缓冲区(内存中)
输入进程SPi 和输出进程SP0
井管理程序
输出:(打印) a.进程n请求——>SPo为进程n在输出井中分配空间——> 将数据由进程缓冲区转到输出井——>生成一打印请求 表挂打印请求队列 。b.打印机空——>查打印请求表中的任务——> 取输出井 中对应的数据——>输出缓冲区——>打印
缓冲区管理(1)缓和CPU与I/O设备间速度不匹配的矛盾 。
(2)减少对CPU的中断频率,放宽对CPU中断响应 时间的限制 。
(3)解决数据粒度不匹配的问题 。
(4)提高CPU和I/O设备之间的并行性 。
提前读,延后写,操作系统中介绍的都是软件缓冲区
单缓冲一个缓冲区,CPU 和外设轮流使用,一方处理完之后接着等待对方处理
C和T可并行,M和C或M和T不能并行,因此处理一块数据时间:Max(C,T)+M

推荐阅读