缓冲技术和设备分配
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第13章 I/O系统
I/O设备的多样性 Os管理和控制 I/O操作和I/O设备。
13.1 I/O管理-概述
外设管理目的 提高效率:提高I/O访问效率,匹配CPU和多种不同 处理速度的外设 方便使用:方便用户使用,对不同类型的设备统一 使用方法,协调对设备的并发使用 方便控制:方便OS内部对设备的控制:增加和删除 设备,适应新的设备类型 外设管理功能 提供设备使用的用户接口:命令接口和编程接口 设备分配和释放:使用设备前,需要分配设备和相 应的通道、控制器。 设备的访问和控制:包括并发访问和差错处理(虚 拟设备)。 I/O缓冲和调度:目标是提高I/O访问效率
设备绝对号和相对号
设备绝对号:计算机系统为每一台设备确定的编号
,用来区分和识别设备; 用户在编写程序时不能通过设备的绝对编号来使 用设备 设备类型号:操作系统为每类设备规定的一个编号 设备相对号:用户自己规定的所用的同类设备中的 第几台。 如Unix中,rfd0和rfd1分别表示第1个和第2个软 盘驱动器;
Device I/O Scheduling &Control(Device Driver)
Hardware
13.3 设备管理分层模型
逻辑I/O:将设备当作一个逻辑资源,不涉及实际的设备控
制的细节: 针对用户接口,提供抽象的命令,如:Open, Close, Read, 针对通信设备,则是通信体系结构如网络协议栈; 针对文件存储设备,是文件系统的逻辑结构控制; 设备I/O:逻辑设备与物理设备间的过渡协调机构。用户命 令到设备操作序列的转换。请求的操作和数据被转换成适 当的I/O指令序列、通道命令和控制器指令。可以用I/O缓 冲提高I/O效率 调度和控制:是I/O模块和设备硬件真正发生交互的软件层 ,直接面对硬件设备的控制细节。如I/O操作的排队,设备 控制和状态维护、中断处理。这部分通常体现为设备驱动 程序;
设备绝对号和相对号
设备的指定方式 设备绝对号 设备类型号+设备相对号 用户程序中提出使用设备的申请时,使用系统
规定的设备类型号和用户自己规定的设备相对 号,由操作系统进行地址转换,变成系统中的 设备绝对号;
13.3 设备管理系统的组织
I/O软件的设计目标:
效率:大多数I/O设备慢,I/O操作一般是系统瓶颈,很大程
按外设特性分类
13.1 I/O管理-外部设备类型和特征
Fra Baidu bibliotek
按资源分配角度分类 独占设备 在一段时间内只能有一个进程使用的设备,一般为低速 I/O设备。如打印机,磁带等。 共享设备 在一段时间内可有多个进程共同使用的设备,多个进程 以交叉的方式来使用设备,其资源利用率高。如硬盘 虚拟设备 在一类设备上模拟另一类设备,常用共享设备模拟独占 设备,用高速设备模拟低速设备,被模拟的设备称为虚 设备(实例:SPOOLing技术) 从程序使用角度分 逻辑设备: 用户程序中使用的设备 物理设备:实际完成I/O操作的设备
13.2 I/O控制技术
程序控制I/O(轮询):CPU代表进程给I/O模块发送一 个命令,CPU进入忙等待(输入输出完全由CPU控制) 中断驱动I/O: CPU代表进程给I/O模块发送一个命令, 然后CPU继续执行后续指令; 当I/O模块完成后,CPU被 该模块(CPU和I/O设备可以共同工作)中断。 直接存储器存取(DMA):CPU给DMA模块发请求,只 有当DMA将整个数据块传送结束后,CPU才被中断( 数据在内存和外设之间传输时不需要CPU干预)。
13.3 设备管理系统的组织
I/O软件的基本思想是按分层的思想构成: 较低层软件要使较高层软件独立于硬件的特 性, 较高层软件则要向用户提供一个友好的、清 晰的、简单的、功能更强的接口
13.3 设备管理分层模型
User Process
Logical I/O Communications Architecture
13.1 I/O管理-外部设备类型和特征
按交互对象分类
人机交互设备:视频显示设备、键盘、鼠标、打印机 与计算机或其他电子设备交互的设备:磁盘、磁带、传感器、 控制器 计算机间的通信设备:网卡、调制解调器
按交互方向分类
输入(可读):键盘、扫描仪 输出(可写):显示设备、打印机 输入/输出(可读写):磁盘、网卡 使用特征:存储、输入/输出、终端 数据传输率:低速(如键盘)、中速(如打印机)、高速(如网卡 、磁盘) 信息组织特征:单个字符或数据块 字符设备(如打印机):通常的输入输出型设备,以字符为单 位存储、传输信息;不可寻址 块设备(如磁盘):以数据块为单位存储、传输信息。可寻址
设备独立性
如果用户程序中直接使用真实的物理设备,那么 会出现这样的问题:用户指定的设备因故障不能 使用,或者该设备正忙于为其他进程服务,只有 等待或者修改程序,重新指定设备。 为了实现用户程序与物理设备的无关性,在用户 程序中不要直接使用物理设备名(或者设备的物 理地址),而只能使用逻辑设备名。逻辑设备是 实际物理设备的抽象,它不限于某类具体设备。 逻辑设备究竟和哪一个具体的物理设备相对应, 还要由系统根据当时的设备忙、闲情况来决定或 者由系统管理员指定。
度上影响系统的性能和吞吐量。因此要改善I/O的有效性, 采用多道程序设计、交换。目前比较关注磁盘I/O。 通用性:设备种类、特点和性能千差万别;要求能够以一种 一致的方式来管理所有设备-一致的外部接口,很难做到通 用,但希望能够用统一的方法处理所有设备,用一种层次化 的,模块化的方法设计I/O功能。 能够在低层例程中隐藏大部分设备I/O的细节, 使得用户进程和OS高层可以通过一些通用的功能,如读 、写、打开、关闭等查看I/O设备。 设备独立性。用户在编写使用软盘或硬盘上文件的程序 时,无需为不同的设备类型而修改程序就可以使用 统一命名。一个文件或一个设备的名字只应是一个简单 的字符串或一个整数,不应依赖于设备
I/O设备的多样性 Os管理和控制 I/O操作和I/O设备。
13.1 I/O管理-概述
外设管理目的 提高效率:提高I/O访问效率,匹配CPU和多种不同 处理速度的外设 方便使用:方便用户使用,对不同类型的设备统一 使用方法,协调对设备的并发使用 方便控制:方便OS内部对设备的控制:增加和删除 设备,适应新的设备类型 外设管理功能 提供设备使用的用户接口:命令接口和编程接口 设备分配和释放:使用设备前,需要分配设备和相 应的通道、控制器。 设备的访问和控制:包括并发访问和差错处理(虚 拟设备)。 I/O缓冲和调度:目标是提高I/O访问效率
设备绝对号和相对号
设备绝对号:计算机系统为每一台设备确定的编号
,用来区分和识别设备; 用户在编写程序时不能通过设备的绝对编号来使 用设备 设备类型号:操作系统为每类设备规定的一个编号 设备相对号:用户自己规定的所用的同类设备中的 第几台。 如Unix中,rfd0和rfd1分别表示第1个和第2个软 盘驱动器;
Device I/O Scheduling &Control(Device Driver)
Hardware
13.3 设备管理分层模型
逻辑I/O:将设备当作一个逻辑资源,不涉及实际的设备控
制的细节: 针对用户接口,提供抽象的命令,如:Open, Close, Read, 针对通信设备,则是通信体系结构如网络协议栈; 针对文件存储设备,是文件系统的逻辑结构控制; 设备I/O:逻辑设备与物理设备间的过渡协调机构。用户命 令到设备操作序列的转换。请求的操作和数据被转换成适 当的I/O指令序列、通道命令和控制器指令。可以用I/O缓 冲提高I/O效率 调度和控制:是I/O模块和设备硬件真正发生交互的软件层 ,直接面对硬件设备的控制细节。如I/O操作的排队,设备 控制和状态维护、中断处理。这部分通常体现为设备驱动 程序;
设备绝对号和相对号
设备的指定方式 设备绝对号 设备类型号+设备相对号 用户程序中提出使用设备的申请时,使用系统
规定的设备类型号和用户自己规定的设备相对 号,由操作系统进行地址转换,变成系统中的 设备绝对号;
13.3 设备管理系统的组织
I/O软件的设计目标:
效率:大多数I/O设备慢,I/O操作一般是系统瓶颈,很大程
按外设特性分类
13.1 I/O管理-外部设备类型和特征
Fra Baidu bibliotek
按资源分配角度分类 独占设备 在一段时间内只能有一个进程使用的设备,一般为低速 I/O设备。如打印机,磁带等。 共享设备 在一段时间内可有多个进程共同使用的设备,多个进程 以交叉的方式来使用设备,其资源利用率高。如硬盘 虚拟设备 在一类设备上模拟另一类设备,常用共享设备模拟独占 设备,用高速设备模拟低速设备,被模拟的设备称为虚 设备(实例:SPOOLing技术) 从程序使用角度分 逻辑设备: 用户程序中使用的设备 物理设备:实际完成I/O操作的设备
13.2 I/O控制技术
程序控制I/O(轮询):CPU代表进程给I/O模块发送一 个命令,CPU进入忙等待(输入输出完全由CPU控制) 中断驱动I/O: CPU代表进程给I/O模块发送一个命令, 然后CPU继续执行后续指令; 当I/O模块完成后,CPU被 该模块(CPU和I/O设备可以共同工作)中断。 直接存储器存取(DMA):CPU给DMA模块发请求,只 有当DMA将整个数据块传送结束后,CPU才被中断( 数据在内存和外设之间传输时不需要CPU干预)。
13.3 设备管理系统的组织
I/O软件的基本思想是按分层的思想构成: 较低层软件要使较高层软件独立于硬件的特 性, 较高层软件则要向用户提供一个友好的、清 晰的、简单的、功能更强的接口
13.3 设备管理分层模型
User Process
Logical I/O Communications Architecture
13.1 I/O管理-外部设备类型和特征
按交互对象分类
人机交互设备:视频显示设备、键盘、鼠标、打印机 与计算机或其他电子设备交互的设备:磁盘、磁带、传感器、 控制器 计算机间的通信设备:网卡、调制解调器
按交互方向分类
输入(可读):键盘、扫描仪 输出(可写):显示设备、打印机 输入/输出(可读写):磁盘、网卡 使用特征:存储、输入/输出、终端 数据传输率:低速(如键盘)、中速(如打印机)、高速(如网卡 、磁盘) 信息组织特征:单个字符或数据块 字符设备(如打印机):通常的输入输出型设备,以字符为单 位存储、传输信息;不可寻址 块设备(如磁盘):以数据块为单位存储、传输信息。可寻址
设备独立性
如果用户程序中直接使用真实的物理设备,那么 会出现这样的问题:用户指定的设备因故障不能 使用,或者该设备正忙于为其他进程服务,只有 等待或者修改程序,重新指定设备。 为了实现用户程序与物理设备的无关性,在用户 程序中不要直接使用物理设备名(或者设备的物 理地址),而只能使用逻辑设备名。逻辑设备是 实际物理设备的抽象,它不限于某类具体设备。 逻辑设备究竟和哪一个具体的物理设备相对应, 还要由系统根据当时的设备忙、闲情况来决定或 者由系统管理员指定。
度上影响系统的性能和吞吐量。因此要改善I/O的有效性, 采用多道程序设计、交换。目前比较关注磁盘I/O。 通用性:设备种类、特点和性能千差万别;要求能够以一种 一致的方式来管理所有设备-一致的外部接口,很难做到通 用,但希望能够用统一的方法处理所有设备,用一种层次化 的,模块化的方法设计I/O功能。 能够在低层例程中隐藏大部分设备I/O的细节, 使得用户进程和OS高层可以通过一些通用的功能,如读 、写、打开、关闭等查看I/O设备。 设备独立性。用户在编写使用软盘或硬盘上文件的程序 时,无需为不同的设备类型而修改程序就可以使用 统一命名。一个文件或一个设备的名字只应是一个简单 的字符串或一个整数,不应依赖于设备