操作系统课件第11章 IO系统
操作系统设计和实现IO设备管理课件
操作系统设计和实现IO设备管理
18
操作系统课程讲义
I/O硬件管理
系统总线对I/O端口编址的影响
操作系统设计和实现IO设备管理
19
操作系统课程讲义
I/O硬件管理
I/O设备的控制方式
❖ 程序控制I/O(轮询或忙等待模式)
➢ CPU直接与I/O设备进行通信,负责将用户数据传送到I/O端口 ➢ 用户程序通过系统调用来使用I/O设备 ➢ CPU需要不断查询I/O设备的端口状态,性能较低
❖IBM PC的软盘控制器
➢ 可接受15条指令:READ、WRITE、SEEK、FORMAT等 ➢ 各条指令均可带参数,指令和相关参数均被设置到接口寄存器中
➢ 位串行工作机制:驱动器提供“位流”,控制器负责在缓冲区中将其 组装为字节,并进行必要的校验和纠错
❖显示器的控制器
➢ 位串行工作机制:从显示缓冲区中读取可供显示的内容,而后产生用 来调制CRT电子束的信号
❖I/O设备接口的价值
➢ 屏蔽底层硬件细节,降低应用者的操作难度 ➢ 体现模块化的特点,适应不同的应用环境 ➢ 通过对I/O设备接口进行标准化,即可方便实现兼容
操作系统设计和实现IO设备管理
12
操作系统课程讲义
课程导论
计算机的系统结构图
操作系统设计和实现IO设备管理
13
操作系统课程讲义
I/O硬件管理
操作系统设计和实现IO设备管理
21
操作系统课程讲义
I/O硬件管理
中断控制I/O的工作流程
❖ “打印服务程序”只将最开始的数据传送至打印机端口,然后阻塞
❖ CPU可继续调度其他进程运行,不浪费CPU时间
❖ 一旦打印缓冲区空后,打印机端口发出硬件中断
计算机输入输出系统(I、O系统)概述PPT(53张)
l=n*(n-1)/2 n=4时, l =6 ; n=5时 l =10 2)非专用总线——即公共总线 总线数少,造价低,总线接口标准化、模块性强,易 于简化和统一接口设计,会出现总线争用,降低效 率。
3 按传递的信息类型分 地址总线AB 数据总线DB 控制总线CB
二、总线控制方式
研究对非专用总线在多个部件同时申请总 线时的裁决控制机构。
目的:采用何种办法来获得对总线的使用。
类型:<集中控制>总线控制逻辑基本上集 中放在一起的裁决控制机构。
<分布控制>总线控制逻辑分散于连到总线 的各个部件中时,称分布控制。
以集中控制为主,要求对各种控制方式 (串行链接、定时查询、独立请求),能画出 结构示意图,叙述获取总线过程,计算所需独 立线数及最长响应的时间。
3)特点: ①各部件使用总线的优先级可随计数器的工作方式的 改变而改变,灵活性强。
Ⅰ)计数器每次都从0开始计数,低编号部件级别高; Ⅱ)计数器采用循环计数时,各部件机会均等。
②可靠性高,但所需独立线数较多:2+log2n 最长响应延时计算
部件请求到发出代码的延时为一个时钟周期,收到代
码到建立忙电平的延时也为一个时钟周期。设初始计
第三章 输入输出系统(I/O系统)
§1 概述
一、I/O系统组成:包括I/O设备,设备控制器 及与I/O操作有关的软硬件。
二、I/O系统的主要功能:对指定外设进行I/O 操作,同时完成许多其他的控制。 包括:外设编址,数据通路的建立,向主 机提供外设的状态信息等。
三、I/O系统应面向OS设计
在高性能多用户计算机系统中,I/O系统的设 计应是面向OS,考虑怎样在OS与I/O系统之间进 行合理的软、硬件功能分配。
操作系统精髓与设计原理-第11章-IO管理和磁盘调度-第12章-文件管理
第十一章 I/O管理和磁盘调度复习题11.1列出并简单定义执行I/O的三种技术。
·可编程I/O:处理器代表进程给I/O模块发送给一个I/O命令,该进程进入忙等待,等待操作的完成,然后才可以继续执行。
·中断驱动I/O:处理器代表进程向I/O模块发送一个I/O命令,然后继续执行后续指令,当I/O模块完成工作后,处理器被该模块中断。
如果该进程不需要等待I/O完成,则后续指令可以仍是该进程中的指令,否则,该进程在这个中断上被挂起,处理器执行其他工作。
·直接存储器访问(DMA):一个DMA模块控制主存和I/O模块之间的数据交换。
为传送一块数据,处理器给DMA模块发送请求,只有当整个数据块传送完成后,处理器才被中断。
11.2逻辑I/O和设备I/O有什么区别?·逻辑I/O:逻辑I/O模块把设备当作一个逻辑资源来处理,它并不关心实际控制设备的细节。
逻辑I/O模块代表用户进程管理的一般I/O功能,允许它们根据设备标识符以及诸如打开、关闭、读、写之类的简单命令与设备打交道。
·设备I/O:请求的操作和数据(缓冲的数据、记录等)被转换成适当的I/O指令序列、通道命令和控制器命令。
可以使用缓冲技术,以提高使用率。
11.3面向块的设备和面向流的设备有什么区别?请举例说明。
面向块的设备将信息保存在块中,块的大小通常是固定的,传输过程中一次传送一块。
通常可以通过块号访问数据。
磁盘和磁带都是面向块的设备。
面向流的设备以字节流的方式输入输出数据,其末使用块结构。
终端、打印机通信端口、鼠标和其他指示设备以及大多数非辅存的其他设备,都属于面向流的设备。
11.4为什么希望用双缓冲区而不是单缓冲区来提高I/O的性能?双缓冲允许两个操作并行处理,而不是依次处理。
典型的,在一个进程往一个缓冲区中传送数据(从这个缓冲区中取数据)的同时,操作系统正在清空(或者填充)另一个缓冲区。
11.5在磁盘读或写时有哪些延迟因素?寻道时间,旋转延迟,传送时间11.6简单定义图11.7中描述的磁盘调度策略。
IO系统运行演示文稿
统一编址:从主存的地址空间中分出一部分地址码 作为I/O的设备代码,利用访存(取数/存数)指令完 成I/O功能。
3
输入输出(I/O)系统概述
设备控制器(I/O接口)的基本功能
实现主机和外围设备之间的数据传送控制。 实现数据缓冲,以达到主机同外围设备之间的
18
外设接口
IDE集成电路设备接口, 智能磁盘设备接口 SCSI小型计算机系统接口 IEEE-488并行接口 EIA RS-232C串行数据通信接口标准 USB通用串行总线接口 IEEE 1394串行接口标准 AGP加速图形接口 PCMCIA (个人计算机存储卡国际协会接口)接口
Lecture 10-1 I/O系统
I/O设备编址方式 I/O设备数据传送方式 中断处理过程 总线类型 外设接口
输入输出(I/O)系统概述
输入输出系统包括外部设备(输入输出设备 和辅助存储器)及其与主机(CPU和存储器) 之间的控制部件。后者称之为设备控制器, 有时也称为设备适配器或接口,其作用是 控制并实现主机与外部设备之间的数据传 送。
总线标准有两类
正式公布的标准:由 IEEE (电气电子工程师学会) 或 CCITT(国际电报电话咨询委员会) 等国际组织正式确 定和承认,并有严格的定义。
实际存在的工业标准。首先由某一厂家提出,而又得 到其他厂家广泛使用。
16
总线结构
总线类型
1. 单总线 不允许2个以上模块 在同一时刻交换信息
13
程序中断输入输出方式
中断处理过程
14
DMA输入输出方式
DMA三种工作方式
1. CPU暂停方式 2. CPU周期窃取方式 3. 直接访问存储器工作方式
操作系统课件.ppt
学习重点
?
控制面板
上面我们了解了一些电脑里面的操作已经程序,现在我们看 看在电脑中的一部分快捷键: ALT+BACKSPACE 或 CTRL+Z 撤销上一步的操作 ALT+SHIFT+BACKSPACE 重做上一步被撤销的操作
Windows键+M 最小化所有被打开的窗口。
Windows键+CTRL+M 重新将恢复上一项操作前窗口的大小 和位置
学习重点
?
现有的操作系统位数区别
如果现在市场上的CPU全部是64位的平台开发的, 那么现在的所有软件都使用不了,因为目前大部分 的软件都是基于32位开发的,目前我们说的64位的 windows7系统也只是在32位系统的基础上添加了一 些64位的寻址功能,其实对于我们来说64位的CPU ,操作系统意义不大,毕竟我们使用的内存大 部分 还是2G,使用的也是常用软件,对于运算速度的要 求也不大。64位主要应用于大型机械或大型服务站 。所以32位和64位相比,64位的速度更快,但是 32 位更适合我们,如果你装了64位的操作系统,你会 发现,很多软件使用不了
学习重点
?
系统驱动
驱动系统,应该叫驱动程序,全称为 “设备驱动程序”是一种可以使计算 机和设备通信的特殊程序,可以 说相 当于硬件的接口,操作系统只有通过 这个接口,才能控制硬件设备的工作 ,假如某设备的驱动程序未能正确安 装,便不能正常工作。 因此,驱动程 序被誉为“ 硬件的灵魂”、“硬件的 主宰”、和“硬件和系统之间的桥梁 ”等。
学习重点
?
基本操作:办公软件
Microsoft Office是微软公司开发 的一套基于 Windows 操作系统 的办公软件套装。常用组件有 Word、Excel、Powerpoint等。 最新版本为Office 365(Office 16) 。
操作系统原理ppt课件
03
02
缓冲区的作用
缓解CPU与外设之间速度不匹配的 矛盾,提高数据传输效率。
缓冲区的管理策略
缓冲区分配、缓冲区回收、缓冲区 满和空的处理等。
04
06
现代操作系统技术
微内核操作系统
微内核架构
微内核仅包含最基本的 功能,如进程调度、内 存管理和进程间通信等 ,其他服务以用户态进 程形式存在。
操作系统的分类与发展
分类
根据使用环境和应用需求,操作系统 可分为批处理系统、分时系统、实时 系统、网络操作系统等。
发展
随着计算机技术的飞速发展,操作系 统也在不断演进,从早期的简单批处 理系统发展到现代的多用户、多任务 、多媒体操作系统。
操作系统的基本特征
并发性
共享性
操作系统可以同时处理多个任务或事件。
I/O控制方式
程序直接控制方式
CPU直接控制外设,进行数据 的输入输出操作。
中断控制方式
外设准备就绪后,向CPU发出 中断请求,CPU响应中断后进 行数据传输。
DMA控制方式
在外设和内存之间开辟直接的 数据交换通道,减少CPU的干 预。
通道控制方式
CPU通过通道来控制外设,实 现更高效的数据传输。
请求分段存储管理
在段式存储管理的基础上,增加请求调段和段置换功能。
请求分页存储管理
在页式存储管理的基础上,增加请求调页和页面置换功能 。
虚拟存储的优缺点
扩大内存容量、提高内存利用率、方便用户编程等;但需 要额外的软硬件支持、可能增加系统开销等。
04
文件管理
文件与文件系统
文件的概念
文件是存储在外部介质上的数据集合,是操作系统进行管理和操作 的基本单位。
操作系统原理第11章 I-O设备管理
11.1.2 光 盘
• 光盘比传统的磁盘有更高的记录密度。光盘最初是为记录 电视节目而开发的,但是作为计算机存储设备,由于它们 潜在的巨大容量,可以被赋予更为重要的用途,并且经历 了令人难以置信的快速发展。但是,即使是最快速的光盘 驱动器也无法与磁盘驱动器相比,它们在性能上不属于同 一个范畴。
11.1.1 磁 盘
• 最后一步是对每一个分区分别执行一次高级格式化。这一 操作要设置一个引导块、空闲存储管理(空闲列表或位图 )、根目录和一个空文件系统。这一操作还要将一个代码 设置在分区表项中,以表明在分区中使用的是哪个文件系 统,因为许多操作系统支持多个兼容的文件系统(由于历 史原因)。这时,系统就可以引导了。
• 1980年,技术与需求方面的结合引出了DVD光盘。最初 DVD是数字视盘的英文首字母缩写,而现在的官方名称 是数字通用光盘(Digital Versatile Disk)。DVD采用与 CD同样的总体设计,使用120mm注模聚碳酸酯盘片,包 含凹痕和槽脊,但有更小的凹痕,更密的螺旋,并使用红 色激光。综合起来,这些改进将容量提高了7倍,达到 4.7GB。
11.1.1 磁 盘
• 对于PC机而言,上述三个参数的最大值常常是(65 535, 16, 63),这是因为需要与最初IBM PC的限制向后兼容。 在IBM PC机器上使用16位、4位和6位的字段来设定这些 参数,其中柱面和扇区从1开始编号,磁头从0开始编号。 根据这些参数以及每个扇区512字节可知,磁盘最大可能 的容量是31.5GB。为突破这一限制,所有现代磁盘现在 都支持一种称为逻辑块寻址的系统,磁盘扇区从0开始连 续编号,而不管磁盘的几何规格如何。
操作系统概念ppt课件
第二章:计算机系统结构
本章主要内容
计算机系统操作 I/O结构 存储结构 存储层次 硬件保护 网络结构 (*)
.
2
现代计算机系统
磁盘
打印机
磁带驱动器
CPU 系统总线
磁盘控制器
打印机 控制器
内存控制器 内存
.
磁带驱动器 控制器
3
2.1 计算机系统操作
I/O设备和CPU可以并发执行 一个设备控制器负责一类设备
.
18
双重模式操作
为了确保操作正常,必须保护操作系统和所有 其他程序及数据使之不受任何故障程序的影响。 所有共享资源都需要保护。
OS必须提供硬件支持用来区分至少以下两种 操作模式
用户模式(user mode) - 代表用户在执行 监督程序模式(monitor mode)- 代表OS在
执行
.
磁盘控制器决定了磁盘设备与计算机之间的逻 辑交互
.
12
移动磁头的磁盘装置
.
13
2.4 存储层次
存储系统按层次组织在一起
速度(Speed) 价格(Cost) 易失性(Volatility)
缓冲(Caching) - 将信息复制到更快速的存 储系统;主存可以看成是辅存的最后一级缓冲
.
14
异步I/O - I/O启动后,控制权无须等待I/O操作完成就 可返回给用户进程。
系统调用 - 请求OS允许用户等待I/O操作的完成
设备状态表包含了每个I/O设备的一个条目,用来指示该 设备的类型、地址和状态(不工作、空闲或繁忙)
OS通过查询I/O设备表来判断设备的状态,并修改该条 目,以反映出现了中断。
时模式位(mode bit)设为监督模式 监督程序检验参数的合法性,执行请求,并将
IO系统组织课件(PPT 212页)
I/O端口与主存统一编址 内存
I/O端口 内存
• I/O端口与主存统一编址方式的优点:
• ① CPU可使用所有存储器操作指令对I/O 端口中数据进行操作,十分灵活和方便 。
• ② 不需要用专门的指令及控制信号区分 是存储器还是I/O操作。使得系统相对简 单。
适合于大、中型机
•
I/O处理机方式
(1)由程序控制的数据传送
• 这种控制方式是指在主机和设备之间的I/O 数据传送,需要通过处理机执行具体的I/O 指令来完成。即由处理机执行所谓的I/O程 序,实现对整个I/O数据传送过程的全程监 督与管理。
• 程序控制方式一般在总线型连接方式中采 用。
• 由程序控制的数据传送可进一步分为直接
处理机
局部总线 高速缓冲存储器/总线桥
主存储器 系统总线
SCSI接口适配器 FireWire接口适配器
图形接口适配器
局域网接口适配器
高速总线
传真机接口适配器
扩展总线接口 调制解调器接口适配器 串行接口适配器
扩展总线
• 扩展总线及I/O接口控制器的作用:
• ① 分流CPU和内存之间以及外设和内存 之间的数据流
9.1.2 I/O系统的组成
• 典型计算机系统中I/O系统的组成: • 系统总线、I/O设备接口控制器、I/O设备
、相关控制软件。
系统总线
CPU 内存储器 设备接口 设备接口
...
设备接口
I/O设备
I/O设备
I/O设备 I/O设备
• 现代计算机系统中I/O系统的组成:
• 扩展总线、I/O设备接口控制器、I/O设备、 相关控制软件。
计算机操作系统(第二版)课件:IO软件
5.5 I/O软件
本节知识小结
1. I/O软件的层次组织 2. 设备独立性的概念、优点、实现方法 3. 设备独立性软件的主要功能 4. 设备驱动程序的特点、功能、处理过程 5. 用户空间的I/O软件
1. 设备独立性的概念:设备无关性
可变的
不变的
物逻理辑设备名
物理设备名
用户给出的 逻辑设备名与物理设备名分开
系统给出的——设备号
5.5 I/O软件
二. 独立于设备的软件
1. 设备独立性的概念 Linux:ls –l /dev
主设备号
次设备号
物理设备名
逻辑设备名
5.5 I/O软件
二. 设备独立性软件
5.5 I/O软件
三. 设备驱动程序
2. 设备驱动程序的特点
哪个小组来说明下设备 驱动程序有哪些特点?
(1) 是请求I/O的进程与设备控制器之间的通信和转换程序。 (2) 驱动程序与设备控制器和I/O设备的硬件特性紧密相关 (3) 驱动程序与I/O设备所采用的I/O控制方式紧密相关。 (4) 驱动程序的一部分代码必须用汇编语言书写。 (5) 驱动程序应允许可重入。
I/O软件
一. I/O软件的层次:
I/O 请求
内 核 空 间
用户层软件
独立于设备的软件 设备驱动程序 中断处理程序 硬件
设备I/O层
逻辑I/O层
I/O 应答 进行I/O调用;格式化I/O 命名、保护、缓冲、分配 设备驱动+中断处理 当I/O结束时,进行中断处理 执行I/O操作
5.5 I/O软件
二. 独立于设备的软件
5.5 I/O软件
三. 设备驱动程序
3. 设备处理方式
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Chapter 11: I/O Systems⏹I/O Hardware 硬件⏹Goals of I/O Software 软件的目标⏹I/O Software Layers 软件的分层⏹Application I/O Interface I/O应用接口⏹Kernel I/O Subsystem 内核I/O子系统⏹Transforming I/O Requests to Hardware Operations从I/O请求到硬件操作⏹Streams流⏹Performance性能I/O Hardware硬件Some typical device, network, and data base ratesI/O Hardware硬件⏹Incredible variety多样性of I/O devices☞Storage 存储☞Transmission 传输☞Human_interface 人机接口⏹Common concepts☞Port 端口☞Bus (daisy chain or shared direct access)总线☞Controller (host adapter)控制器⏹I/O instructions control devices指令控制设备⏹Devices have addresses, used by设备具有地址☞Direct I/O instructions直接I/O指令☞Memory-mapped I/O内存映射I/O⏹An I/O port typically consists of four registers, calledstatus, control, data-in and data-out registers一个I/O端口通常有四类寄存器(状态、控制、输入/输出)Device Controllers设备控制器⏹I/O devices have components:设备由两部分组成☞mechanical component 机械部分☞electronic component 电子部分⏹The electronic component is the devicecontroller电子部分是设备控制器☞may be able to handle multiple devices可管多个设备⏹Controller‘s tasks控制器的任务☞convert serial bit stream to block of bytes串/并转换☞perform error correction as necessary按需要进行校错☞make available to main memory使内存可用Devices Addresses设备地址⏹Separate I/O and memory space与内存分开⏹Memory-mapped I/O内存映射⏹Hybrid混合Bus Architecture总线结构⏹(a) A single-bus architecture单总线⏹(b) A dual-bus memory architecture双总线A Typical PC Bus Structure总线结构Device I/O Port Locations on PCs (partial)PC上的I/O端口I/O的控制形式Polling轮流检测⏹Determines state of device 设备状态☞command-ready就绪☞Busy忙☞Error出错⏹Busy-wait cycle忙等待循环to wait for I/O fromdeviceInterrupts中断⏹CPU Interrupt request line triggered by I/O device由I/O设备触发中断请求线⏹Interrupt handler receives interrupts中断处理函数接受中断⏹Maskable to ignore or delay some interrupts关中断⏹Interrupt vector中断向量to dispatch interrupt to correcthandler处理程序☞Based on priority按优先级☞Some unmaskable一些中断不可屏蔽⏹Interrupt mechanism also used for exceptions中断机制亦用于异常Interrupts Revisited回顾中断⏹How interrupts happens.☞Connections between devices and interrupt controller actually use interrupt lines on the bus rather than dedicatedwiresInterrupt-Driven I/O Cycle 中断驱动器的I/O周期Intel Pentium Processor Event-Vector Table⏹Used to avoid programmed I/O for large datamovement用于大量数据的输入/输出⏹Requires DMA controller需要DMA控制器⏹Bypasses CPU to transfer data directly betweenI/O device and memory绕过CPU直接在内存和外设之间传递数据Six Step Process to Perform DMA Transfer 进程执行DMA传输的六个步骤Steps in printing a stringWriting a string to the printer using programmed I/OInterrupt-Driven I/O ⏹Writing a string to the printer using interrupt-driven I/O☞Code executed when print system call is made系统调用☞Interrupt service procedure中断服务例程I/O Using DMA⏹Printing a string using DMA☞code executed when the print system call is made系统调用☞interrupt service procedure中断服务例Characteristics特征of I/O DevicesGoals of I/O Software I/O软件的目标Goals of I/O SoftwareI/O软件的目标⏹Device independence设备独立☞programs can access any I/O device 程序可访问任何设备☞without specifying device in advance无法提前指定设备·(floppy, hard drive, or CD-ROM)⏹Uniform naming统一命名☞name of a file or device a string or an integer字符串或整数☞not depending on which machine不依赖于机器⏹Error handling错误处理☞handle as close to the hardware as possible处理时离硬件越近越好.Goals of I/O Software (cont.)⏹Synchronous vs. asynchronous transfers同步/异步传输☞blocked transfers vs. interrupt-driven阻塞传输/中断驱动⏹Buffering缓存☞data coming off a device cannot be stored in final destination来自设备的数据不能直接保存到最终目的地址⏹Sharable vs. dedicated devices共享/专用设备☞disks are sharable磁盘是共享的☞tape drives would not be磁带驱动器是专用的I/O Software Layers分层I/O Software Layers分层Interrupt Handlers 中断处理⏹Interrupt handlers are best hidden被隐藏☞have driver starting an I/O operation block until interrupt notifies of completion驱动程序被阻塞,直到完成中断发生⏹Interrupt procedure does its task☞then unblocks driver that started it中断处理程序唤醒驱动程序Interrupt Handlers (cont.)⏹Steps must be performed in software afterinterrupt completed中断完成后软件需要完成的步骤☞Save regs not already saved by interrupt hardware ☞Set up context for interrupt service procedure☞Set up stack for interrupt service procedure☞Ack interrupt controller, reenable interrupts☞Copy registers from where saved☞Run service procedure☞Set up MMU context for process to run next☞Load new process' registers☞Start running the new processDevice Drivers设备驱动程序⏹I/O system calls系统调用encapsulate封装devicebehaviors in generic classes⏹Device-driver layer设备驱动层hides differences amongI/O controllers控制器from kernel⏹Devices vary in many dimensions设备在多方面存在差别☞Character-stream or block字符流或块☞Sequential or random-access顺序或随机访问☞Sharable or dedicated共享或专用☞Speed of operation操作速度☞read-write, read only, or write only⏹Device Drivers present a uniform device access interfaceto the I/O subsystem设备驱动给I/O子系统提供统统一接口☞much as system calls provide a standard interface between the application and the OS数量跟给用户的系统调用一样多Device-Independent I/O Software设备无关I/O软件Uniform interfacing for device drivers设备驱动的统一接口Buffering缓存Error reporting错误报告Allocating and releasing dedicate devices申请/释放专用设备Providing a device-independent block size设备无关块大小Functions of the device-independent I/O software设备无关I/O软件的功能Device-Independent I/O Software (cont.)(a) Without a standard driver interface没有标准接口(b) With a standard driver interface有标准接口Device-Independent I/O Software (cont.)⏹(a) Unbuffered input未缓存的输入⏹(b) Buffering in user space在用户空间缓存⏹(c) Buffering in the kernel followed by copying to userspace在内核空间缓存,拷贝到用户空间⏹(d) Double buffering in the kernel内核空间双(交替)缓存Device-Independent I/O Software (cont) Networking may involve many copies网络引发多重缓存Layers of the I/O system and the main functions of each layerLayers of the I/O system and the main functions of each layerA Kernel I/O Structure驱动程序之间的分层Block and Character Devices块设备和字符设备⏹Block devices include disk drives(可按地址访问)☞Commands include read, write, seek☞Raw I/O or file-system access☞Memory-mapped file access possible⏹Character devices include keyboards, mice, serial ports☞Commands include get, put☞Libraries layered on top allow line editingNetwork Devices网络设备⏹Varying enough from block and character to have owninterface从块到字符变化,有自己的接口⏹Unix and Windows NT/9i/2000 include socket interface☞Separates network protocol from network operation☞Includes select functionality⏹Approaches vary widely (pipes, FIFOs, streams, queues,mailboxes)Clocks时钟and Timers定时器⏹Provide current time当前时间, elapsed time流逝时间,timer实时器⏹If programmable interval timer可编程定时器is used fortimings, periodic interrupts定期中断are needed⏹ioctl(on UNIX) covers odd不规则的aspects of I/Osuch as clocks and timers不规则的I/O操作系统通过ioctlThree ways to maintain the time of daySimulating multiple timers with a single clockBlocking and Nonblocking I/O阻塞式和非阻塞I/O⏹Blocking 阻塞-process suspended until I/O completed☞Easy to use and understand☞Insufficient for some needs⏹Nonblocking 非阻塞-I/O call returns as much as available☞User interface, data copy (buffered I/O)☞Implemented via multi-threading☞Returns quickly with count of bytes read or written⏹Asynchronous 异步-process runs while I/O executes☞Difficult to use☞I/O subsystem signals process when I/O completedApplication I/O InterfaceI/O应用接口Application I/O InterfaceI/O应用接口⏹I/O system calls系统调用encapsulate封装devicebehaviors in generic classes⏹Device-driver layer设备驱动层hides differences amongI/O controllers控制器from kernel⏹Devices vary in many dimensions设备在多方面存在差别☞Character-stream or block字符流或块☞Sequential or random-access顺序或随机访问☞Sharable or dedicated共享或专用☞Speed of operation操作速度☞read-write, read only, or write only⏹Device Drivers present a uniform device access interfaceto the I/O subsystem设备驱动给I/O子系统提供统统一接口☞much as system calls provide a standard interface between the application and the OS数量跟给用户的系统调用一样多Kernel I/O Subsystem 内核的I/O子系统Kernel I/O Subsystem内核的I/O子系统⏹Scheduling设备调度☞Some I/O request ordering via per-device queue设备排队☞Some OSs try fairness公平⏹Buffering缓存-store data in memory while transferringbetween devices☞To cope with device speed mismatch解决速度不匹配☞To cope with device transfer size mismatch解决传输块大小不匹配☞To maintain “copy semantics”Kernel I/O Subsystem (cont.)⏹Caching高速缓存-fast memory holding copy of data☞Always just a copy☞Key to performance⏹Spooling假脱机-hold output for a device☞If device can serve only one request at a time☞i.e., Printing⏹Device reservation预留-provides exclusive access to adevice☞System calls系统调用for allocation and deallocation☞Watch out for deadlock警惕死锁Sun Enterprise 6000 Device-Transfer RatesError Handling错误处理⏹OS can recover from disk read, device unavailable,transient短暂的write failures⏹Most return an error number or code when I/O requestfails返回错误号⏹System error logs hold problem reports系统错误日志。