操作系统-05输入输出

操作系统-05输入输出

ID:39700808

大小:1.14 MB

页数:62页

时间:2019-07-09

操作系统-05输入输出_第1页
操作系统-05输入输出_第2页
操作系统-05输入输出_第3页
操作系统-05输入输出_第4页
操作系统-05输入输出_第5页
资源描述:

《操作系统-05输入输出》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、输入/输出第5章5.1I/O硬件原理5.2I/O软件原理5.3I/O软件层次5.4硬盘5.5时钟1I/O设备分类与人进行交互用于和用户进行通信打印机视频显示设备显示器键盘鼠标与设备进行交互用于和电子设备进行通信磁盘和磁带传感器控制器传动器2I/O设备分类网络通信类用于和远程设备进行通信数据线调制解调器所有设备在操作系统中被粗略地分为两类块设备字符设备3I/O设备的不同数据传输率不同设备在数据传输率上有可能相差几个数量级应用如当磁盘用于存储文件时需要文件管理软件的配合当磁盘用于存储虚页时需要特殊的硬件和软件的支持被系统管理员使用的终端必须具有高级的优先权控制的复杂度4I/O设备的不同传输单位对

2、于终端,数据的传输是以字符流为单位,而磁盘则是以块为单位数据的表示方式不同设备编码方式不一样出错表示方式5I/O硬件原理某些典型设备、网络和总线的数据率6设备控制器I/O设备的组成:机械部分电子部分组成设备的电子部分就是设备控制器一个设备控制器可以处理一类设备控制器的任务将串行的位流转换成字节块尽可能进行纠错可以与主存进行读写操作7内存映射I/O(1)单独的I/O和内存空间内存映射I/O混合方案8内存映射I/O(2)(a)单总线体系结构(b)双总线内存体系结构910I/O数据传输方式程序控制I/O在进行输入/输出时,CPU处于一种忙等待中断驱动I/OCPU发出I/O命令,由控制器具体执行CP

3、U转去执行其他指令控制器完成I/O后,向CPU发中断信号11I/O数据传输方式直接存储器存取(DMA)由专门的DMA控制器控制数据在内存与外部设备间的传输CPU仅仅在所有数据传输结束后进行中断干预通道控制方式1213几种数据传输方式的关系14中断回顾中断是怎样发生的,设备与中断控制器之间的连线实际上使用的是总线上的中断线而不是专用连线。busControlregisterDataregister15直接存储器存取(DMA)16直接存储器存取(DMA)DMA传送操作17直接存储器存取(DMA)基本原理:处理器将相应的传输命令发给DMA控制器DMA控制器直接将数据与内存间进行交换当数据传输结束,

4、DMA控制器向处理器发中断信号18DMA配置几种DMA控制器的使用方式19DMA配置几种DMA控制器的使用方式20I/O软件原理I/O软件的目标(1)设备独立性程序能够访问任意的设备不需要事先指定(如读取硬盘,软盘,或光区)统一命名一个文件或设备的名字应该是一个简单的字符串或一个整数不应依赖于任何设备错误处理错误应该尽可能在接近硬件层面得到处理21I/O软件目标(2)同步(Synchronous)和异步(asynchronous)传输阻塞式传输和中断驱动传输缓冲数据离开一个设备后通常并不能直接存放到目的地共享设备和独占设备磁盘是共享设备磁带是独占性设备22程序控制I/O(1)打印一个字符串的

5、步骤23程序控制I/O(2)使用程序控制I/O将一个字符串写到打印机24中断驱动I/O使用中断驱动I/O将一个字符串写到打印机当打印系统被调用时执行的代码打印机的中断服务过程25使用DMA的I/O使用DMA打印一个字符串当打印系统被调用时执行的代码中断服务过程26I/O软件层次I/O软件系统的层次27中断处理程序(1)中断向量程序应该隐藏在操作系统内部将启动I/O操作的驱动程序阻塞起来,直到I/O操作完成且产生一个中断中断处理程序将完成它所要做的全部工作然后将启动中断的驱动程序解除阻塞硬件中断完成之后软件中断的执行步骤保存没有被中断硬件保存的所有寄存器为中断服务过程设置上下文,可能包括设置T

6、LB,MMU和页表28中断处理程序(2)为中断服务过程设置堆栈应答中断控制器,如果不存在集中的中断控制器,则再次开放中断将寄存器从它们被保存的地方复制到进程表中运行中断服务过程,从发出中断的设备控制器的寄存器中提取信息选择下一次运行哪一个进程为下一次要运行的进程设置MMU上下文装入新进程的寄存器开始运行新进程29设备驱动程序设备驱动程序的逻辑定位驱动程序和设备控制器之间的所有通信都通过总线30与设备无关的I/O软件(1)与设备无关的I/O软件功能设备驱动程序的统一接口缓冲错误报告分配与释放专用设备提供与设备无关的块大小31与设备无关的I/O软件(2)(a)没有标准的驱动程序接口(b)具有标准

7、的驱动程序接口32与设备无关的I/O软件(3)(a)无缓冲的输入(b)用户空间中的缓冲(c)内核空间中的缓冲接着复制到用户空间(d)内核空间中的双缓冲33双缓冲使用两个系统内核空间中的缓冲当第一个缓冲区被填满之后,在它被清空之前可以使用第二个缓冲区34循环缓冲可以使用的缓冲区有两个以上EachindividualbufferisoneunitinacircularbufferUsedwhenI/Ooperat

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

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

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