《[精选]操作系统设备管理5297.pptx》由会员分享,可在线阅读,更多相关《[精选]操作系统设备管理5297.pptx(57页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第七章 I/OI/O设备管理7.1 I/O设备设备7.2 数据传送控制方式数据传送控制方式7.3 设备分配设备分配7.4 缓冲管理缓冲管理7.5 I/O处理过程处理过程7.1 I/O设备设备l OS OS设备管理中的设备指外部设备,包括输入设备管理中的设备指外部设备,包括输入设备管理中的设备指外部设备,包括输入设备管理中的设备指外部设备,包括输入设备与输出设备,即设备与输出设备,即设备与输出设备,即设备与输出设备,即除主机(除主机(除主机(除主机(CPU+CPU+内存)之外内存)之外内存)之外内存)之外的所有设备的所有设备的所有设备的所有设备。l I/O I/O性能经常成为整个系统性能的瓶颈,
2、性能经常成为整个系统性能的瓶颈,性能经常成为整个系统性能的瓶颈,性能经常成为整个系统性能的瓶颈,CPUCPU性能并不等于系统性能,性能并不等于系统性能,性能并不等于系统性能,性能并不等于系统性能,CPUCPU性能越高,与性能越高,与性能越高,与性能越高,与I/OI/O差距越大。差距越大。差距越大。差距越大。l OS OS庞大复杂的原因之一就是外设资源多而杂,庞大复杂的原因之一就是外设资源多而杂,庞大复杂的原因之一就是外设资源多而杂,庞大复杂的原因之一就是外设资源多而杂,种类繁多,结构各异,种类繁多,结构各异,种类繁多,结构各异,种类繁多,结构各异,I/OI/O数据信号类型不同,数据信号类型不同
3、,数据信号类型不同,数据信号类型不同,速度差异很大。速度差异很大。速度差异很大。速度差异很大。7.1 I/O设备设备l l在多道程序环境中,设备管理把着眼点放在:在多道程序环境中,设备管理把着眼点放在:在多道程序环境中,设备管理把着眼点放在:在多道程序环境中,设备管理把着眼点放在:l l设备的有效使用设备的有效使用设备的有效使用设备的有效使用l l设备和设备和设备和设备和CPUCPUCPUCPU的并行工作的并行工作的并行工作的并行工作l l让用户方便使用设备让用户方便使用设备让用户方便使用设备让用户方便使用设备一、计算机设备的分类7.1 I/O设备设备基于设备的工作特性:基于设备的工作特性:基
4、于设备的工作特性:基于设备的工作特性:l l 外部存储设备外部存储设备外部存储设备外部存储设备(长期保存信息,可随时访问,如(长期保存信息,可随时访问,如(长期保存信息,可随时访问,如(长期保存信息,可随时访问,如磁盘、磁带)磁盘、磁带)磁盘、磁带)磁盘、磁带)l l 输入输入输入输入/输出设备输出设备输出设备输出设备(字符设备,以单个字符为单位(字符设备,以单个字符为单位(字符设备,以单个字符为单位(字符设备,以单个字符为单位存储、传输信息,如显示器、键盘、打印机等)存储、传输信息,如显示器、键盘、打印机等)存储、传输信息,如显示器、键盘、打印机等)存储、传输信息,如显示器、键盘、打印机等)
5、7.1 I/O设备设备基于设备的从属关系:基于设备的从属关系:基于设备的从属关系:基于设备的从属关系:系统设备系统设备系统设备系统设备(一般是标准设备)(一般是标准设备)(一般是标准设备)(一般是标准设备)(OSOSOSOS生成时生成时生成时生成时就配置在系统中的标准设备,如:键盘、鼠标、就配置在系统中的标准设备,如:键盘、鼠标、就配置在系统中的标准设备,如:键盘、鼠标、就配置在系统中的标准设备,如:键盘、鼠标、显示器、终端、打印机等)显示器、终端、打印机等)显示器、终端、打印机等)显示器、终端、打印机等)用户设备用户设备用户设备用户设备(一般为非标准设备)(设备的(一般为非标准设备)(设备的
6、(一般为非标准设备)(设备的(一般为非标准设备)(设备的处理程序由用户提供,需另外安装,如:扫描处理程序由用户提供,需另外安装,如:扫描处理程序由用户提供,需另外安装,如:扫描处理程序由用户提供,需另外安装,如:扫描仪、仪、仪、仪、A-D/D-AA-D/D-AA-D/D-AA-D/D-A转换设备等)转换设备等)转换设备等)转换设备等)7.1 I/O设备设备基于设备的分配特性:基于设备的分配特性:基于设备的分配特性:基于设备的分配特性:独享设备独享设备独享设备独享设备(使用具有排它性,低速(使用具有排它性,低速(使用具有排它性,低速(使用具有排它性,低速I/OI/OI/OI/O设备)设备)设备)
7、设备)共享设备共享设备共享设备共享设备(可由多个用户程序交替使用,如(可由多个用户程序交替使用,如(可由多个用户程序交替使用,如(可由多个用户程序交替使用,如硬盘)硬盘)硬盘)硬盘)虚拟设备虚拟设备虚拟设备虚拟设备 (模拟独占设备为共享设备模拟独占设备为共享设备模拟独占设备为共享设备模拟独占设备为共享设备,即将即将即将即将慢速的独占设备经软件技术改造成为多个进程可慢速的独占设备经软件技术改造成为多个进程可慢速的独占设备经软件技术改造成为多个进程可慢速的独占设备经软件技术改造成为多个进程可以共享的设备以共享的设备以共享的设备以共享的设备,典型如,典型如,典型如,典型如SPOOLingSPOOLi
8、ngSPOOLingSPOOLing技术技术技术技术 )7.1 I/O设备设备基于信息组织和处理的方式:基于信息组织和处理的方式:基于信息组织和处理的方式:基于信息组织和处理的方式:字符设备字符设备字符设备字符设备(信息以字符为单位来组织和(信息以字符为单位来组织和(信息以字符为单位来组织和(信息以字符为单位来组织和分配的;系统中大部分均属此类,如打印机、分配的;系统中大部分均属此类,如打印机、分配的;系统中大部分均属此类,如打印机、分配的;系统中大部分均属此类,如打印机、键盘、显示器等;特点是速度慢,也称慢速键盘、显示器等;特点是速度慢,也称慢速键盘、显示器等;特点是速度慢,也称慢速键盘、显
9、示器等;特点是速度慢,也称慢速设备)设备)设备)设备)块设备块设备块设备块设备(信息以块为单位来组织和分配(信息以块为单位来组织和分配(信息以块为单位来组织和分配(信息以块为单位来组织和分配的;如磁盘、磁带等;特点是速度快,也称的;如磁盘、磁带等;特点是速度快,也称的;如磁盘、磁带等;特点是速度快,也称的;如磁盘、磁带等;特点是速度快,也称快速设备)快速设备)快速设备)快速设备)二、设备管理的目标与功能7.1 I/O设备设备1.1.1.1.设备管理目标:设备管理目标:设备管理目标:设备管理目标:qq提高系统资源利用率提高系统资源利用率提高系统资源利用率提高系统资源利用率l l 多道程序环境下,
10、资源数总是少于进程数。多道程序环境下,资源数总是少于进程数。多道程序环境下,资源数总是少于进程数。多道程序环境下,资源数总是少于进程数。l l 需合理分配设备资源,并使外设与外设、外设与需合理分配设备资源,并使外设与外设、外设与需合理分配设备资源,并使外设与外设、外设与需合理分配设备资源,并使外设与外设、外设与CPUCPUCPUCPU并并并并行工作,使设备尽可能处于忙碌状态。行工作,使设备尽可能处于忙碌状态。行工作,使设备尽可能处于忙碌状态。行工作,使设备尽可能处于忙碌状态。qq 方便用户使用方便用户使用方便用户使用方便用户使用l l 对于各种各样的外设,为用户提供便利、统一的使用界面。对于各
11、种各样的外设,为用户提供便利、统一的使用界面。对于各种各样的外设,为用户提供便利、统一的使用界面。对于各种各样的外设,为用户提供便利、统一的使用界面。l l OSOSOSOS把各种外设的物理特性隐藏起来,把各种外设的具体把各种外设的物理特性隐藏起来,把各种外设的具体把各种外设的物理特性隐藏起来,把各种外设的具体把各种外设的物理特性隐藏起来,把各种外设的具体操作方式隐藏起来,由操作方式隐藏起来,由操作方式隐藏起来,由操作方式隐藏起来,由OSOSOSOS面对;面对;面对;面对;l l 而让用户面对的是使用方便的设备,这样就可使用户摆脱而让用户面对的是使用方便的设备,这样就可使用户摆脱而让用户面对的
12、是使用方便的设备,这样就可使用户摆脱而让用户面对的是使用方便的设备,这样就可使用户摆脱繁琐的编程负担。繁琐的编程负担。繁琐的编程负担。繁琐的编程负担。7.1 I/O设备设备2.2.2.2.设备管理的功能:设备管理的功能:设备管理的功能:设备管理的功能:qq提供用户接口:提供用户接口:提供用户接口:提供用户接口:提供一组提供一组提供一组提供一组I/OI/OI/OI/O命令,即用户使用外设的接命令,即用户使用外设的接命令,即用户使用外设的接命令,即用户使用外设的接口,用户在程序中通过这些命令使用外设。口,用户在程序中通过这些命令使用外设。口,用户在程序中通过这些命令使用外设。口,用户在程序中通过这
13、些命令使用外设。qq进行设备的分配与回收:进行设备的分配与回收:进行设备的分配与回收:进行设备的分配与回收:OSOSOSOS中中中中I/OI/OI/OI/O管理程序负责接受用管理程序负责接受用管理程序负责接受用管理程序负责接受用户使用外设的请求、分配设备、回收设备。户使用外设的请求、分配设备、回收设备。户使用外设的请求、分配设备、回收设备。户使用外设的请求、分配设备、回收设备。qq实现真正的实现真正的实现真正的实现真正的I/OI/OI/OI/O操作:操作:操作:操作:OSOSOSOS依据用户的请求,通过具体的依据用户的请求,通过具体的依据用户的请求,通过具体的依据用户的请求,通过具体的设备驱动
14、程序,启动外设,进行实际的设备驱动程序,启动外设,进行实际的设备驱动程序,启动外设,进行实际的设备驱动程序,启动外设,进行实际的I/OI/OI/OI/O操作;操作完毕操作;操作完毕操作;操作完毕操作;操作完毕就通知用户进程,由设备中断服务程序完成善后工作。就通知用户进程,由设备中断服务程序完成善后工作。就通知用户进程,由设备中断服务程序完成善后工作。就通知用户进程,由设备中断服务程序完成善后工作。qq其它功能:其它功能:其它功能:其它功能:管理缓冲区,管理缓冲区,管理缓冲区,管理缓冲区,CPUCPUCPUCPU与与与与I/OI/OI/OI/O设备通过缓冲区传送设备通过缓冲区传送设备通过缓冲区传
15、送设备通过缓冲区传送数据,以解决高速数据,以解决高速数据,以解决高速数据,以解决高速CPUCPUCPUCPU与慢速外设之间矛盾。与慢速外设之间矛盾。与慢速外设之间矛盾。与慢速外设之间矛盾。OSOSOSOS有专门软有专门软有专门软有专门软件管理缓冲区的分配与回收。件管理缓冲区的分配与回收。件管理缓冲区的分配与回收。件管理缓冲区的分配与回收。7.2 数据传送控制方式数据传送控制方式计算机系统的输入计算机系统的输入/输出,输出,实质是进行数据实质是进行数据的输入的输入/输出输出,即数据的传输。,即数据的传输。数据传输:数据传输:I/OI/O设备设备内存内存 I/OI/O设备设备CPUCPUl l数据
16、传输方式有四种:数据传输方式有四种:l l程序直接控制方式程序直接控制方式l l中断控制方式中断控制方式l lDMADMA方式方式l l通道控制方式通道控制方式7.2 数据传送控制方式数据传送控制方式一、设备控制器 l l I/OI/OI/OI/O设备一般由机械部分与电子部分构成,把设备一般由机械部分与电子部分构成,把设备一般由机械部分与电子部分构成,把设备一般由机械部分与电子部分构成,把这两部分分开处理,通过接插件、电缆相连。这两部分分开处理,通过接插件、电缆相连。这两部分分开处理,通过接插件、电缆相连。这两部分分开处理,通过接插件、电缆相连。l l机械部分机械部分机械部分机械部分即设备本身
17、即设备本身即设备本身即设备本身l l电子部分电子部分电子部分电子部分即即即即设备控制器设备控制器设备控制器设备控制器(适配器、接口卡)(适配器、接口卡)(适配器、接口卡)(适配器、接口卡)l l 每种每种每种每种I/OI/OI/OI/O设备都要通过设备控制器与设备都要通过设备控制器与设备都要通过设备控制器与设备都要通过设备控制器与CPUCPUCPUCPU相相相相连连连连。l l 设备控制器是设备控制器是设备控制器是设备控制器是CPUCPUCPUCPU与与与与I/OI/OI/OI/O设备间的接口,处设备间的接口,处设备间的接口,处设备间的接口,处于于于于CPUCPUCPUCPU与外设之间。与外设
18、之间。与外设之间。与外设之间。7.2 数据传送控制方式数据传送控制方式系统总线系统总线系统总线系统总线CPUCPU内存内存内存内存磁盘控制器磁盘控制器磁盘控制器磁盘控制器打印机控制器打印机控制器打印机控制器打印机控制器HDHD打印机打印机打印机打印机微机的微机的微机的微机的I/OI/O设备通过总线与设备通过总线与设备通过总线与设备通过总线与CPUCPU连接连接连接连接设备控制器设备控制器7.2 数据传送控制方式数据传送控制方式l l设备控制器通过自己内部的寄存器与设备控制器通过自己内部的寄存器与设备控制器通过自己内部的寄存器与设备控制器通过自己内部的寄存器与CPUCPUCPUCPU通信通信通信
19、通信l l数据寄存器数据寄存器数据寄存器数据寄存器 数据传输的缓冲数据传输的缓冲数据传输的缓冲数据传输的缓冲l l状态寄存器状态寄存器状态寄存器状态寄存器 存放外设的状态,供存放外设的状态,供存放外设的状态,供存放外设的状态,供CPUCPUCPUCPU测试测试测试测试l l控制寄存器控制寄存器控制寄存器控制寄存器 存放存放存放存放CPUCPUCPUCPU发出的操作命令与参数发出的操作命令与参数发出的操作命令与参数发出的操作命令与参数l lOSOSOSOS把命令以及参数写入控制寄存器,外设据此把命令以及参数写入控制寄存器,外设据此把命令以及参数写入控制寄存器,外设据此把命令以及参数写入控制寄存器
20、,外设据此实现实现实现实现I/OI/OI/OI/Ol l设备控制器接受命令后,就独立于设备控制器接受命令后,就独立于设备控制器接受命令后,就独立于设备控制器接受命令后,就独立于CPUCPUCPUCPU去完成去完成去完成去完成命令指定的任务。命令指定的任务。命令指定的任务。命令指定的任务。7.2 数据传送控制方式数据传送控制方式l l 外设接受了外设接受了外设接受了外设接受了CPUCPUCPUCPU的的的的I/OI/OI/OI/O命令,随后即独立于命令,随后即独立于命令,随后即独立于命令,随后即独立于CPUCPUCPUCPU进行进行进行进行I/OI/OI/OI/O操作,这时操作,这时操作,这时操
21、作,这时外设与外设与外设与外设与CPUCPUCPUCPU并行并行并行并行,即在外设,即在外设,即在外设,即在外设I/OI/OI/OI/O的同时,的同时,的同时,的同时,CPUCPUCPUCPU在运行其它进程。在运行其它进程。在运行其它进程。在运行其它进程。l l 外设完成所要求的外设完成所要求的外设完成所要求的外设完成所要求的I/OI/OI/OI/O任务后,要通知任务后,要通知任务后,要通知任务后,要通知CPUCPUCPUCPU。l l 早期采用早期采用早期采用早期采用“被动式被动式被动式被动式”,控制器设置一个完成标志,控制器设置一个完成标志,控制器设置一个完成标志,控制器设置一个完成标志,
22、等待等待等待等待CPUCPUCPUCPU来查询,即来查询,即来查询,即来查询,即程序直接控制程序直接控制程序直接控制程序直接控制方式。方式。方式。方式。l l 现在采用现在采用现在采用现在采用“主动式主动式主动式主动式”,即通过中断方式主动通知,即通过中断方式主动通知,即通过中断方式主动通知,即通过中断方式主动通知CPUCPUCPUCPU,让,让,让,让CPUCPUCPUCPU来进行处理,即来进行处理,即来进行处理,即来进行处理,即中断控制中断控制中断控制中断控制方式。方式。方式。方式。l l 直接存储器存取直接存储器存取直接存储器存取直接存储器存取方式(方式(方式(方式(DMADMADMAD
23、MA)和)和)和)和通道控制通道控制通道控制通道控制方式也方式也方式也方式也是基于中断的主动型的数据传输控制方式。是基于中断的主动型的数据传输控制方式。是基于中断的主动型的数据传输控制方式。是基于中断的主动型的数据传输控制方式。7.2 数据传送控制方式数据传送控制方式二、程序直接控制方式向控制器发读命令向控制器发读命令向控制器发读命令向控制器发读命令读控制器状态读控制器状态读控制器状态读控制器状态检查状态检查状态检查状态检查状态从控制器中读入字从控制器中读入字从控制器中读入字从控制器中读入字向存储器中写字向存储器中写字向存储器中写字向存储器中写字传送完成?传送完成?传送完成?传送完成?出错出错
24、出错出错未就绪未就绪未就绪未就绪未完成未完成未完成未完成完成完成完成完成下条指令下条指令下条指令下条指令CPUI/OCPUI/OI/OCPUI/OCPUI/OCPUI/OCPUCPUCPU内存内存内存内存就绪就绪就绪就绪以读为例,以读为例,以读为例,以读为例,说明程序直说明程序直说明程序直说明程序直接控制接控制接控制接控制I/OI/OI/OI/O方式方式方式方式7.2 数据传送控制方式数据传送控制方式评价:评价:评价:评价:l l在程序在程序在程序在程序I/OI/OI/OI/O方式中,由于方式中,由于方式中,由于方式中,由于CPUCPUCPUCPU的高速与的高速与的高速与的高速与I/OI/OI
25、/OI/O设备的设备的设备的设备的低速,使得低速,使得低速,使得低速,使得CPUCPUCPUCPU绝大部分时间,都处于等待外设绝大部分时间,都处于等待外设绝大部分时间,都处于等待外设绝大部分时间,都处于等待外设完成数据完成数据完成数据完成数据I/OI/OI/OI/O的循环测试之中,造成的循环测试之中,造成的循环测试之中,造成的循环测试之中,造成CPUCPUCPUCPU的极大浪的极大浪的极大浪的极大浪费。费。费。费。l l此外,此外,此外,此外,CPUCPUCPUCPU与与与与I/OI/OI/OI/O设备只能串行工作,整个计算设备只能串行工作,整个计算设备只能串行工作,整个计算设备只能串行工作,
26、整个计算机系统效率低下。机系统效率低下。机系统效率低下。机系统效率低下。7.2 数据传送控制方式数据传送控制方式三、中断方式以读为例,以读为例,以读为例,以读为例,说明中断控说明中断控说明中断控说明中断控制制制制I/OI/OI/OI/O方式方式方式方式向控制器发读命令向控制器发读命令向控制器发读命令向控制器发读命令读控制器状态读控制器状态读控制器状态读控制器状态检查状态检查状态检查状态检查状态从控制器中读入字从控制器中读入字从控制器中读入字从控制器中读入字向内存中写字向内存中写字向内存中写字向内存中写字传送完成?传送完成?传送完成?传送完成?出错出错出错出错未完成未完成未完成未完成完成完成完成
27、完成下条指令下条指令下条指令下条指令CPUI/OCPUI/OI/OCPUI/OCPUI/OCPUI/OCPUCPUCPU内存内存内存内存就绪就绪就绪就绪CPUCPU做其它事做其它事做其它事做其它事中断完成信号中断完成信号中断完成信号中断完成信号7.2 数据传送控制方式数据传送控制方式中断方式说明:中断方式说明:中断方式说明:中断方式说明:1.1.1.1.某一进程处于执行状态,通过某一进程处于执行状态,通过某一进程处于执行状态,通过某一进程处于执行状态,通过CPUCPUCPUCPU向外设控制器发出向外设控制器发出向外设控制器发出向外设控制器发出I/OI/OI/OI/O指令;指令;指令;指令;该进
28、程随即阻塞,等待该进程随即阻塞,等待该进程随即阻塞,等待该进程随即阻塞,等待I/OI/OI/OI/O完成;完成;完成;完成;OSOSOSOS立即将立即将立即将立即将CPUCPUCPUCPU调度给其它进程使用;调度给其它进程使用;调度给其它进程使用;调度给其它进程使用;而外设控制器得到指令后,就独立于而外设控制器得到指令后,就独立于而外设控制器得到指令后,就独立于而外设控制器得到指令后,就独立于CPUCPUCPUCPU进行指令规定的操作;进行指令规定的操作;进行指令规定的操作;进行指令规定的操作;如此,如此,如此,如此,CPUCPUCPUCPU与与与与I/OI/OI/OI/O并行工作。并行工作。
29、并行工作。并行工作。2.2.2.2.当外设当外设当外设当外设I/OI/OI/OI/O操作完成,设备控制器立即向操作完成,设备控制器立即向操作完成,设备控制器立即向操作完成,设备控制器立即向CPUCPUCPUCPU发中断完成信号;发中断完成信号;发中断完成信号;发中断完成信号;CPUCPUCPUCPU接到信号响应该中断,立即转中断处理程序;接到信号响应该中断,立即转中断处理程序;接到信号响应该中断,立即转中断处理程序;接到信号响应该中断,立即转中断处理程序;由中断处理程序把数据从设备控制器传送到内存。由中断处理程序把数据从设备控制器传送到内存。由中断处理程序把数据从设备控制器传送到内存。由中断处
30、理程序把数据从设备控制器传送到内存。3.3.3.3.被阻塞进程在被阻塞进程在被阻塞进程在被阻塞进程在I/OI/OI/OI/O完成后,状态即转变为就绪,等待完成后,状态即转变为就绪,等待完成后,状态即转变为就绪,等待完成后,状态即转变为就绪,等待OSOSOSOS调度,调度,调度,调度,以执行余下的程序。以执行余下的程序。以执行余下的程序。以执行余下的程序。7.2 数据传送控制方式数据传送控制方式四、直接存储器存取方式l l以上介绍的程序控制方式和中断方式,主机与以上介绍的程序控制方式和中断方式,主机与以上介绍的程序控制方式和中断方式,主机与以上介绍的程序控制方式和中断方式,主机与外设进行的数据传
31、送都是外设进行的数据传送都是外设进行的数据传送都是外设进行的数据传送都是以以以以CPUCPU为中心为中心为中心为中心组织的。组织的。组织的。组织的。CPUCPUI/OI/O设备设备设备设备内存内存内存内存DMADMA(Direct Memory AccessDirect Memory Access)DMADMA方方方方式式式式在在在在外外外外设设设设与与与与内内内内存存存存之之之之间间间间开开开开辟辟辟辟了了了了直直直直接接接接交交交交换换换换数数数数据的通路据的通路据的通路据的通路,使用于磁盘等高速,使用于磁盘等高速,使用于磁盘等高速,使用于磁盘等高速I/OI/O设备。设备。设备。设备。在在
32、在在DMADMA控控控控制制制制器器器器的的的的控控控控制制制制下下下下,内内内内存存存存和和和和硬硬硬硬盘盘盘盘直直直直接接接接进进进进行行行行成成成成批批批批数数数数据据据据的的的的快快快快速速速速传传传传送送送送,不不不不需需需需要要要要CPUCPU的的的的加加加加入入入入。形形形形成成成成了了了了以内存为中心以内存为中心以内存为中心以内存为中心组织的数据传送。组织的数据传送。组织的数据传送。组织的数据传送。内存内存内存内存CPUCPUI/OI/O设备设备设备设备7.2 数据传送控制方式数据传送控制方式DMADMADMADMA传输数据步骤:传输数据步骤:传输数据步骤:传输数据步骤:1.1
33、.1.1.一进程请求设备一进程请求设备一进程请求设备一进程请求设备I/OI/OI/OI/O,CPUCPUCPUCPU做如下事:做如下事:做如下事:做如下事:内存起始地址内存起始地址内存起始地址内存起始地址DMADMADMADMA控制器的地址寄存器控制器的地址寄存器控制器的地址寄存器控制器的地址寄存器 传输字节数传输字节数传输字节数传输字节数 DMADMADMADMA控制器的字节计数器控制器的字节计数器控制器的字节计数器控制器的字节计数器 启动启动启动启动DMADMADMADMA控制器控制器控制器控制器2.2.2.2.该进程阻塞,等待该进程阻塞,等待该进程阻塞,等待该进程阻塞,等待I/OI/OI
34、/OI/O完成完成完成完成3.DMA3.DMA3.DMA3.DMA与内存进行数据传输,成批数据传送由字节计与内存进行数据传输,成批数据传送由字节计与内存进行数据传输,成批数据传送由字节计与内存进行数据传输,成批数据传送由字节计数器计算控制数器计算控制数器计算控制数器计算控制4.4.4.4.传输完,向传输完,向传输完,向传输完,向CPUCPUCPUCPU发中断完成信号发中断完成信号发中断完成信号发中断完成信号5.CPU5.CPU5.CPU5.CPU接受接受接受接受DMADMADMADMA中断请求,转中断处理程序中断请求,转中断处理程序中断请求,转中断处理程序中断请求,转中断处理程序6.6.6.6
35、.数据传送完成,唤醒被阻塞进程数据传送完成,唤醒被阻塞进程数据传送完成,唤醒被阻塞进程数据传送完成,唤醒被阻塞进程7.2 数据传送控制方式数据传送控制方式7.2 数据传送控制方式数据传送控制方式五、通道方式l l通道介绍:通道介绍:通道介绍:通道介绍:l l独立于独立于独立于独立于CPUCPUCPUCPU、专门用作、专门用作、专门用作、专门用作管理管理管理管理I/OI/OI/OI/O的处理机的处理机的处理机的处理机,控制,控制,控制,控制设备与内存直接进行数据交换设备与内存直接进行数据交换设备与内存直接进行数据交换设备与内存直接进行数据交换l l通道有自己的通道有自己的通道有自己的通道有自己的
36、指令系统指令系统指令系统指令系统,数量不多,仅涉及读、,数量不多,仅涉及读、,数量不多,仅涉及读、,数量不多,仅涉及读、写、查询、控制等功能;用以编写写、查询、控制等功能;用以编写写、查询、控制等功能;用以编写写、查询、控制等功能;用以编写通道程序通道程序通道程序通道程序l l采用通道的系统中,主机与通道相连,通道与设采用通道的系统中,主机与通道相连,通道与设采用通道的系统中,主机与通道相连,通道与设采用通道的系统中,主机与通道相连,通道与设备控制器相连,设备控制器与设备相连备控制器相连,设备控制器与设备相连备控制器相连,设备控制器与设备相连备控制器相连,设备控制器与设备相连7.2 数据传送控
37、制方式数据传送控制方式CPUCPU通道通道通道通道设备控制设备控制设备控制设备控制器器器器设备控制设备控制设备控制设备控制器器器器设备设备设备设备设备设备设备设备设备设备设备设备设备设备设备设备7.2 数据传送控制方式数据传送控制方式l l通道方式工作步骤:通道方式工作步骤:1.1.1.1.一进程提出一进程提出I/OI/O请求,请求,CPUCPU把数据传输任务把数据传输任务交给通道(指明操作方向、设备号、通道交给通道(指明操作方向、设备号、通道号)号)2.2.2.2.该进程阻塞,该进程阻塞,CPUCPU随即被调度给其它进程随即被调度给其它进程3.3.3.3.通道按通道按CPUCPU发来的启动命
38、令,调用通道程发来的启动命令,调用通道程序执行(这时通道与序执行(这时通道与CPUCPU并行工作),外并行工作),外设在通道程序的规定下,与内存交换数据设在通道程序的规定下,与内存交换数据4.4.4.4.数据传输完毕,通道向数据传输完毕,通道向CPUCPU发中断请求发中断请求5.5.5.5.CPUCPU响应中断,转中断处理程序,对响应中断,转中断处理程序,对I/OI/O作作善后处理,唤醒被阻塞的进程成就绪态。善后处理,唤醒被阻塞的进程成就绪态。7.3 设备分配设备分配l l在在OSOS的统一管理下,用户进程使用设备,的统一管理下,用户进程使用设备,须先提出须先提出I/OI/O请求,由请求,由O
39、SOS的设备管理程序进的设备管理程序进行分配。行分配。l l设备分配与下列因素有关:设备分配与下列因素有关:l l设备属性设备属性l l系统采用的分配算法系统采用的分配算法l l与设备无关性原则与设备无关性原则l l设备分配的安全性设备分配的安全性7.3 设备分配设备分配一、设备属性和设备分配方法1.1.独占设备:使用上具有排它性的设备,如打独占设备:使用上具有排它性的设备,如打印机。印机。分配策略:系统一旦将该类设备分配给指定分配策略:系统一旦将该类设备分配给指定进程,就由它独占使用,直到用毕释放。进程,就由它独占使用,直到用毕释放。2.2.共享设备:如磁盘,这类设备可由多个进程共享设备:如
40、磁盘,这类设备可由多个进程同时使用,每个进程只用其中一部分,在时同时使用,每个进程只用其中一部分,在时间上则是交叉对设备进行存取访问。间上则是交叉对设备进行存取访问。系统对共享设备不进行分配,而是对这一类系统对共享设备不进行分配,而是对这一类的的I/OI/O请求进行调度。请求进行调度。7.3 设备分配设备分配3.3.虚拟设备:在大容量磁盘的支持下,用软虚拟设备:在大容量磁盘的支持下,用软件技术对独占设备进行改造,使得用户在件技术对独占设备进行改造,使得用户在使用独占设备时,感觉上认为不用同其它使用独占设备时,感觉上认为不用同其它进程竞争,便可方便地获得独占设备。进程竞争,便可方便地获得独占设备
41、。SpoolingSpooling技术就是一个典型的实现虚拟设技术就是一个典型的实现虚拟设备的系统。备的系统。7.3 设备分配设备分配二、Spooling技术基本思想:基本思想:l l一些低速字符设备都是独享设备,其使一些低速字符设备都是独享设备,其使用具有排它性,不利于多道程序并行工作,用具有排它性,不利于多道程序并行工作,影响系统效率。影响系统效率。l lOSOS以大容量的共享设备以大容量的共享设备磁盘为依托,磁盘为依托,用软件技术来改造独享设备,使用户在感用软件技术来改造独享设备,使用户在感觉上认为他们使用的是共享设备。觉上认为他们使用的是共享设备。7.3 设备分配设备分配SPOOLin
42、gSPOOLing系统由系统由3 3部分组成部分组成:l l输入井输入井与与输出井输出井l l 硬盘上硬盘上2 2大存储空间大存储空间l l 输入井:用于收容输入井:用于收容I/OI/O设备的输入数据设备的输入数据l l 输出井:用于收容用户程序的输出数据输出井:用于收容用户程序的输出数据l l输入缓冲区输入缓冲区与与输出缓冲区输出缓冲区l l 内存中开辟的内存中开辟的2 2个缓冲区个缓冲区l l 输入缓冲区:用于暂存由输入设备送来的输入缓冲区:用于暂存由输入设备送来的数据,以后再传送输入井数据,以后再传送输入井l l 输出缓冲区:用于暂存由输出井送来的数输出缓冲区:用于暂存由输出井送来的数据
43、,以后再传送输出设备据,以后再传送输出设备7.3 设备分配设备分配qq预输入程序预输入程序预输入程序预输入程序与与与与缓输出程序缓输出程序缓输出程序缓输出程序 预输入进程预输入进程预输入进程预输入进程 将用户要求的输入数据,将用户要求的输入数据,将用户要求的输入数据,将用户要求的输入数据,从输入设备从输入设备从输入设备从输入设备输入缓冲区输入缓冲区输入缓冲区输入缓冲区输入井,输入井,输入井,输入井,当当当当CPUCPUCPUCPU需要输入数据时,直接从输入井读入内需要输入数据时,直接从输入井读入内需要输入数据时,直接从输入井读入内需要输入数据时,直接从输入井读入内存。存。存。存。缓输出进程缓输
44、出进程缓输出进程缓输出进程 将用户要求输出的数据,从内存将用户要求输出的数据,从内存将用户要求输出的数据,从内存将用户要求输出的数据,从内存 输出井输出井输出井输出井输输输输出缓冲区(当输出设备空闲时)出缓冲区(当输出设备空闲时)出缓冲区(当输出设备空闲时)出缓冲区(当输出设备空闲时)输出设备。输出设备。输出设备。输出设备。7.3 设备分配设备分配输入井输入井输入井输入井输出井输出井输出井输出井输出设备输出设备输出设备输出设备SPOOLing系统工作示意系统工作示意磁盘磁盘磁盘磁盘输入设备输入设备输入设备输入设备预输入进程预输入进程预输入进程预输入进程输出缓冲区输出缓冲区输出缓冲区输出缓冲区缓
45、输出进程缓输出进程缓输出进程缓输出进程输入缓冲区输入缓冲区输入缓冲区输入缓冲区内存内存内存内存7.3 设备分配设备分配qq系统对用户请求的处理系统对用户请求的处理当用户请求打印输出时,当用户请求打印输出时,SPOOLing系统中输出系统中输出进程做如下进程做如下2件事:件事:A)在输出井申请一空闲盘块区在输出井申请一空闲盘块区 将要打印的数据送入其中将要打印的数据送入其中B)为用户申请空白的用户请求打印表为用户申请空白的用户请求打印表 将用户的打印请求填入表中将用户的打印请求填入表中 把该表挂到请求打印队列上。把该表挂到请求打印队列上。如还有其它进程提出打印请求,系统一概接受请如还有其它进程提
46、出打印请求,系统一概接受请求,同样做上述求,同样做上述2件事。件事。以共享打印机为例说明以共享打印机为例说明SPOOLing系统工作过程系统工作过程7.3 设备分配设备分配qq系统对具体输出的处理系统对具体输出的处理 如打印机空闲,输出进程做以下操作:如打印机空闲,输出进程做以下操作:如打印机空闲,输出进程做以下操作:如打印机空闲,输出进程做以下操作:从请求打印队列的队首取出请求打印表从请求打印队列的队首取出请求打印表从请求打印队列的队首取出请求打印表从请求打印队列的队首取出请求打印表 将打印数据从输出井送内存输出缓冲区将打印数据从输出井送内存输出缓冲区将打印数据从输出井送内存输出缓冲区将打印
47、数据从输出井送内存输出缓冲区 打印机执行打印操作打印机执行打印操作打印机执行打印操作打印机执行打印操作 打印完即检查打印队列是否还有请求表打印完即检查打印队列是否还有请求表打印完即检查打印队列是否还有请求表打印完即检查打印队列是否还有请求表 若有,取出现时队首的请若有,取出现时队首的请若有,取出现时队首的请若有,取出现时队首的请求表,继续上述操作求表,继续上述操作求表,继续上述操作求表,继续上述操作若无,即打印队列空,输出进程若无,即打印队列空,输出进程若无,即打印队列空,输出进程若无,即打印队列空,输出进程阻塞自己阻塞自己阻塞自己阻塞自己 等再有打印请求才被唤醒等再有打印请求才被唤醒等再有打
48、印请求才被唤醒等再有打印请求才被唤醒7.3 设备分配设备分配l lSPOOLingSPOOLing系统的特点系统的特点:l l将独占设备改造为共享设备,实现了虚拟将独占设备改造为共享设备,实现了虚拟设备功能。设备功能。l l 宏观上看,多个进程能同时使用一台独宏观上看,多个进程能同时使用一台独占设备,从每一个进程看,都认为自己独占设备,从每一个进程看,都认为自己独占了一个设备(逻辑设备)。占了一个设备(逻辑设备)。l l提高了提高了I/OI/O速度。速度。l l 从请求打印的进程角度看,其输出数据从请求打印的进程角度看,其输出数据实质上是送到输出井,极其快速。实质上是送到输出井,极其快速。7.
49、3 设备分配设备分配三、设备分配方法设备分配设备分配2 2种方式:种方式:l l静态分配方式静态分配方式 在用户进程创建时,在用户进程创建时,OSOS便一次便一次性地把进程运行所要求的全部设备都分配给它,性地把进程运行所要求的全部设备都分配给它,并由该进程占有,直到进程撤消。并由该进程占有,直到进程撤消。不会死锁,但设备利用率极其低下。不会死锁,但设备利用率极其低下。l l动态分配方式动态分配方式 在进程执行过程中,随时根据需在进程执行过程中,随时根据需要,向系统提出设备请求,由系统依据一定算法要,向系统提出设备请求,由系统依据一定算法给进程分配设备,用户进程用完设备,即予释放。给进程分配设备
50、,用户进程用完设备,即予释放。有利于提高设备利用率,但分配不当即有死锁可有利于提高设备利用率,但分配不当即有死锁可能。能。7.3 设备分配设备分配动态分配算法:动态分配算法:l l先来先服务先来先服务 对于多个请求某类设备的用户进程,系对于多个请求某类设备的用户进程,系统按其发出请求的先后顺序,使它们在统按其发出请求的先后顺序,使它们在设备请求队列里排队,并把设备分配给设备请求队列里排队,并把设备分配给队列的前列者。队列的前列者。l l优先级高者优先优先级高者优先 进入设备请求队列的进程,按优先级排进入设备请求队列的进程,按优先级排队,优先级相同,则按到达的先后排,队,优先级相同,则按到达的先