知识点
1.I/O系统的组成
2.I/O系统的软件层次
①中断处理过程
②I/O控制方式
③缓冲管理、设备分配、设备处理
3.磁盘调度
I/O系统的主要功能:
1.隐藏物理设备细节,方便用户 用户使用抽象的I/O命令即可
2.实现设备无关性,方便用户 用户可用抽象的逻辑设备名来使用设备,同时也提高了OS的可移植性和易适应性。
3.提高处理机和设备的并行性,提高利用率:缓冲区管理
4.对I/O设备进行控制:控制方式、设备分配、设备处理
5.确保对设备正确共享:虚拟设备及设备独立性等
6.错误处理
I/O系统的组成
1.需要用于输入、输出和存储信息的设备;
2.需要相应的设备控制器;
3.控制器与CPU连接的高速总线;
4.有的大中型计算机系统,配置I/O通道;
中断处理流程
1.测定是否有未响应的中断信号
2.保护被中断进程的CPU环境
3.转入相应的设备处理程序
4.中断处理
5.恢复CPU的现场
直接存储器访问DMA 方式特点:
1.数据传输的基本单位是数据块;
2.所传送的数据是从设备直接送入内存的,或者直接从内存进设备;不需要CPU操作。
3.CPU干预进一步减少:仅在传送一个或多个数据块的开始和结束时,才需CPU干预,整块数据的传送是在控制器的控制下完成的。
DMA控制器的组成
1.主机与DMA控制器的接口;
2.DMA控制器与块设备的接口;
3.I/O控制逻辑。
DMA工作过程
1.CPU先向磁盘控制器发送一条读命令。
2.该命令被送到命令寄存器CR中。
3.同时发送数据读入到内存的起始地址,该地址被送入MAR中;
4.要读数据的字数则送入数据计数器DC中;
5.将磁盘中的数据原地址直接送入DMA控制器的I/O控制逻辑上,按设备状态启动磁头到相应位置。
6.启动DMA控制器控制逻辑开始进行数据传送
①DMA控制器读入一个数据到数据寄存器DR中,然后传到内存MAR地址中;
②接着MAR+1,DC-1,判断DC是否为0,如否,继续,反之控制器发中断请求,传送完毕。
SPOOLing系统的组成
1.输入井和输出井
2.输入缓冲区和输出缓冲区
3.输入进程和输出进程
SPOOLing系统的特点
1.提高了I/O的速度。利用输入输出井模拟成脱机输入输出,缓和了CPU和I/O设备速度不匹配的矛盾。
2.将独占设备改造为共享设备。并没有为进程分配设备,而是为进程分配一存储区和建立一张I/O请求表。
3.最终,实现了虚拟设备功能。多个进程可“同时”使用一台独占设备。
引入缓冲区的主要原因:
1.缓和CPU与I/O设备间速度不匹配的矛盾。
2.缓冲区数据成批传入内存,也可进一步减少对CPU的中断频率
3.最终目的:提高CPU和I/O设备的并行性。
使用缓冲区的方式:
1.单缓冲、多缓冲
2.循环缓冲
3.缓冲池(Buffer Pool)
磁盘调度方法
1.FCFS
2.最短寻道时间优先SSTF
3.扫描算法SCAN(磁盘电梯调度算法)
①循环扫描算法CSCAN
②N-Step-SCAN算法
③FSCAN算法
访问磁盘过程
1.CPU给出地址,需要访问某存储单元;
2.并行进行TLB查找和cache查找;
3.TLB查找后申明没有找到;
4.停止并行查找,并通知操作系统处理;
5.操作系统检查页表,发现该页不在内存中,需要从硬盘调入。
虚拟设备是指:
通过虚拟技术将一台独占设备改造成若干台逻辑设备,供若干个用户进程同时使用。
按信息交换单位分类,可将设备分为:
块设备和字符设备
通道是:
一种负责I/O的处理机。
字节多路通道主要用作:
连接大量的低速I/O设备。
从资源分配的角度看,操作系统将外部设备分为:
独占型设备、共享型设备、虚拟设备。
根据信息交换方式的不同,可以将通道分为:
字节多路通道、数据选择通道、数据多路通道。
设备独占性是指:
应用程序独立于具体使用的物理设备。
缓冲技术中的缓冲池在:主存中。
进行设备分配时所需要的数据表格主要有:
设备控制表、设备控制器控制表、通道控制表和系统设备表。
大多数低速设备都属于:独享设备。
Spooling系统是由:
磁盘中的输入井和输出井、内存中的输入缓冲区和输出缓冲区以及输入进程和输出进程组成。
设备与内存之间的传输方式有:
程序直接控制方式、中断控制方式、通道控制方式和DMA控制方式,其中通道方式占用CPU时间最短。
Spooling技术是指:
在共享设备上模拟独占设备。由预输入程序将作业执行中需访问的数据预先读入到输入井中,缓输出程序则负责将输出井中的信息在输出设备上输出。