1 / 19

第十四讲 设备控制原理、设备使用方法 目的与要求 : 掌握 I/O 控制的原理、设备的使用方法。 重点与难点 : 三种不同的 I/O 控制方式;三种不同的设备使用方法。

第十四讲 设备控制原理、设备使用方法 目的与要求 : 掌握 I/O 控制的原理、设备的使用方法。 重点与难点 : 三种不同的 I/O 控制方式;三种不同的设备使用方法。 作业: 2 , 3 , 4 , 5. 第六章 设备管理 6.1 I/O 硬件概念. 1. 常见外部设备的分类. 人机交互设备 ( 字符设备 , 通常发送接收以字符方式 ) 存储类型设备 ( 块设备 , 读写以数据块方式) 网络通讯的设备. I/O 设备的差别 设备的功能、控制的复杂性、数据传输单位各异 设备驱动接口、使用接口不同. 2. 设备控制器( I/O 部件 ).

argus
Download Presentation

第十四讲 设备控制原理、设备使用方法 目的与要求 : 掌握 I/O 控制的原理、设备的使用方法。 重点与难点 : 三种不同的 I/O 控制方式;三种不同的设备使用方法。

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 第十四讲 设备控制原理、设备使用方法 目的与要求:掌握I/O控制的原理、设备的使用方法。 重点与难点:三种不同的I/O控制方式;三种不同的设备使用方法。 作业: 2,3,4,5

  2. 第六章 设备管理 6.1 I/O硬件概念 1.常见外部设备的分类 • 人机交互设备(字符设备,通常发送接收以字符方式) • 存储类型设备(块设备,读写以数据块方式) • 网络通讯的设备 • I/O设备的差别 • 设备的功能、控制的复杂性、数据传输单位各异 • 设备驱动接口、使用接口不同

  3. 2.设备控制器(I/O部件) I/O设备通常包含机械部件和电子部件。电子部件被称作I/O部件或设备控制器。 操作系统与控制器打交道,由控制器控制设备本身。 早期CPU是直接控制外部设备的,在引入I/O部件之后,I/O指令功能加强,才将CPU逐渐从与外设的交互细节中解放出来。

  4. 连接CPU、内存、设备控制器和I/O设备模型 处理机 内存 显卡 PCI总线控制器 外设控制器 IDE总线控制器 控制器 磁盘 外设 控制器 光盘

  5. 比特流 磁盘 控制器 转换、校验 字节块 主存 控制器的任务是在外设与内存之间完成比特流与字节块之间的转换。 或外设与CPU之间完成比特流(或外部信号)与字节流之间的转换。 显示信号 字符显示控制器 转换 字节流 主存经CPU

  6. 每个控制器都有一些用来与CPU通讯的I/O寄存器。操作系统通过向这些寄存器写命令字来实现I/O功能。每个控制器都有一些用来与CPU通讯的I/O寄存器。操作系统通过向这些寄存器写命令字来实现I/O功能。 IBM PC的控制器寄存器编址

  7. 3.输入输出控制方式 一、程序直接控制方式 CPU直接控制I/O操作的全过程,包括发送控制命令、传输数据、测试设备状态 。 因此,处理机指令集应包括控制类、测试类、读写类I/O指令 。 I/O部件接收到相应的指令后,将I/O状态寄存器的相应位置上,随着操作的执行更改状态位,再由CPU执行相应指令读取I/O完成状态。I/O数据通过CPU寄存器转发。

  8. 向I/O部件发读指令 读I/O部件状态寄存器 出错 检查状态 未OK OK 从I/O部件读字数据 未OK 将该字写入内存 OK 下一 指令 该块读完?

  9. 二、中断控制方式 CPU向I/O部件发出指令后,转去做其它进程的工作。当I/O部件准备好数据后,利用中断通知CPU,再由CPU完成数据传输。 CPU不必反复测试寄存器状态,节约了时间。但总体看来,中断控制方式仍然消耗大量的CPU时间,因为每个字(若干字节)的数据传输都必须经过CPU寄存器转发。

  10. 向I/O部件发读指令 中断 读I/O部件状态寄存器 出错处理 检查状态 OK 从I/O部件读字数据 未OK 将该字写入内存 OK 下一 指令 该块读完?

  11. 三、DMA方式 • 前两种方式的缺陷: • I/O的传输速率受CPU检测或中断响应的速度限制 • CPU为管理I/O耗费大量时间。 DMA(直接内存存取)负责完成整个I/O操作,无需再经CPU寄存器转发,并在全部传输结束后向CPU发中断信号。 CPU向DMA部件发送I/O指令后,即可进行其它工作。给DMA的指令中应包括:操作类别、I/O设备的地址、读写数据在内存中的首地址、字数。

  12. 向DMA部件发读指令 中断 读取DMA部件状态 下一条指令 DMA的功能可以以独立的DMA部件在系统I/O总线上完成,也可整合到I/O控制器中。 读写内存时,DMA部件需要控制总线,CPU可能在涉及存储访问时因此而忙等待。

  13. 输入输出控制方式的发展过程 引入I/O部件,CPU直接控制I/O部件 引入中断驱动方式 引入DMA I/O通道或I/O处理机

  14. 6.2设备I/O子系统 • 6.2.1.设备的使用方法 • 一、设备相关系统调用简介 • 申请设备。该系统调用中有参数说明了要申请的设备名称,操作系统处理该系统调用时,会按照设备特性(是独占还是分时共享式使用)及设备的占用情况来分配设备,返回申请是否成功标志。 • 将数据写入设备。 • 从设备读取数据。 • 释放设备。这是申请设备的逆操作。

  15. 说明: • 上述的系统调用主要用于对人机交互类慢速外设的使用。 • 对于存储类外设,用户程序一般通过对文件的访问,由文件管理模块读写存储外设间接使用它们,系统也提供直接使用存储类外设的接口供DBMS等高级应用程序使用。 • 对于网络通讯外设,用户级程序也不直接使用它们,用户通过SOCKET通讯系统调用接口调用TCP/IP层程序,由IP层程序调用网络通讯设备驱动程序。

  16. 在UNIX中,你也可以用如下的系统调用将数据直接写入软盘中:在UNIX中,你也可以用如下的系统调用将数据直接写入软盘中: fd=open(“/dev/fd0”,O_RDRW);申请软盘,/dev/fd0代表软盘。 lseek(fd,1024,0);将软盘当前I/O位置定位到1024字节位置。 write(fd,buffer,36);将用户缓冲区buffer中的36个字节写入软盘1024-1059字节。 … close(fd) ;释放软盘。 显然,这样的使用方式绕过了文件管理,而直接读/写软盘空间。当然你必须清楚软盘的什么位置存放了什么信息,你才能做到正确的读写。

  17. 二、3种设备使用方式 • 独占式 • 分时式 • SPOOLing虚拟设备方式 • 1、独占式使用设备 • 所谓独占式使用设备是以一次设备使用过程(包含多次I/O操作)为单位使用设备。 • 在申请设备时,如果设备空闲,就将其独占,不再允许其它进程申请使用,一直等到该设备被释放,才允许被其它进程申请使用。

  18. 2、分时式共享使用设备 如果一个逻辑上完整的数据可以用设备的一次I/O操作完成,那么我们就不必要独占该设备。反过来说,如果一次I/O操作的数据逻辑上完整,我们就不必要对该设备进行独占方式的申请使用。 在申请这种设备时,不必检查是否已被占用,只要简单累加设备使用者计数即可。 所谓分时式共享就是以一次I/O为单位分时使用设备,不同进程的I/O操作请求以排队方式分时地占用设备进行I/O 。

  19. 打印daemon 进程 打印机 打印请求队列含要打印文件 3、SPOOLing方式使用外设 SPOOLing 技术是在批处理操作系统时代引入的,即所谓假脱机输入输出技术。原用于作业输入、输出,利用磁盘上的输入、输出井模拟慢速外设。现在利用文件模拟出多设备。 例如:同一进程所有输出数据在进程运行时被写到同一文件当中,文件排到打印输出队列,打印daemon进程占用打印机后,成批读出文件中数据,并送打印机打印出去。

More Related