第4章IO设备管理ppt课件.ppt

第4章IO设备管理ppt课件.ppt

ID:59492374

大小:739.50 KB

页数:80页

时间:2020-09-13

第4章IO设备管理ppt课件.ppt_第1页
第4章IO设备管理ppt课件.ppt_第2页
第4章IO设备管理ppt课件.ppt_第3页
第4章IO设备管理ppt课件.ppt_第4页
第4章IO设备管理ppt课件.ppt_第5页
资源描述:

《第4章IO设备管理ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、操作系统OperatingSystems谌卫军清华大学软件学院1.I/O硬件2.I/O控制方式3.I/O软件4.磁盘第四章I/O设备管理在现代计算机系统中,有大量的输入输出设备,其种类繁多,差异大。而且随着技术的发展,新设备也不断地出现。因此,如何管理好这些设备,使资源得以合理的利用,是操作系统的一个主要功能。I/O(Input/Output)设备4.1I/O硬件对于I/O硬件,操作系统所关心的并不是硬件自身的设计、制造和维护,而是如何来对它进行编程,即该设备给软件提供的接口是什么,包括它所接受的控制命令、所完成的功能,以及所返回的出错报告。按

2、交互方向分类:输入设备:键盘、鼠标、扫描仪;输出设备:显示器、打印机;输入/输出:磁盘、网卡。4.1.1I/O设备的类型按数据组织分类:块设备:以数据块作为信息的存储和传输单位,每个数据块都有一个地址,数据块之间的读写操作是相互独立的,如磁盘;字符设备:以字符作为信息存储和传输单位,数据即字符流,无定位无寻址,如鼠标;有了I/O设备,是否就能完成I/O功能呢?4.1.2设备控制器机械部分电子部分一个I/O单元由两部分组成:机械部分和电子部分(设备控制器或适配器)。机械部分即为I/O设备本身;电子部分称为:设备控制器(devicecontroll

3、er)或适配器(adapter)。适配器的形式通常是印刷电路卡,可以插入到主板的扩充槽中;控制器的形式是一组芯片;完成设备与主机间的连接和通讯。4.1.3I/O地址每个设备控制器都有一些寄存器用来与CPU通信。通过往这些寄存器中写入不同的值,OS能命令该设备去执行发送数据、接收数据、打开、关闭等操作;OS也能通过读取这些寄存器的值来了解设备的当前状态。此外,许多控制器还有一个数据缓冲区供OS读写。CPU外部设备控制逻辑电路控制寄存器状态寄存器数据寄存器如何让I/O设备工作?问题:CPU如何与设备控制器进行通信?这不是普通的内存访问!方法有三种:

4、I/O独立编址;内存映像编址;混合编址。1.I/O独立编址基本思路:给控制器中的每一个寄存器分配一个唯一的I/O端口(I/Oport)编号,称为I/O端口地址,然后用专门的I/O指令对端口进行操作;这些端口地址所构成的 地址空间是完全独立的, 与内存的地址空间没有 关系。例如:INR0[4]表示读入I/O端口地址为4的内容;MOVR0[4]表示读入 内存地址为4的内容;Linux0.11/boot/setup.smoval,#0x11!initializationsequenceout#0x20,al!senditto8259A-1moval,

5、#0x20!startofhardwareint's(0x20)out#0x21,almoval,#0x28!startofhardwareint's(0x28)out#0xA1,al……inal,#0x64!8042statusport!键盘控制器状态寄存器testal,#2jnzempty_8042!isinputbufferfull?2.内存映像编址基本思路:把所有控制器当中的每一个寄存器都映射为一个内存地址,专门用于I/O操作(功能上),对这些单元的读写操作即为普通的内存访问操作。端口地址空间与内存的地址空间统一编址,前者是后者的一部分

6、,一般位于后者的顶端部分。编程方便,无需专门的I/O指令(Cvs.汇编);不能对控制寄存器的内容进行Cache,须关闭;每一次都要判断访问的是内存还是I/O。3.混合编址基本思路:对于设备控制器中的寄存器,采用独立编址的方法;而对于设备的数据缓冲区,采用内存映像编址的方法。PC机上的部分I/O端口地址(本图摘自Silberschatz,GalvinandGagne:“OperatingSystemConcepts”)到目前为止,已经介绍了I/O设备的类型、设备的控制器、I/O的端口地址。现在的问题是:根据已有的这些知识,现在能否开始编程使用这些

7、I/O设备,完成相应的输入输出功能呢?4.2I/O控制方式程序循环检测方式(ProgrammedI/O)中断驱动方式(Interrupt-drivenI/O)直接内存访问方式(DMA,DirectMemory Access)4.2.1程序循环检测方式小宝宝在家吃饭如果宝宝的嘴巴没空(如上一口饭菜尚未吃完),循环等待装一勺饭菜,喂到宝宝嘴里重复上述步骤基本思路:在程序(设备驱动程序)中通过不断地检测I/O设备的当前状态,来控制I/O操作的完成。具体来说,在进行I/O操作之前,要循环地检测设备是否就绪;在I/O操作进行之中,要循环地检测设备是否已完

8、成。从硬件来说,控制I/O的所有工作均由CPU来完成。也称为繁忙等待方式(busywaiting)或轮询方式 (polling)。I/O控制与I/O操

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。