HYZ-OS-2013-设备管理概念.ppt_第1页
HYZ-OS-2013-设备管理概念.ppt_第2页
HYZ-OS-2013-设备管理概念.ppt_第3页
HYZ-OS-2013-设备管理概念.ppt_第4页
HYZ-OS-2013-设备管理概念.ppt_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1,2019年9月17日星期二,北京交通大学计算机学院何永忠,操作系统(A),北京交通大学计算机学院 何永忠 副教授,第五章:设备管理,第五章 设备管理,5.1 I/O系统组成 5.2 I/O控制方式 5.3 设备管理目标、功能及结构 5.4 缓冲管理 5.5 设备分配 5.6 设备处理 5.7 磁盘存储器管理,5.1 I/O系统组成,5.1.1 I/O系统结构 5.1.2 I/O设备分类及接口 5.1.3 设备控制器 5.1.4 I/O通道,Modern I/O Systems,EISA总线,5.1 I/O系统组成,5.1.1 I/O系统结构 5.1.2 I/O设备分类及接口 5.1.3 设备控制器 5.1.4 I/O通道,I/O设备分类,按数据传输速率分类 高速设备、中速设备、低速设备 按信息交换单位分类 块设备(传输速率高、可寻址、DMA) 字符设备(传输速率低、不可寻址、中断) 按设备共享属性分类 独占设备 共享设备 虚拟设备,Example Device-Transfer Rates (Sun Enterprise 6000),Device Rates vary over many orders of magnitude System better be able to handle this wide range Better not have high overhead/byte for fast devices! Better not waste time waiting for slow devices,设备与设备控制器之间的接口,5.1 I/O系统组成,5.1.1 I/O系统结构 5.1.2 I/O设备分类及接口 5.1.3 设备控制器 5.1.4 I/O通道,设备控制器的功能,接收和识别命令 控制寄存器/命令译码器 数据交换(数据寄存器) 标识和报告设备状态(状态寄存器) 地址识别(地址译码器) 数据缓冲(缓冲器) 差错控制(差错检查码),设备控制器的组成,5.1 I/O系统组成,5.1.1 I/O系统结构 5.1.2 I/O设备分类及接口 5.1.3 设备控制器 5.1.4 I/O通道,I/O通道及引入,通道引入的主要目的在于提高I/O过程的独立性,不仅使数据的传送能独立于CPU,而且使有关I/O操作的组织、管理与结束尽量独立,从而保证CPU有更多的时间进行数据处理 设置通道后,CPU只需向通道发出一条I/O指令;通道收到该指令后,便从内存取出本次要执行的通道程序并予执行;仅当其完成规定的I/O任务后,才向CPU发出中断信号 通道为特殊的处理机,其指令类型单一、无专有内存(与CPU共享内存),通过执行通道I/O程序来控制I/O操作,通道指令与通道程序,通道指令 读指令:外设=内存 写指令:内存=外设 控制指令:具体功能与所控设备有关,如磁带机反绕、磁盘机寻道、打印机换页等 通道程序 通道指令的逻辑集合,由设备驱动程序自动生成,存放于内存特定区域,通道类型,字节多路通道 含有许多非分配型子通道分别连接在低、中速I/O设备上,子通道按时间片轮转方式共享主通道,按字节方式进行数据传送 数组选择通道 只含有一个分配型子通道,一段时间内只能执行一道通道程序、控制一台设备按数组方式进行数据传送,通道独占且利用率低,用于连接多台高速设备 数组多路通道 含有多个非分配型子通道分别连接在高、中速I/O设备上,子通道按时间片轮转方式共享主通道,按数组方式进行数据传送,通道瓶颈问题及解决方案,5.1 I/O系统组成,5.1.1 I/O系统结构 5.1.2 I/O设备分类及接口 5.1.3 设备控制器 5.1.4 I/O通道,第五章 设备管理,5.1 I/O系统 5.2 I/O控制方式 5.3 设备管理目标、功能及结构 5.4 缓冲管理 5.5 设备分配 5.6 设备处理 5.7 磁盘存储器管理,5.2 I/O控制方式,程序I/O控制方式 简单的忙-等待方式 中断驱动I/O控制方式 中断机制的引入 直接存储器访问控制方式 DMA控制器、数据传输单位扩大 I/O通道控制方式 通道、I/O操作组织和数据传送的独立,程序I/O控制方式,中断驱动I/O控制方式,直接存储器访问控制方式,数据传输单位 数据块 数据传输途径 设备内存 CPU干预 限于数据块传送开始与结束,DMA控制器组成,基于DMA磁盘读入数据流程,CPU,DMA 控制器,I/O通道控制方式,通道程序,同一记录操作,通道程序的执行流程,第五章 设备管理,5.1 I/O系统组成 5.2 I/O控制方式 5.3 设备管理目标、功能及结构 5.4 缓冲管理 5.5 设备分配 5.6 设备处理 5.7 磁盘存储器管理,What is the Role of I/O?,Without I/O, computers are useless (disembodied brains?) But thousands of devices, each slightly different How can we standardize the interfaces to these devices? Devices unreliable: media failures and transmission errors How can we make them reliable? Devices unpredictable and/or slow How can we manage them if we dont know what they will do or how they will perform?,The Goal of the I/O Subsystem,Provide uniform interfaces, despite wide range of different devices This code works on many different devices: FILE fd = fopen(“/dev/something”,“rw”); for (int i = 0; i 10; i+) fprintf(fd, “Count %dn”,i); close(fd); Why? Because code that controls devices (“device driver”) implements standard interface Improve CPU and I/O parallelism Easy add new I/O device,Want Standard Interfaces to Devices,Block Devices: e.g., disk drives, tape drives, DVD-ROM Access blocks of data Commands include open(), read(), write(), seek() Raw I/O or file-system access Memory-mapped file access possible Character/Byte Devices: e.g., keyboards, mice, serial ports, some USB devices Single characters at a time Commands include get(), put() Libraries layered on top allow line editing Network Devices: e.g., Ethernet, Wireless, Bluetooth Different enough from block/character to have own interface Unix and Windows include socket interface Separates network protocol from network operation Includes select() functionality,How Does User Deal with Timing?,Blocking Interface: “Wait” When request data (e.g., read() system call), put process to sleep until data is ready When write data (e.g., write() system call), put process to sleep until device is ready for data Non-blocking Interface: “Dont Wait” Returns quickly from read or write request with count of bytes successfully transferred to kernel Read may return nothing, write may write nothing Asynchronous Interface: “Tell Me Later” When requesting data, take pointer to users buffer, return immediately; later kernel fills buffer and notifies user When sending data, take pointer to users buffer, return immediately; later kernel takes data and notifies user,设备管理及目标,设备管理程序用于控制与管理实现信息输入、输出和存储的设备。由于I/O设备不仅种类繁多,而且彼此特性和操作方式相差较大,从而使设备管理成为操作系统中最繁杂且与硬件紧密相关的部分。 主要目标 方便用户使用,实现对不同类型设备的统一管理、使用并协调各台外围设备的并发运作 提高系统I/O效率,缓解CPU和多种不同处理速度的外围设备之间的矛盾 设备管理的可扩充性,包括设备的增加和删除以及对新的设备类型的适应性,设备管理的功能,提供设备使用的用户接口 命令接口和编程接口 设备分配和释放 分配设备及相应的通道、设备控制器。 设备的访问和控制 并发访问及差错处理。 I/O缓冲和调度 提高I/O访问效率,缓解CPU与外设矛盾,设备管理层次结构,设备管理结构,用户空间I/O请求层 提供对逻辑设备的控制。具体来说,针对用户接口,提供抽象的命令,如Open, Close, Read, Write;针对通信设备,提供通信体系结构如网络协议栈;针对文件存储设备,提供文件系统的逻辑结构控制。 设备独立性软件层 逻辑设备与物理设备间过渡协调机构,实现用户命令到设备操作序列的转换,提供缓冲机制 设备调度和控制层 实现硬件物理设备的设备驱动、设备控制、状态维护、中断处理及并发I/O访问调度,Q1: True _ False _ With an asynchronous interface, the writer may need to block until the data is written Q2: True _ False _ Interrupts are more efficient than polling for handling very frequent requests Q3: True _ False _ Segmentation fault is an example of synchronous exception (trap) Q4: True _ False _ DMA is more efficient than progra

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论