5 设备管理— — IO组成 IO软件/缓冲/磁盘

I/O系统的组成:

1)需要用于输入、输出和存储信息的设备;

2)需要相应的设备控制器;

3)控制器与CPU连接的高速总线;

4)有的大中型计算机系统,配置I/O通道;

中断:

CPU对I/O设备发来的中断信号的一种响应,中断是由外部设备引起的,又称外中断。

中断处理流程:

1)测定是否有未响应的中断信号

2)保护被中断进程的CPU环境

3)转入相应的设备处理程序

4)中断处理

5)恢复CPU的现场

设备驱动程序:

(1)接收由与上层设备无关的软件发来的命令和参数,并将命令中的抽象要求,转换为与设备相关的低层操作序列;

(2)检查用户I/O请求的合法性,了解I/O设备的工作状态,传递与I/O设备操作有关的参数,设置设备的工作方式;  

(3)发出I/O命令,如果设备空闲,便立即启动I/O设备,完成指定的I/O操作;如果设备忙碌,则将请求者挂在设备队列上等待;

(4)及时响应由设备控制器发来的中断请求,并根据其中断类型,调用相应的中断处理程序进行处理。

I/O控制方式:

1)程序I/O方式 :

cpu对I/O设备的控制采取程序I/O方式,或称忙—等待方式

高速CPU空闲等待低速I/O设备,致使CPU极大浪费。

2)中断驱动I/O方式

CPU向相应的设备控制器发出一条I/O命令 然后立即返回继续执行任务。 设备控制器按照命令的要求去控制指定I/O设备。 这时CPU与I/O设备并行操作。

但仍以字(节)为单位进行I/O,每当完成一个字(节),控制器便要请求一次中断。

3)直接存储器访问DMA(字节—块)

1、数据传输的基本单位是数据块;

2、所传送的数据是从设备直接送入内存的,或者直接从内存进设备;不需要CPU操作。

4)I/O通道控制方式(组织传送的独立)

实现对一组数据块的读(写)及有关的控制和管理为单位的干预。

CPU、通道和I/O设备三者的并行操作,提高整系统资源利用率。

如何将一台物理I/O设备虚拟为多台逻辑I/O设备,允许多个用户共享“同时使用” ?  ——SPOOLing技术

SPOOLing系统的组成:

1)输入井和输出井:磁盘上开辟两大存储空间。输入井模拟脱机输入的磁盘设备,输出井模拟脱机输出时的磁盘。

2)输入缓冲区和输出缓冲区:为缓解速度矛盾,内存中开辟两大缓冲空间,输入缓冲区暂存输入设备送来的数据,再送给输入井;输出缓冲区暂存输出井送来的数据,再送输出设备。

3)输入进程和输出进程。 用一进程模拟脱机输入时外围设备控制器的功能,把低速输入设备上的数据传送到高速磁盘上; 用另一进程模拟脱机输出时外围设备控制器的功能,把数据从磁盘上传送到低速输出设备上。

5 设备管理— — IO组成 IO软件/缓冲/磁盘_第1张图片

SPOOLing系统的特点:

1)提高了I/O的速度。利用输入输出井模拟成脱机输入输出,缓和了CPU和I/O设备速度不匹配的矛盾。

2)将独占设备改造为共享设备。并没有为进程分配设备,而是为进程分配一存储区和建立一张I/O请求表。

3)实现了虚拟设备功能。多个进程可“同时”使用一台独占设备。

I/O控制方式减少CPU对I/O的干预提高利用率; 缓冲则通过缓和CPU和I/O设备速度不匹配矛盾,增加CPU和I/O设备的并行性,提高利用率。 

                                                    缓冲:

引入缓冲的原因:

1)缓和CPU与I/O设备间速度不匹配的矛盾。

2)缓冲区数据成批传入内存,也可进一步减少对CPU的中断频率

最终目的:提高CPU和I/O设备的并行性。

使用缓冲区的方式:

1)单缓冲:

CPU和外设轮流使用,一方处理完后等待对方处理。

2)多缓冲 :

两个缓冲区,CPU和外设不再针对一块交替 可能实现连续处理无需等待对方。前提是CPU和外设对一块数据的处理速度相近。而如下图情况CPU仍需等待慢速设备。

5 设备管理— — IO组成 IO软件/缓冲/磁盘_第2张图片

双缓冲还适合双向通讯

3)循环缓冲:

设置多块缓冲区 用循环结构组织,只供两个相关进程使用 顺一个方向放入或取出       

4)缓冲池(Buffer Pool):

系统将多个缓冲区形成一个缓冲池。 池中缓冲区为系统中所有的进程共享使用(如UNIX系统在块设备管理中设置了一个15个缓冲区组成的缓冲池)

类型:空缓冲区队列(所有进程都可用) 输入队列(n个进程有各自的队列) 输出队列(n个进程有各自的队列)

                                                磁盘:

数据的组织:

盘片、面、磁道、扇区

格式:

为方便处理,每条磁道存储容量相同,每个磁道上的每个扇区相当于一个盘块。磁盘”格式化”的过程就是按规定的格式规划盘块。

传输时间问题:

5 设备管理— — IO组成 IO软件/缓冲/磁盘_第3张图片

磁盘调度算法:

1)FCFS

2)最短寻道时间优先SSTF

3)扫描算法SCAN(磁盘电梯调度算法)

4)循环扫描算法CSCAN

你可能感兴趣的:(操作系统)