您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 管理学资料 > 61设备控制使用方法
第十四讲设备控制原理、设备使用方法目的与要求:掌握I/O控制的原理、设备的使用方法。重点与难点:三种不同的I/O控制方式,三种不同的设备使用方法。作业:2,3,4,5。6.1输入/输出硬件概念1.常见I/O设备的分类•人-机交互设备(字符设备,发送接收以字符方式);•存储类型设备(块设备,读写以数据块方式);•网络通信的设备。I/O设备的特点:•数据传输速率不同;•数据传输单位不同;•控制的复杂性不同;•设备的使用目的不同。第6章设备管理2.设备控制器(I/O部件)I/O设备通常包含一个机械部件和一个电子部件。电子部件被称做I/O部件或设备控制器(当控制多设备时:又叫总线控制器,通道控制器)。操作系统一般只与控制器打交道,而非设备本身。早期CPU是直接控制外部设备的,在引入I/O部件之后,才将CPU逐渐从与外设的交互细节中解放出来。PCI总线控制器处理机(CPU)主存显卡SCSI总线控制器外设控制器控制器控制器连接CPU、主存、设备控制器和I/O设备模型磁带磁盘外设控制器的任务是在外部设备与CPU(内存)之间完成比特流(外部信号)和字节流(块)之间的转换。磁盘控制器主存比特流字节块转换、校验显示控制器主存显示信号字节流转换每个控制器都有一些用来与CPU通信的I/O寄存器。操作系统通过向这些寄存器写命令字来执行I/O功能。键盘060-063硬盘320–32F打印机378–37F软盘3F0–3F7彩色显示器3D0–3DFIBMPC的I/O地址3.输入/输出控制方式(1)程序直接控制方式CPU直接控制I/O操作的全过程,包括测试设备状态、发送读写命令、传输数据。因此,处理机指令集应包括控制类、测试类、读写类I/O指令。I/O部件接收到相应的命令后,置于I/O状态寄存器的相应位置上。随着操作的执行更改状态位,但并不通知CPU。I/O数据通过CPU寄存器转发。向I/O部件发读命令读I/O部件状态寄存器检查状态从I/O部件读字数据将该字写入内存未OKOK出错该块读完OK下一指令未OK(2)中断控制方式CPU向I/O部件发出命令后,转去做其他有用的工作。当I/O部件准备好数据后,利用中断通知CPU,再由CPU完成数据传输。CPU不必反复测试寄存器状态,节约了时间。但总体看来,中断控制方式仍然消耗大量的CPU时间,因为每个字的数据传输都必须经过CPU寄存器转发。向I/O部件发读命令读I/O部件状态寄存器检查状态从I/O部件读字数据将该字写入内存OK出错处理该块读完OK下一指令未OK中断(3)DMA方式前两种方式的缺陷:•I/O的传输速率受CPU测试或中断响应的速度限制;•CPU为管理I/O耗费大量时间。DMA(直接内存存取)负责完成整个I/O操作,无需再经CPU寄存器转发,并在全部传输结束后向CPU发中断信号。CPU向DMA部件发送I/O命令后,即可进行其他工作。给DMA的命令中应包括:操作类别、I/O设备的地址、读写数据在内存中的首地址、字数。向DMA部件发读命令读取DMA部件状态中断下一条指令DMA的功能可以以独立的DMA部件在系统I/O总线上完成,也可整合到I/O部件中完成。读写内存时,DMA部件需要控制总线,CPU可能在涉及存储访问时因此而忙等待。CPU直接控制外部设备引入I/O部件,CPU直接控制I/O部件引入中断驱动方式引入DMAI/O通道或I/O处理机输入/输出控制方式的发展过程6.2设备输入/输出子系统6.2.1设备的使用方法一、设备相关系统调用简介1.申请设备。该系统调用中有参数说明要申请的设备名称,操作系统处理该系统调用时,会按照设备特性(是独占还是分时共享式使用)及设备的占用情况来分配设备,返回申请是否成功标志。2.将数据写入设备。3.从设备读取数据。4.释放设备。这是申请设备的逆操作。说明:•上述的系统调用主要用于对人-机交互类慢速外设的使用。•对于存储类外设,用户程序一般通过对文件的访问,由文件管理模块读写存储外设间接使用它们,系统也提供直接使用存储类外设的接口。•对于网络通信外设,用户级程序也不直接使用它们,用户通过SOCKET通信系统调用接口调用TCP/IP层程序,由IP层程序选择调用网络通信设备驱动程序。在UNIX中,也可以用如下的系统调用将数据直接写入软盘中:fd=open(“/dev/fd0”,O_RDRW);申请软盘,/dev/fd0代表软盘。lseek(fd,1004,0);将软盘当前I/O位置定位到1024字节位置。Write(fd,buffer,36);将用户缓冲区buffer中的36个字节写入软盘1024~1059字节。……close(fd);释放软盘。显然,这样的使用方式绕过了文件管理,而直接读/写软盘空间。当然你必须清楚软盘的什么位置存放了什么信息,才能做到正确的读写。二、独占式共享使用设备所谓独占式共享使用设备是以一次设备使用过程(包含多次I/O操作)为单位使用设备。在申请设备时,如果设备空闲,就将其独占,不再允许其他进程申请使用,一直等到该设备被释放,才允许被其他进程申请使用。三、分时式共享使用设备独占式共享使用设备时,设备利用率很低。如果一个逻辑上完整的数据可以用设备的一次I/O操作完成,那么就不必要独占该设备。反过来说,如果一次I/O操作的数据逻辑上完整,就不必要对该设备进行独占方式的申请使用。在申请这种设备时,不必检查是否已被占用,只要简单累加设备使用者计数即可。所谓分时式共享就是以一次I/O为单位分时使用设备,不同进程的I/O操作请求以排队方式分时地占用设备进行I/O。四、以SPOOLing方式使用外设SPOOLing技术是在批处理操作系统时代引入的,即所谓假脱机输入/输出技术。把这种技术用于对设备的使用实质就是对输入/输出操作成批处理。例如:所有输出数据已经写到文件当中,并排到打印输出队列,打印进程申请占用打印机后,成批读出文件中数据,并送打印机打印出去。打印请求队列(含要打印文件)打印daemon进程打印机
本文标题:61设备控制使用方法
链接地址:https://www.777doc.com/doc-1305811 .html