设备管理.

Slides:



Advertisements
Similar presentations
《微型计算机技术 及应用》 ( 第 4 版) —— 戴梅萼 史嘉权. 目标 深刻理解 牢固掌握 灵活应用.
Advertisements

高校教师、高级项目经理 任铄 QQ : 第一章 操作系统引论 1.1 操作系统的目标和作用 1.2 操作系统的发展过程 1.3 操作系统的基本特性 1.4 操作系统的主要功能 1.5 OS 结构设计.
Linux 系统. 操作系统发展需求 1 没有操作系统 2 简单批处理操作系统 3 多道程序设计的批处理 4 多道程序设计的分时操作系统 5 多处理机并行系统 6 网络操作系统 7 分布式操作系统.
1 I/O 设备访问方式和类型. 2 Overview n The two main jobs of a computer: l I/O (Input/Output) l processing n The control of devices connneted to the computer is.
第3章 系统总线 3.1 总线的基本概念 3.2 总线的分类 3.3 总线特性及性能指标 3.4 总线结构 3.5 总线控制 本章主要知识点小结.
NAT与ICMP交互.
第五章 输入输出系统 5.1 概述 5.3 接口 5.3 系统总线 5.4 直接程序传送方式接口 5.5 中断方式与接口
计算机网络课程总结 一、计算机网络基础 计算机网络定义和功能、基本组成 OSI/RM参考模型(各层的功能,相关概念, 模型中数据传输 等)
LSF系统介绍 张焕杰 中国科学技术大学网络信息中心
Chap4 電腦硬體基本單元 高中資訊科技概論 松崗圖書公司.
第七章 输入输出设备.
计算机应用基础 计算机基础知识.
计算机组装与维护.
操作系统结构.
实用操作系统概念 张惠娟 副教授 1.
第五章 设备管理 5.1 I/O系统 5.2 I/O控制方式 5.3 缓冲管理 5.4 设备分配 5.5 设备处理 5.6 磁盘存储器管理.
第五章 设备管理 5.1 I/O系统 5.2 I/O控制方式 5.3 缓冲管理 5.4 设备分配 5.5 设备处理 5.6 磁盘存储器管理.
第五章 设 备 管 理 5.1 I/O系统 5.2 I/O控制方式 5.3 缓冲管理 5.4 I/O软件 5.5 设备分配
基于解释性语言的手机跨平台架构 Sloan Yi. Qt MTK.
Chapter 13 輸入/輸出系統 (I/O Systems)
在PHP和MYSQL中实现完美的中文显示
计算机基础知识 丁家营镇九年制学校 徐中先.
主讲教师:唐大仕 第5讲 计算机硬件 主讲教师:唐大仕
Kvm异步缺页中断 浙江大学计算机体系结构实验室 徐浩.
LSF系统介绍 张焕杰 中国科学技术大学网络信息中心
Hadoop I/O By ShiChaojie.
计算机组成与系统结构 陈泽宇 副教授.
5 Computer Organization (計算機組織).
第9章 声卡与音箱 9.1 声卡 9.2 音箱.
第七章设备管理 7. 1 概述 7. 2 I/O软件的组成 7. 3 I/O硬件特点 7. 4 有关技术 7. 5 网络设备 7
存储系统.
中国科学技术大学计算机系 陈香兰 Fall2013 第九讲 设备管理 中国科学技术大学计算机系 陈香兰 Fall2013.
SQL Injection.
乐驾-车载无线终端-CARRO 产品类型:车载无线路由器 建议零售价格:¥599 江苏鸿信
第一单元 初识C程序与C程序开发平台搭建 ---观其大略
Windows网络操作系统管理 ——Windows Server 2008 R2.
文件读写实践 广州创龙电子科技有限公司 01 广州创龙电子科技有限公司
第十章 IDL访问数据库 10.1 数据库与数据库访问 1、数据库 数据库中数据的组织由低到高分为四级:字段、记录、表、数据库四种。
数据挖掘工具性能比较.
CPU结构和功能.
Windows 7 的系统设置.
宁波市高校慕课联盟课程 与 进行交互 Linux 系统管理.
7.1.1 设备管理的功能(P95) 分配设备:按设备的不同类型和操作系统选用的算法分配。包括分配相应的通道、设备控制器以及对未分配到的任务或怍业进行排队等; 控制和实现真正的输入输出操作。包括通道程序控制、启动设备、及时响应及处理中断讯号等; 对输入输出缓冲区进行管理。例如逻辑名的管理,多个缓冲区的分时以及串并行操作,同类多个外部设备的均衡工作,避免“忙的忙”和“闲的闲”;
Unit 11.Operating System 11.1 What’s OS 11.2 Related Courses
操作系统原理与设计 Operating Systems: Design and Implementation
内容摘要 ■ 课程概述 ■ 教学安排 ■ 什么是操作系统? ■ 为什么学习操作系统? ■ 如何学习操作系统? ■ 操作系统实例
C语言程序设计 主讲教师:陆幼利.
微机系统的组成.
K60入门课程 02 首都师范大学物理系 王甜.
本节内容 随机读取 视频提供:昆山爱达人信息技术有限公司.
实验四、TinyOS执行机制实验 一、实验目的 1、了解tinyos执行机制,实现程序异步处理的方法。
Cassandra应用及高性能客户端 董亚军 来自Newegg-NESC.
实验七 安全FTP服务器实验 2019/4/28.
成绩是怎么算出来的? 16级第一学期半期考试成绩 班级 姓名 语文 数学 英语 政治 历史 地理 物理 化学 生物 总分 1 张三1 115
信号量(Semaphore).
解决“最后1公里”问题.
第八章 总线技术 8.1 概述 8.2 局部总线 8.3 系统总线 8.4 通信总线.
魏新宇 MATLAB/Simulink 与控制系统仿真 魏新宇
苏教版小学信息技术3年级第2课 认识计算机.
第六章设备管理 本章重点: 1.掌握设备管理的功能和任务; 2.掌握设备的分类方法; 3.掌握I/O控制的实现;
临界区问题的硬件指令解决方案 (Synchronization Hardware)
GIS基本功能 数据存储 与管理 数据采集 数据处理 与编辑 空间查询 空间查询 GIS能做什么? 与分析 叠加分析 缓冲区分析 网络分析
实验目的:掌握数据的顺序存储结构及它们在计算机中的操作。 实验内容:
C++语言程序设计 C++语言程序设计 第一章 C++语言概述 第十一组 C++语言程序设计.
李元金 计算机与信息工程学院 第 17 讲 设备管理(1) 李元金 计算机与信息工程学院 1/
FVX1100介绍 法视特(上海)图像科技有限公司 施 俊.
李元金 计算机与信息工程学院 第 18 讲 设备管理(2) 李元金 计算机与信息工程学院 1/
5.1 I/O系统 5.2 I/O控制方式 5.3 缓冲管理 5.4 设备分配 5.5 设备处理 5.6 磁盘存储器管理
工业机器人入门使用教程 ESTUN机器人 主讲人:李老师
DSP技术与应用 电子与信息技术系.
Presentation transcript:

设备管理

主要内容 概述 输入/输出处理 缓冲技术 驱动调度技术 设备分配 虚拟设备

概述 计算机的外围设备分为(设备管理的对象): 设备管理的目的: 存储型设备,以存储大量信息和快速检索为目标,如磁带机、磁盘机 输入输出型设备,将外界信息输入计算机,把计算结果从计算机输入。如显示器、卡片机、打印机 设备管理的目的: 方便用户使用各种各样的外围设备,同时提高各种外围设备的并行性,从而提高其利用率

I/O处理全过程 User Program Kernel I/O Subsystem Device Driver Top Half Bottom Half Device Hardware

设备管理的目标和功能 根据用户请求,控制各类设备实现用户的目标 向用户提供方便的设备接口,屏蔽底层硬件细节差别。 控制设备操作,实现设备与内存的数据交换 设备的分配与回收、设备驱动程序、设备中断管理等 管理缓冲区的建立、分配和释放。 向用户提供方便的设备接口,屏蔽底层硬件细节差别。 虚拟机——逻辑设备的作用:用户能够简单方便的使用I/O设备 设备接口的方便性、友好性、透明性、设备无关性 利用各种技术,提高设备的运行效率 设备与CPU之间、设备之间的并行 设备负载的均衡:保持设备的充分忙碌 主要利用的技术有:中断技术、DMA技术、通道技术、缓冲技术 实现对设备的管理和保护 设备的分配与回收:针对独占设备和共享设备,实现合理的资源分配 设备的数据保护:不同设备之间的保护、设备内部的保护

概述 设备管理是操作系统中最庞杂和琐碎的部分。其主要内容: 外围设备中断处理 缓冲区管理 外围设备的登记和使用情况跟踪以及分配和去配 外围设备驱动调度 虚拟设备及其实现 基本

输入/输出处理 输入/输出系统的组成 I/O设备及其接口线路 控制部件 通道 管理软件 硬件 软件 输出 外围设备 主存 输入

设备的分类 I/O设备的种类繁多,从OS观点来看,其重要的性能指标有:数据传输速率、数据的传输单位、设备的共享属性等。 1.按传输速率分类 低速设备:指传输速率为每秒钟几个字节到数百个字节的设备。典型的设备有键盘、鼠标、语音的输入等; 中速设备:指传输速率在每秒钟数千个字节至数十千个字节的设备。典型的设备有行式打印机、激光打印机等; 高速设备:指传输速率在数百千个字节至数兆字节的设备。典型的设备有磁带机、磁盘机、光盘机等。

2.按信息交换的单位分类 块设备(Block Device):指以数据块为单位来组织和传送数据信息的设备。这类设备用于存储信息,有磁盘和磁带等。它属于有结构设备。典型的块设备是磁盘,每个盘块的大小为512B~4KB,磁盘设备的基本特征是:①传输速率较高,通常每秒钟为几兆位;②它是可寻址的,即可随机地读/写任意一块;③磁盘设备的I/O采用DMA方式。 字符设备(Character Device):指以单个字符为单位来传送数据信息的设备。这类设备一般用于数据的输入和输出,有交互式终端、打印机等。它属于无结构设备。字符设备的基本特征是:①传输速率较低;②不可寻址,即不能指定输入时的源地址或输出时的目标地址;③字符设备的I/O常采用中断驱动方式。

3.按资源分配的角度分类 独占设备:指在一段时间内只允许一个用户(进程)访问的设备,大多数低速的I/O设备,如用户终端、打印机等属于这类设备。因为独占设备属于临界资源,所以多个并发进程必须互斥地进行访问。 共享设备:指在一段时间内允许多个进程同时访问的设备。显然,共享设备必须是可寻址的和可随机访问的设备。典型的共享设备是磁盘。共享设备不仅可以获得良好的设备利用率,而且是实现文件系统和数据库系统的物质基础。 虚拟设备:指通过虚拟技术将一台独占设备变换为若干台供多个用户(进程)共享的逻辑设备。一般可以利用假脱机技术(SPOOLing技术)实现虚拟设备。

输入/输出设备分类 4. 按输入、输出特征 输入型、输出型、存储型 5. 按存取方式 顺序型 直接型(随机)

输入/输出处理 输入/输出控制方式 I/O控制器(管理软件),对设备进行管理/并实施具体的I/O操作 按其功能的强弱、以及与CPU的联系方式(并行度的差异),可分为: 询问方式 中断方式 DMA方式 通道方式

输入/输出处理 输入/输出控制方式 询问方式 程序直接控制方式,不断查询外围设备的工作状态(忙式等待) CPU与I/O设备之间串行工作 效率低下

询问方式(程序直接控制方式)的工作流程 由操作系统的“服务程序”负责将用户数据传送至打印机端口 服务程序顺序传送打印数据,填满接口缓冲区后就等待(空循环) 每次循环中都检查接口缓冲区是否可用,一旦可用就继续传送数据 数据传送完成后“服务程序”结束,用户进程继续运行 缺点:靠CPU以“忙等待”的形式与打印机进行通信,浪费CPU资源

输入/输出处理 输入/输出控制方式 中断方式 中断技术的引入,使得外围设备有表达其工作状态的能力 CPU与I/O设备之间可以部分并行工作,但数据传输时,CPU需要参与工作,仍为串行工作方式 效率有所提高

中断控制I/O的工作流程 “打印服务程序”只将最开始的数据传送至打印机端口,然后阻塞 CPU可继续调度其他进程运行,不浪费CPU时间 一旦打印缓冲区空后,打印机端口发出硬件中断 CPU响应中断,恢复“打印服务程序”运行,继续传送数据 缺点:虽然节省了CPU资源,但是中断响应也消耗较大的系统资源

输入/输出处理 输入/输出控制方式 DMA方式 I/O设备可直接与主存交换数据,而不需要CPU过多的干预 DMA具有处理器的能力,与CPU共享对总线的控制 数据在主存与I/O设备之间以块为单位传输,传输过程不需要占用CPU时间 CPU与I/O设备之间可以并行工作,效率较高 缺点:CPU还需要在块与块之间对I/O操作进行干预

DMA控制I/O的工作流程 用户进程发出系统调用后进入阻塞态,CPU直接设置DMA端口 CPU与DMA并行工作,DMA负责将用户数据传送给打印机 当DMA完成所有工作后,向CPU发出中断,CPU响应后唤醒用户进程 优点:只有一次中断、DMA与CPU并行提高了系统运行效率 缺点:DMA速度较慢,如果CPU并不繁忙,那么DMA机制并无太大意义

输入/输出处理 输入/输出控制方式 通道方式 减少CPU对I/O操作的干预,只是在开始启动时执行相应指令,并在操作结束时通过中断通知执行代码进行处理。 CPU与I/O设备之间完全并行工作 效率高

(1)字节多路通道(Byte Multiplexor Channel):按字节交叉方式工作,每个通道完成一个字节交换后便让出通道。 … A1A2A3... B1B2B3... C1C2C3... A1B1C1…A2B2C2 ... 设备

(2)数组选择通道(Block Selector Channel):字节多路通道不适于连接高速设备,推动了按组数方式进行数据传送的数组选择通道的形成。这种通道虽然可以连接多台高速设备,但只含有一个分配型子通道,在一段时间内只能执行一道通道程序,且独占方式,直至该设备传送完毕释放该通道。 (3)数组多路通道(Block Multiplexor Channel):这是将数组选择通道的高速和字节多路通道的分时并行结合起来的一种新通道。 瓶颈问题:通道相对设备较少而造成数据交换阻塞。

总线系统 计算机系统中的各部件如CPU、内存以及各种I/O设备之间的联系,都是通过总线来实现的。总线性能是用时钟频率、带宽和相应的总线传输速率来衡量。 1 ISA(Industry Standard Architecture):原先带宽8位,2Mb/s速率,后为16位,16Mb/s速率。 2.EISA(Extended ISA):带宽32位,速率32Mb/s。 3.局部总线:是指将多媒体卡、高速LAN网卡、高性能显示卡等,从总线上分离,通过局部总线控制器,直接接到CPU总线上,使之具有高速数据交换能力。 4.VESA(Video Electronic Standard Association):32位,可达132Mb/s,但控制器无缓冲,且连Pentium也不支持。 5.PCI(Peripheral Component Interface):支持64位系统,它在CPU和外设之间加了一层复杂的管理系统,用于协调数据传输和提供一致的接口。能适应高频率的CPU。

SCSI总线 PC/XT总线 ISA总线 MCA总线 EISA总线 VESA总线 PCI总线 USB总线 微型计算机总线的种类和发展:

USB技术:USB(Universal Serial Bus)通用串行总线,是一种连接I/O串行设备的技术标准。 (1)冲破了计算机技术发展的两个历史局限性:由于I/O设备的接口标准的不一致和有限的接口数量已无法满足各种应用迫切需要;传统的I/O设备的接口无法满足实时数据传输与多媒体应用的需求。 (2)USB以WDM(Windows Driver Model)模型为基础,WDM包含一套通用的I/O服务和二进制兼容的设备驱动程序。 (3)USB支持同步数据传输方式和异步数据传输方式,其数据传输率有低速1.5Mbps和全速12Mbps乃至上百Mbps,比标准串口快上百倍。

(4)USB可以主动为外部设备提供电源,允许外部设备快速连接,具有即插即用的功能。 (5)允许外部设备的热插拔。 (6)控制器的功能:控制器主要负责执行由控制器驱动程序发出的命令。 (7)控制器驱动程序:控制器驱动程序在控制器与USB设备之间建立通信信道。 (8)USB芯片驱动程序:USB芯片驱动程序提供了对USB的支持。 (9)USB设备分为两类: 1.USB集线器:本身可再接其他USB外围设备。 2.USB设备:连接在计算机上用来完成特定功能并符合USB规范的I/O设备单元,如鼠标、键盘等。 (10)4种不同的数据传输方式:

1.等时传输方式:以固定的传输速率,连续不断传输数据,发生错误时,USB不处理,而是继续传送新的数据。用于需要连续传输,且对数据的正确性要求不高而对时间极为敏感的外部设备,如麦克风、音箱以及电话等。 2.中断传输方式:该方式传送的数据量很小,但这些数据需要及时处理,以达到实时效果,此方式主要用在键盘、鼠标以及游戏手柄等外部设备上。 3.控制传输方式:处理主机的USB设备的数据传输,包括设备控制指令、设备状态查询及确认命令。当USB设备收到这些数据和命令后将按照先进先出的原则按队列方式处理到达的数据。 4.批量传输方式:用来传输要求正确无误的数据。通常打印机、扫描仪和数码相机以这种方式与主机连接。除等时传输方式外,其他3种方式在数据传输发生错误时,都会试图重新发送数据以保证其准确性。

SCSI接口技术: (1)小型计算机系统接口(Small Computer System Interface):一个SCSI I/O设备控制器,可将新型高速I/O设备增加到计算机系统中。 (2)SCSI 设备控制器的智能化I/O控制:降低了计算机系统的负担,使计算机系统具有更高的I/O能力。

缓冲技术 动因: 基本思想, 改善CPU与外围设备之间速度不匹配的矛盾 协调逻辑记录大小与物理记录大小不一致的问题 减少I/O操作对CPU执行的中断次数 放宽对CPU中断响应时间的要求 基本思想, 当一个进程执行写操作输出数据时,先向系统申请一个输出缓冲区,然后,将数据高速送到缓冲区。若为顺序写请求,则不断把数据填到缓冲区,直至装满。输入缓冲区类似。

设备速度差异 Sun Enterprise 6000 的设备传输率

缓冲技术 缓冲技术分类: 单缓冲 一种简单的缓冲技术,效率较低 双缓冲 又称缓冲交换。两个缓冲区轮流工作。 多缓冲 多级缓冲组成循环缓冲。

高速缓存 cache – 保留数据拷贝的高速内存 总是数据的拷贝 性能的关键 缓冲与高速缓存 缓冲只保留数据仅有的一个现存拷贝 高速缓存提供了一个驻留在其它地方的数据的一个高速拷贝

即插即用技术(Plug and Play) 即插即用技术(Plug and Play) PnP技术:是计算机系统I/O设备与部件配置的应用技术。顾名思义:插入就可用,不需要进行任何设置操作。 PnP技术的产生:由于一个系统可以配置多种外部设备,设备也经常变动和更换,它们都要占有一定的系统资源,彼此间在硬件和软件上可能会产生冲突。因此在系统中要正确地对它们进行配置和资源匹配;当设备撤除、添置和进行系统升级时,配置过程往往是一个困难的过程。

PnP技术的特点: (1)支持I/O设备及部件的自动配置,使用户能够简单方便地使用系统扩充设备; (2)减少由制造商装入的种种用户支持和限制,简化部件的硬件跳接设置,使I/O附加卡和部件不再具有人工跳接线设置电路。 (3)在主板和附加卡上保存系统资源的配置参数和分配状态,有利于系统对整个I/O资源的分配和控制。 (4)支持和兼容各种操作系统平台,具有很强的扩展性和可移植性。 (5)在一定程度上具有“热插入”、“热拼接”技术。 PnP技术的功能: (1)附加卡的识别与确认。 (2)资源分配。 (3)附加卡自动配置。 多方支持:具有PnP功能的操作系统、配置管理软件、软件安装程序、设备驱动程序等;网络设备的PnP支持;系统平台的支持(如PnP主板、控制芯片组和PnP BIOS等);各种支持PnP规范总线的I/O控制卡和部件。

调度 调度: 一组I/O 请求就是确定一个好的顺序来执行这些请求。 os为每个设备维护一个请求队列来实现调度 应用程序所发布的系统调用的顺序并不一定总是最佳选择。 调度能改善系统整体性能,能在进程之间公平的共享设备访问,能减少I/O完成所需要的平均等待时间 example: 磁头移动 os为每个设备维护一个请求队列来实现调度 I/O调度安排队列顺序以改善系统总体效率和应用程序的平均响应时间 公平

设备分配 设备分配 为计算机系统接纳的每个计算任务分配所需要的外围设备

设备分配 设备的独立性 作业(程序)与物理外围设备之间独立 作业指定的逻辑设备,而不指定特定的物理设备 设备管理程序负责将逻辑设备名转换成物理设备名 优点: 应用程序与物理外围设无关,系统增减或变更外围设备不影响程序的执行,易于对付输入输出设备的故障

设备分配 设备按其使用特性可分为: 对独占设备通常采用静态分配方式 对共享设备通常不需要预先分配 常见的分配算法: 独占设备(独占方式分配),如读卡机 共享设备(共享方式分配),如磁盘 虚拟设备(虚拟方式分配) 对独占设备通常采用静态分配方式 对共享设备通常不需要预先分配 常见的分配算法: 先来先服务 优先级高者先服务

虚拟设备 Spooling 技术是用一类物理设备模拟另一类物理设备的技术。其作用: 使独立使用的设备变成可共享设备 处理器与外围设备速度匹配

假脱机与设备预约 spooling – 用来保存设备输出的缓冲 如果设备一次只能服务于一个请求 比如,打印机 应用程序的输出先是假脱机到一个独立的磁盘文件上 device reservation -提供对设备的独占访问,如允许进程分配一个空闲设备以及不再需要时再释放该设备 分配和再分配的系统调用 小心死锁

错误处理 采用内存保护的OS可以预防许多硬件和应用程序的错误,从而不会因为小的机械失灵导致完全的系统崩溃。 操作系统可以恢复磁盘读,设备无效,暂时的失败 当I/O失败时,系统调用大多数返回一位调用状态信息,以表示成功或失败 系统日志记录了出错报告

运行参数: 上千种不同的设备, 设备可靠性难以保证: 媒介失效或传输错误 设备的难以预测/速度慢 字节/块 顺序/随机 假脱机/中断 接口标准化。如何标准化 设备可靠性难以保证: 媒介失效或传输错误 设备的难以预测/速度慢 运行参数: 字节/块 键盘 等 硬盘,网络等 顺序/随机 假脱机/中断 有些设备需要持续的监测 有些则利用中断机制

设备的传输速率差异极大 操作系统必须能够处理这些传输速率差异极大的设备 快速设备:Better not have high overhead/byte 慢速设备:Better not waste time waiting

访问方式 块设备: e.g. disk drives, tape drives, DVD-ROM Access blocks of data Commands include open(), read(), write(), seek() Raw I/O or file-system access Memory-mapped file access possible 字符设备: e.g. keyboards, mice, serial ports, some USB devices Single characters at a time Commands include get(), put() Libraries layered on top allow line editing 网络设备: e.g. Ethernet, Wireless, Bluetooth Different enough from block/character to have own interface Unix and Windows include socket interface Separates network protocol from network operation Includes select() functionality Usage: pipes, FIFOs, streams, queues, mailboxes

访问时机 Blocking Interface: “Wait” When request data (e.g. read() system call), put process to sleep until data is ready When write data (e.g. write() system call), put process to sleep until device is ready for data Non-blocking Interface: “Don’t Wait” Returns quickly from read or write request with count of bytes successfully transferred Read may return nothing, write may write nothing Asynchronous Interface: “Tell Me Later” When request data, take pointer to user’s buffer, return immediately; later kernel fills buffer and notifies user When send data, take pointer to user’s buffer, return immediately; later kernel takes data and notifies user

Main components of Intel Chipset: Pentium 4 Northbridge: Handles memory Graphics Southbridge: I/O PCI bus Disk controllers USB controllers Audio Serial I/O Interrupt controller Timers