操作系统输入输出系统os5-2.

《操作系统输入输出系统os5-2.》由会员分享,可在线阅读,更多相关《操作系统输入输出系统os5-2.(41页珍藏版)》请在文档大全上搜索。
1、 北北 京京 林林 业业 大大 学学 信信 息息 学学 院院 三、输入/输出软件中断处理程序中断处理程序设备驱动程序设备驱动程序与设备无关的与设备无关的I/OI/O软件软件用户层的输入用户层的输入/ /输出软件输出软件1. 1. 层次结构:层次结构: 北北 京京 林林 业业 大大 学学 信信 息息 学学 院院 进行进行I/OI/O调用:格式化调用:格式化I/OI/O执行执行I/OI/O操作操作命名、保护、阻塞、缓冲、分命名、保护、阻塞、缓冲、分配配I/OI/O结束时,唤醒设备服务子程结束时,唤醒设备服务子程序序设置设备寄存器、检测状态设置设备寄存器、检测状态4-4-用户进程用户进程3-3-设备
2、无关软件设备无关软件2-2-设备设备驱动程驱动程序序硬硬 件件设备服务子程序设备服务子程序1-1-中断处理程序中断处理程序I/OI/O请求请求I/OI/O应答应答 北北 京京 林林 业业 大大 学学 信信 息息 学学 院院 (1 1)用户进程层用户进程层执行执行输入输出系统调用输入输出系统调用,对,对I IO O数数据进行格式化,为假脱机输入输出作准备据进行格式化,为假脱机输入输出作准备(2 2)独立于设备的软件独立于设备的软件实现设备的命名、设备的保实现设备的命名、设备的保护、成块处理、缓冲技术和设备分配护、成块处理、缓冲技术和设备分配(3 3)设备驱动程序设备驱动程序设置设备寄存器、检查设
3、备的执设置设备寄存器、检查设备的执行状态行状态(4 4)中断处理程序中断处理程序负责负责I IO O完成时,唤醒设备驱动完成时,唤醒设备驱动程序进程,进行中断处理程序进程,进行中断处理(5 5)硬件层硬件层实现物理实现物理I IO O的操作的操作 北北 京京 林林 业业 大大 学学 信信 息息 学学 院院 程序直接控制方式程序直接控制方式 中断方式中断方式 DMA DMA方式方式 通道控制方式通道控制方式2. 数据传送控制方式: 北北 京京 林林 业业 大大 学学 信信 息息 学学 院院 1)程序直接控制方式(循环I/O测试方式) 北北 京京 林林 业业 大大 学学 信信 息息 学学 院院 否
4、否外围设备外围设备做接收或发送数据准备做接收或发送数据准备接收到接收到startstart命令命令标志触发器置标志触发器置“done”done”等待等待CPUCPU来的下条指令来的下条指令准备完毕?准备完毕?是是否否CPUCPU发发startstart命令命令等等 待待执行下条指令执行下条指令开始数据传送开始数据传送设备标志触发设备标志触发器为器为done”done”?是是( (a)a)( (b)b) 北北 京京 林林 业业 大大 学学 信信 息息 学学 院院 2)2)中断方式中断方式 为了解决为了解决程序控制程序控制I/OI/O方法方法的主要问题的主要问题 应该让应该让处理器从轮询任务处理器
5、从轮询任务中解放出来中解放出来 使使I/OI/O操作和指令执行操作和指令执行并行并行起来起来 具体作法:具体作法: 当当I/OI/O处理单元准备好与设备交互的时候处理单元准备好与设备交互的时候 通过物理信号通知处理器,即通过物理信号通知处理器,即中断处理器中断处理器 北北 京京 林林 业业 大大 学学 信信 息息 学学 院院 I/OI/O控制器控制器1 1I/OI/O控制器控制器n nI/OI/O设备设备1 1I/OI/O设备设备n n地址线地址线数据线数据线控制线控制线intintCPUCPU内存内存startstart启动位启动位中断位中断位信号线信号线控制状态寄存器控制状态寄存器数据缓冲
6、寄存器数据缓冲寄存器 北北 京京 林林 业业 大大 学学 信信 息息 学学 院院 中断控制方式的处理过程中断控制方式的处理过程接收到接收到CPUCPU发来的发来的startstart指令指令准备数据并将其准备数据并将其置入缓冲寄存器置入缓冲寄存器缓冲寄存器满吗?缓冲寄存器满吗?控制器发中断信号控制器发中断信号向设备发向设备发startstart指令指令将中断允许位置将中断允许位置1 1调度程序调度其调度程序调度其他进程他进程其他进程执行其他进程执行收到中断信号了吗?收到中断信号了吗?中断处理中断处理被中断进程执行被中断进程执行否否否否是是设备设备CPUCPU 北北 京京 林林 业业 大大 学学
7、 信信 息息 学学 院院 3)DMA方式DMADMA方式下的数据传输方式下的数据传输 CPU内存内存计数计数系统总线系统总线内存地址内存地址计数计数磁盘磁盘控制器控制器驱动器驱动器缓冲器缓冲器DMA寄存器寄存器 北北 京京 林林 业业 大大 学学 信信 息息 学学 院院 北北 京京 林林 业业 大大 学学 信信 息息 学学 院院 DMADMA方式方式否否CPUCPU发发startstart命令命令内存地址内存地址 内存始址寄存器内存始址寄存器传送字节数传送字节数字节计数器字节计数器允许中断位与启动位置允许中断位与启动位置1 1当前进程被阻塞,当前进程被阻塞,调度程序调度其他进程运行调度程序调度
8、其他进程运行被调度的进程执行被调度的进程执行接收到中断接收到中断信号吗?信号吗?是是转中断处理转中断处理设备设备启动设备准备数据启动设备准备数据DMADMA控制器接收到控制器接收到startstart指令指令缓冲寄存器内容入内存缓冲寄存器内容入内存改变传送字节数计数器改变传送字节数计数器与内存地址寄存器内容与内存地址寄存器内容否否传送字节数传送字节数0 0?吗?吗?数据入数据缓冲寄存器数据入数据缓冲寄存器发中断信号发中断信号停止停止I/OI/O操作操作是是 北北 京京 林林 业业 大大 学学 信信 息息 学学 院院 DMA方式与中断的主要区别n中断方式中断方式是在数据缓冲寄存区满后,发中断请求
9、,是在数据缓冲寄存区满后,发中断请求,CPUCPU进行中断处理进行中断处理 DMADMA方式方式则是在所要求传送的数据块全部传送结束则是在所要求传送的数据块全部传送结束时要求时要求CPUCPU进行中断处理进行中断处理 大大减少了大大减少了CPUCPU进行中断处理的次数进行中断处理的次数n中断方式中断方式的数据传送是由的数据传送是由CPUCPU控制完成的控制完成的 DMADMA方式方式则是在则是在DMADMA控制器的控制下不经过控制器的控制下不经过CPUCPU控制控制完成的完成的 北北 京京 林林 业业 大大 学学 信信 息息 学学 院院 通道相当于一个通道相当于一个功能简单的处理机功能简单的处
10、理机,包含通道,包含通道指令(空操作,读操作,写操作,控制,转移指令(空操作,读操作,写操作,控制,转移操作),并可执行用这些指令编写的通道程序操作),并可执行用这些指令编写的通道程序n通道运算控制部件通道运算控制部件通道地址字通道地址字 CAWCAW: 记录通道程序在内存中的地址记录通道程序在内存中的地址通道命令字通道命令字 CCWCCW: 保存正在执行的通道指令保存正在执行的通道指令通道状态字通道状态字 CSWCSW: 存放通道执行后的返回结果存放通道执行后的返回结果通道数据字通道数据字 CDWCDW:存放传输数据存放传输数据 通道和通道和CPUCPU共用内存,通过周期窃取方式取得共用内存
11、,通过周期窃取方式取得4)通道 北北 京京 林林 业业 大大 学学 信信 息息 学学 院院 n通道命令及格式通道命令及格式 用于用于I/OI/O操作的命令主要有两种:操作的命令主要有两种:1.1. I/OI/O指令:指令:启动通道程序启动通道程序2.2. 通道命令:通道命令:对对I/OI/O操作进行控制操作进行控制1)1)读、反读、写、测试设备状态的读、反读、写、测试设备状态的数据传输命令数据传输命令2)2)用于用于设备控制的命令设备控制的命令(磁带反绕、换页)(磁带反绕、换页)3)3)实现通道程序内部控制的实现通道程序内部控制的转移命令转移命令 北北 京京 林林 业业 大大 学学 信信 息息