第11章 设备管理 (Chapter 11 Device Management)

Slides:



Advertisements
Similar presentations
7.1 内置对象概述及分类 JSP 视频教学课程. JSP2.2 目录 1. 内置对象简介 1. 内置对象简介 2. 内置对象分类 2. 内置对象分类 3. 内置对象按功能区分 3. 内置对象按功能区分 4. 内置对象作用范围 4. 内置对象作用范围.
Advertisements

数据结构的引入. 通讯录管理 社团机构管理 校园导航管理 通讯录管理 社团机构管理 校园导航管理.
高校教师、高级项目经理 任铄 QQ : 第一章 操作系统引论 1.1 操作系统的目标和作用 1.2 操作系统的发展过程 1.3 操作系统的基本特性 1.4 操作系统的主要功能 1.5 OS 结构设计.
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.
LSF系统介绍 张焕杰 中国科学技术大学网络信息中心
第五章 设备管理 5.1 I/O系统 5.2 I/O控制方式 5.3 缓冲管理 5.4 设备分配 5.5 设备处理 5.6 磁盘存储管理.
实验四 利用中规模芯片设计时序电路(二).
实用操作系统概念 张惠娟 副教授 1.
最新計算機概論 第3章 計算機組織.
第五章 设备管理 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 设备分配
Chapter 13 輸入/輸出系統 (I/O Systems)
C++中的声音处理 在传统Turbo C环境中,如果想用C语言控制电脑发声,可以用Sound函数。在VC6.6环境中如果想控制电脑发声则采用Beep函数。原型为: Beep(频率,持续时间) , 单位毫秒 暂停程序执行使用Sleep函数 Sleep(持续时间), 单位毫秒 引用这两个函数时,必须包含头文件
在PHP和MYSQL中实现完美的中文显示
计算机基础知识 丁家营镇九年制学校 徐中先.
第5节 磁盘 磁盘的结构 磁盘的地址 磁盘访问的优化 磁盘使用过程 举例.
Kvm异步缺页中断 浙江大学计算机体系结构实验室 徐浩.
LSF系统介绍 张焕杰 中国科学技术大学网络信息中心
5 Computer Organization (計算機組織).
Operating System Internals and Design principles
存储系统.
Proware Technology Corp.
SOA – Experiment 3: Web Services Composition Challenge
中国科学技术大学计算机系 陈香兰 Fall2013 第九讲 设备管理 中国科学技术大学计算机系 陈香兰 Fall2013.
大学计算机基础 典型案例之一 构建FPT服务器.
走进编程 程序的顺序结构(二).
网络常用常用命令 课件制作人:谢希仁.
Windows网络操作系统管理 ——Windows Server 2008 R2.
PURSUING EXCELLENCE / TOWARD SUCCESS WUCHANG UNIVERSITY OF TECHNOLOGY
第十章 IDL访问数据库 10.1 数据库与数据库访问 1、数据库 数据库中数据的组织由低到高分为四级:字段、记录、表、数据库四种。
Online job scheduling in Distributed Machine Learning Clusters
逆向工程-汇编语言
第五章 设备管理.
CPU结构和功能.
用event class 从input的root文件中,由DmpDataBuffer::ReadObject读取数据的问题
宁波市高校慕课联盟课程 与 进行交互 Linux 系统管理.
Java语言程序设计 清华大学出版社 第8章 输入输出流(1).
宁波市高校慕课联盟课程 与 进行交互 Linux 系统管理.
7.1.1 设备管理的功能(P95) 分配设备:按设备的不同类型和操作系统选用的算法分配。包括分配相应的通道、设备控制器以及对未分配到的任务或怍业进行排队等; 控制和实现真正的输入输出操作。包括通道程序控制、启动设备、及时响应及处理中断讯号等; 对输入输出缓冲区进行管理。例如逻辑名的管理,多个缓冲区的分时以及串并行操作,同类多个外部设备的均衡工作,避免“忙的忙”和“闲的闲”;
Unit 11.Operating System 11.1 What’s OS 11.2 Related Courses
SOA – Experiment 2: Query Classification Web Service
内容摘要 ■ 课程概述 ■ 教学安排 ■ 什么是操作系统? ■ 为什么学习操作系统? ■ 如何学习操作系统? ■ 操作系统实例
C语言程序设计 主讲教师:陆幼利.
微机系统的组成.
顺序表的删除.
本节内容 随机读取 视频提供:昆山爱达人信息技术有限公司.
实验四、TinyOS执行机制实验 一、实验目的 1、了解tinyos执行机制,实现程序异步处理的方法。
Cassandra应用及高性能客户端 董亚军 来自Newegg-NESC.
第五章 设备管理 5.1 I/O系统 5.2 I/O控制方式 5.3 缓冲管理 5.4 设备分配 5.5 设备处理 5.6 磁盘存储器管理.
<编程达人入门课程> 本节内容 内存的使用 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群: ,
成绩是怎么算出来的? 16级第一学期半期考试成绩 班级 姓名 语文 数学 英语 政治 历史 地理 物理 化学 生物 总分 1 张三1 115
信号量(Semaphore).
数据报分片.
本节内容 文件系统 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
Visual Basic程序设计 第13章 访问数据库
第六章设备管理 本章重点: 1.掌握设备管理的功能和任务; 2.掌握设备的分类方法; 3.掌握I/O控制的实现;
临界区问题的硬件指令解决方案 (Synchronization Hardware)
GIS基本功能 数据存储 与管理 数据采集 数据处理 与编辑 空间查询 空间查询 GIS能做什么? 与分析 叠加分析 缓冲区分析 网络分析
C++语言程序设计 C++语言程序设计 第一章 C++语言概述 第十一组 C++语言程序设计.
第8章 创建与使用图块 将一个或多个单一的实体对象整合为一个对象,这个对象就是图块。图块中的各实体可以具有各自的图层、线性、颜色等特征。在应用时,图块作为一个独立的、完整的对象进行操作,可以根据需要按一定比例和角度将图块插入到需要的位置。 2019/6/30.
第11章 儲存裝置 與其管理.
本节内容 进程 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
第四章 UNIX文件系统.
第十七讲 密码执行(1).
第十二讲 密码执行(上).
FVX1100介绍 法视特(上海)图像科技有限公司 施 俊.
李元金 计算机与信息工程学院 第 18 讲 设备管理(2) 李元金 计算机与信息工程学院 1/
工业机器人入门使用教程 ESTUN机器人 主讲人:李老师
DSP技术与应用 电子与信息技术系.
Presentation transcript:

第11章 设备管理 (Chapter 11 Device Management)

内容提要 计算机I/O子系统的组成 OS设备管理模块的结构 I/O缓冲技术 磁盘调度策略 RAID技术

11.1 I/O DEVICES

物理I/O设备的分类 Human Readable Devices(人们可读设备) Such as Keyboard, Mouse, Display, Printer and so on; Machine Readable Devices(机器可读设备) Such as Controller, Sensor, Tape Drive, Disk Drive and so on; Communication Devices Such as Modem, Network Adapter and so on.

提 示 关于物理I/O设备的分类并非是唯一的。事实上,根据物理I/O设备之间的差异,人们可以给出关于物理I/O设备的多种分类。

物理I/O设备之间的差异 数据表示(Data Representation)不同 数据传输单位(Data Transfer Unit)不同 数据传输速率(Data Transfer Rate)不同 (见表11。1 P452) 控制复杂性(Complexity of Control)不同 错误条件(Error Conditions)不同 应用(Application)不同

11.2 ORGANIZATION OF THE I/O FUNCTION 循环测试(Cyclic Test)方式 中断驱动(Interrupt-Driven)方式 DMA控制(DMA Control)方式

物理I/O设备控制方式的演变 (1) 在早期的计算机系统中,由于没有引入 I/O控制器,因而CPU只能直接控制I/O设备。这就要求CPU的指令集必须包含驱动各种 I/O设备的指令,使 CPU与 I/O设备之间的合作方式是串行的。

物理I/O设备控制方式的演变 (2) 当引入非中断 I/O控制器后,CPU便可以通过 I/O控制器间接地控制I/O设备。这意味着CPU的指令集可以被简化。然而由于没有引入中断机制, CPU 只能采用循环测试方式控制 I/O设备。故CPU与 I/O设备之间的合作方式仍然是串行的。

物理I/O设备控制方式的演变 (3) 随着中断机制的引入,CPU与I/O设备之间的合作方式也由原来的串行方式改变为并行方式。 这意味着CPU不再“忙等”I/O设备操作完毕,从而提高了CPU的利用率。

物理I/O设备控制方式的演变 (4) DMA 控制器的引入使得 I/O 设备与存储器之间可以交换一块数据而无需CPU的介入。这意味着CPU与I/O设备之间的并行度得到了进一步提高, 从而 CPU的利用率也得到了进一步提高。

物理I/O设备控制方式的演变 (5) 与DMA控制器不同,I/O通道(I/O Channel) 和 I/O处理机(I/O Processor) 可以执行专门的程序来控制 I/O设备。 这意味着 I/O设备的大部分控制工作可以交给I/O通道或I/O 处理机来完成。 显然,I/O通道 和 I/O处理机的引入可以使CPU最大限度地摆脱I/O设备控制事务, 从而最大限度地提高了CPU的利用率。

DMA控制器的组成原理

DMA控制器的工作原理 (1) 当CPU欲把一块数据从某I/O设备读入内存某处或把一块数据从内存某处写入某I/O设备时,CPU将把相关数据块的长度通过DMA的“Data Lines”脚写入DMA的“Data Count”寄存器中,把内存起始地址和I/O设备地址通过DMA的“Data Lines”脚写入DMA的“Address Register”寄存器中,同时通过DMA的 “Read” 脚或“Write”脚向DMA发出读或写命令。

DMA控制器的工作原理 (2) 在工作期间,DMA将通过“DMA Request”脚 和 “DMA Acknowledge”脚控制相关的I/O设备,通过“Data Lines”脚与I/O设备以及内存交换数据,并通过“Address Lines”脚寻址内存。

DMA控制器的工作原理 (3) 一旦工作完毕,DAM将通过“Interrupt”脚向CPU发出中断,以便CPU对本次数据传输进行善后处理。

DMA控制器的工作原理 (4) 为了在工作期间建立与I/O设备以及与内存的数据交换通道,DMA将通过窃取CPU总线周期的方式获得总线控制权。

单总线、分离的DMA

单总线、集成的DMA-I/O

I/O总线

计算机I/O子系统的组成 (1)

计算机I/O子系统的组成 (2)

11.3 OPERATING SYSTEM DESIGN ISSUES

Design Objectives 设备管理模块的设计目标 通用性(Generality) 各种物理 I/O设备千差万别的构造细节以及种类繁多的操作命令令应用程序员们望而生畏。人们希望OS设备管理模块能够屏蔽各种物理 I/O设备千差万别的构造细节并用几个简洁的、统一的操作命令取代各种物理 I/O设备种类繁多的操作命令。 效率(Efficiency) 慢速的 I/O设备一直是制约计算机系统工作效率的瓶颈。人们希望OS设备管理模块能够突破这一瓶颈从而提高计算机系统的工作效率。

Logical Structure of the I/O Function (I/O功能的逻辑结构) 为了实现“通用性”这一设计目标,大多数OS其设备管理模块采用了分层结构。之所以是因为,在分层结构中,上层可以屏蔽下层的实现细节并可以抽象下层的操作属性。

Logical I/O (逻辑I/O层) 所谓逻辑I/O设备是指,应用软件所引用的用于实现I/O操作的设备。用户并不关心实际控制设备的细节,这也叫与设备无关性。 从应用软件的角度看,逻辑I/O设备是一类具有相同或相似属性的物理I/O设备的抽象。

Device I/O (设备I/O层) 请求的操作和数据(缓冲的数据,记录等)被转换成适当的I/O指令序列。通道命令和控制器指令。为提高使用率,可以使用缓冲技术。

Cheduling and Control (调度和控制层) 关于I/O操作的排队、调度和控制实际上发生在这一层。因此,可以在这一层处理中断,收集并报告I/O状态。这一层是与I/O模块和设备硬件真正发生交互的软件层。

Directory management (目录管理) 在这一层,符号文件名被转换成标识符,用标识符可以通过文件描述符表或索 引表直接或间接地访问文件。这一层还处理影响文件目录的用户操作,如添加、删除、重新组织等。

File system (文件系统) 这一层处理文件的逻辑结构以及用户指定的操作,如打开、关闭、读、写等。这 一层还管理访问权限。

Physical organization (物理组织) 考虑到分段和分页结构,虚存地址必须转换成物理主存地址,考虑到辅存设备的物理磁道和扇区结构,关于文件和记录的逻辑访问必须转换成物理辅存地址。空间的分配也在这一层。

11.4 I/O BUFFERING 假定:一个用户进程将从磁带上陆续读入若干块数据并分别对它们进行处理;为此,该用户进程在其虚拟存储器中位于1000~1099 的地方开辟了一个长度为100个字节的工作区;该工作区的长度正好等于磁带上的一块数据的长度。 请问:当用户进程在运行期间需要从磁带上读入一块数据时,如果OS设备管理模块从磁带上读进一块数据并直接把它送入用户进程的工作区,那么这种做法会导致什么样的问题?

问 题 用户进程必须暂停运行以便等待慢速的磁带机完成输入工作。很明显,用户进程的运行速度将受制于磁带机的工作速度。 问 题 用户进程必须暂停运行以便等待慢速的磁带机完成输入工作。很明显,用户进程的运行速度将受制于磁带机的工作速度。 用户进程暂停运行后并不能被完整地交换出内存;至少用于存放磁带数据的工作区必须驻留在内存中。否则,会导致单进程死锁。

许多OS通过引入I/O缓冲技术来提高用户进程的运行效率、缩短其周转时间。 提高用户进程运行效率的方法 许多OS通过引入I/O缓冲技术来提高用户进程的运行效率、缩短其周转时间。

逻辑I/O设备的分类 字符设备 块设备 也叫面向流的设备(Stream-Oriented Device); 也叫面向块的设备(Block-Oriented Device); 应用软件以块为单位读写此类逻辑I/O设备。

I/O缓冲技术 I/O缓冲技术的核心思想是:在内存中建立I/O缓冲区用于缓存从输入设备流入内存的数据或缓存从内存流向输出设备的数据。

缓冲单元 对于字符设备 对于块设备 字节缓冲:每个I/O缓冲区缓存一个字符或一个字节 可用于键盘输入等 行缓冲:每个I/O缓冲区缓存一个字符串或长度可变的多个字节 可用于显示输出、打印输出等 对于块设备 块缓冲:每个I/O缓冲区缓存固定长度的多个字节(即一块数据) 可用于磁盘、磁带等输入输出

提 示 下面我们继续以“用户进程读块设备”为例来讨论“如何组织I/O缓冲区”这样一个问题。

I/O缓冲区的一般组织形式 单缓冲区(Single Buffer) 双缓冲区(Double Buffer) 循环缓冲区(Circular Buffer)

单缓冲区

分 析 假定,一块数据从外部设备输入到内存所花费的时间为T,在内存中移动所花费的时间为M,被用户进程加工处理所花费的时间为C,那么 分 析 假定,一块数据从外部设备输入到内存所花费的时间为T,在内存中移动所花费的时间为M,被用户进程加工处理所花费的时间为C,那么 在没有使用I/O缓冲区的情况下,平均每块数据的处理时间近似为:T+C; 在使用单I/O缓冲区的情况下,平均每块数据的处理时间近似为:max(T,C)+M。

双缓冲区

说 明 对于OS设立的双I/O缓冲区,外部设备和应用进程常常交替引用。因此,I/O缓冲区的这种组织形式也被人们称为缓冲交换(Buffer Swapping)。

循环缓冲区

11.5 DISK SCHEDULING 处理机的速度和主存速度远远超过磁盘访问速度。 提高磁盘存储子系统的性能是至关重要的。 与磁盘性能有关的主要参数是:寻道时间、旋转延迟时间、传送时间。

磁盘访问时间分成以下三部分: 磁盘I/O传送时序(P464) 1)寻道时间: 这是指把磁臂(磁头)移动到指定磁道上所经历的时间。 2)旋转延迟时间: 这是指定扇区移动到磁头下面所经历的时间。 3)传输时间: 这是指把数据从磁盘读出或向磁盘写入数据所经历的时间。 磁盘I/O传送时序(P464)

Disk Scheduling Policies (磁盘调度策略) 磁盘是可供多个进程共享的设备,当有多个进程都要求访问磁盘时,应采用一种最佳调度算法,以使各进程对磁盘的平均访问时间最小。 目前常用的磁盘调度算法有:

先来先服务FCFS 根据进程请求访问磁盘的先后次序进行调度。 此算法的优点是公平、简单,且每个进程的请求都能依次地得到处理,不会出现某一进程的请求长期得不到满足的情况。 先来先服务FCFS (见表11.2 P467 见表11.3 P468)

最短寻道时间优先SSTF 该算法选择这样的进程,其要求访问的磁道,与当前磁头所在的磁道距离最近,以使每次的寻道时间最短, 最短寻道时间优先(SSTF)示意表和图 (见表11.3 P467图11.7 P469 )

扫描(SCAN)算法 该算法优先考虑的是磁头当前的移动方向。例如,磁头自里向外移动, 并同时自里向外地访问,直至再无更外的磁道需要访问时,才将磁臂换向自外向里移动。(又常称之为电梯调度算法 ) 扫描(SCAN)算法(见表11.3 P467 见表11.7 P469)

循环扫描(CSCAN)算法 CSCAN算法规定磁头单向移动,例如,只是自里向外移动,当磁头移到最外的磁道并访问后,磁头立即返回到最里的欲访问磁道,亦即将最小磁道号紧接着最大磁道号构成循环,进行循环扫描。 循环扫描(CSCAN)算法(见表11.3 P467 见表11.3)

11.6 RAID (独立磁盘冗余阵列) 通过多个磁盘,多个独立的I/O请求可以并行地进行处理,只要他们所需的数据驻留在不同的磁盘中,这样可以提高系统的性能. 可以通过增加冗余度来提高信息可靠性. 关于多磁盘数据库设计已形成了一个标准方案,称为独立磁盘冗余阵列RAID (Redundant Array of Independent Disks)