汤晓丹的第四版计算机操作系统--第六章总结概述

第六章 输入输出系统

1.对I/O设备进行控制:对I/O设备进行控制是驱动程序的功能。

目前对I/O设备有四种控制方式:

① 采用轮询的可编程I/O方式;

② 采用中断的可编程I/O方式;

③ 直接存储器访问方式;

④ I/O通道方式。

在这里插入图片描述

2.I/O系统本身也可分为如下三个层次:(1) 中断处理程序。(2) 设备驱动程序。  (3) 设备独立性软件。

3.I/O系统与高层之间的接口中,根据设备类型的不同,可以分为若干个接口,分为:

块设备接口:存取和传输以数据块为单位的设备。隐藏了磁盘的二维结构。将抽象命令映射为低层操作。

流设备接口:字符为单位的传输设备,使用get和put操作从字符缓冲区读取和写入。in-control命令。

网路接口

6.1 I/O设备控制器

设备控制器的基本功能: 接收和识别命令。数据交换。(3) 标识和报告设备的状态。(4) 地址识别。(5) 数据缓冲区。(6) 差错控制。

在这里插入图片描述

6.2 I/O通道

虽然在CPU与I/O设备之间增加了设备控制器后,已能大大减少CPU对I/O的干预,但当主机所配置的外设很多时,CPU的负担仍然很重。为此,在CPU和设备控制器之间又增设了I/O通道(I/O Channel)。

通道类型:

字节多路通道:一种按字节交叉方式工作的通道。

数组选择通道:数组方式进行数据传送的数组选择通道的形成。 有很高的传输速率,但它却每次只允许一个设备传输数据。

数组多路通道:将数组选择通道传输速率高和字节多路通道能使各子通道(设备)分时并行操作的优点相结合而形成的一种新通道。

6.3中断机构与中断处理程序

中断:是指CPU对I/O设备发来的中断信号的一种响应。

陷入:由CPU内部事件所引起的中断,例如程序出错,非法指令,地址越界。

对多中断源的处理方式 :屏蔽中断和嵌套中断。

中断处理程序

当一个进程请求I/O 操作时,该进程将被挂起,直到I/O设备完成I/O操作后,设备控制器便向CPU发送一个中断请求,CPU响应后便转向中断处理程序,中断处理程序执行相应的处理,处理完后解除相应进程的挂起状态。

在这里插入图片描述

6.4设备驱动程序

设备处理程序通常又称为设备驱动程序,它是I/O系统的高层与设备控制器之间的通信程序,其主要任务是接收上层软件发来的抽象I/O要求,如read或write命令,再把它转换为具体要求后,发送给设备控制器,启动设备去执行;反之,它也将由设备控制器发来的信号传送给上层软件。由于驱动程序与硬件密切相关,故通常应为每一类设备配置一种驱动程序。

I/O设备的控制方式

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

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

3.直接存储器访问方式。

在这里插入图片描述

6.5 用户层的I/O软件

1.系统调用与库函数

2.假脱机系统

该技术是利用专门的外围控制机,先将低速I/O设备上的数据传送到高速磁盘上,或者相反。这样当处理机需要输入数据时,便可以直接从磁盘中读取数据,极大地提高了输入速度。反之,在处理机需要输出数据时,也可以很快的速度把数据先输出到磁盘上,处理机便可去做自己的事情。

SPOOLing系统主要由以下四部分构成:(1) 输入井和输出井。(2) 输入缓冲区和输出缓冲区。(3) 输入进程和输出进程。(4) 井管理程序。

SPOOLing系统的特点:(1) 提高了I/O的速度。(2) 将独占设备改造为共享设备。(3) 实现了虚拟设备功能。

6.6缓冲区管理

1.单缓冲区

2.双缓冲区

3.循环缓冲区

**4.缓冲池。**缓冲池管理着多个缓冲区。一般将缓冲池中具有相同类型的缓冲区链接成一个队列,于是可形成以下三个队列:(1) 空白缓冲队列emq。(2) 输入队列inq。(3) 输出队列outq。

6.7磁盘存储器的性能和调度

磁盘调度算法

1.先来先服务(FCFS)

2.最短寻道时间优先(SSTF)

3.扫描(SCAN)算法:只要不断有新进程的请求到达,且其所要访问的磁道与磁头当前所在磁道的距离较近,这种新进程的I/O请求必然优先满足。来回循环。

4.循环扫描(CSCAN)算法:类似于周期性扫描。从1-100,再回到1-100。

5.NStepSCAN算法:有一个或几个进程对某一磁道有较高的访问频率,即这个(些)进程反复请求对某一磁道的I/O操作,从而垄断了整个磁盘设备。产生“磁臂粘着”(Armstickiness)现象。只在一块磁道来回。

6.FSCAN算法。实质上是N步SCAN算法的简化,即FSCAN只将磁盘请求队列分成两个子队列。一个是由当前所有请求磁盘I/O的进程形成的队列,由磁盘调度按SCAN算法进行处理。另一个是在扫描期间,将新出现的所有请求磁盘I/O的进程放入等待处理的请求队列。

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值