计算机操作系统基础笔记(12)


  • 程序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
(C为工作区处理数据,M为缓冲区传送到工作区,T为I/O设备输入到缓冲区)
双缓冲两个缓冲区,CPU和外设都可以连续处理而无需等待对方 。要求CPU和外设的速度相近 。
• 效率有所提高,且进一步平滑了传输峰值 。
• 系统处理一块数据的时间约为:MAX(C,T) • 收发可双向同时传送 。
循环缓冲增加缓冲区的数量以改善系统性能,这就是多缓冲区方式 。
多个I/O缓冲区常常被组织成一个环形队列,称为循环缓冲 。
缓冲池上述三种缓冲区的组织形式仅适用于某种特定的 I/O进程和计算进程,属于专用缓冲 。
为了提高缓冲区的利用率,可以采用公共缓冲池
其中的缓冲区可为多个设备和进程服务
两种缓冲池:分别用于块型设备和字符型设备 。
公用缓冲池,含有以下三种类型的缓冲区: ①空(闲)缓冲区; ②装满输入数据的缓冲区; ③装满输出数据的缓冲区 。
为了管理上的方便,可将相同类型的缓冲区链成 一个队列,于是可形成以下三个队列:
(1)空缓冲队列emq 。这是由空缓冲区所链成的队列 。
(2)输入队列inq 。这是由装满输入数据的缓冲区所链成的队列 。
(3)输出队列outq 这是由装满输出数据的缓冲区所链成的队列 。
磁盘存储器的性能和调度1、数据组织和格式:
•磁道号——磁头号——扇区——字节
2、类型
1)固定头磁盘: –每个磁道上有一个磁头,快


推荐阅读