第六章设备管理 本章重点: 1.掌握设备管理的功能和任务; 2.掌握设备的分类方法; 3.掌握I/O控制的实现;

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 结构设计.
阻塞操作. 在 linux 里,一个等待队列由一个 wait_queue_head_t 类型的结构来描述 等待队列的初始化: static wait_queue_head_t testqueue; init_waitqueue_head(&testqueue);
Linux 系统. 操作系统发展需求 1 没有操作系统 2 简单批处理操作系统 3 多道程序设计的批处理 4 多道程序设计的分时操作系统 5 多处理机并行系统 6 网络操作系统 7 分布式操作系统.
第九章、输入输出原理 原著 谭志虎 主讲(改编) 蒋文斌.
LSF系统介绍 张焕杰 中国科学技术大学网络信息中心
2017年3月5日 单片机原理与应用 背景知识调查.
第七章 计算机输入输出系统与 接口技术.
第三节    缓冲管理 缓冲技术实现基本思想 当一个进程执行写操作输出数据时,先向系统申请一个主存区域──缓冲区,然后,将数据高速送到缓冲区。若为顺序写请求,则不断把数据填到缓冲区,直到它被装满为止。此后,进程可以继续它的计算,同时,系统将缓冲区内容写到I/O设备上。 当一个进程执行操作输入数据时,先向系统申请一个主存区域──缓冲区,系统将一个物理记录的内容读到缓冲区域中,然后根据进程要求,把当前需要的逻辑记录从缓冲区中选出并传送给进程。
实用操作系统概念 张惠娟 副教授 1.
第五章 设备管理 5.1 I/O系统 5.2 I/O控制方式 5.3 缓冲管理 5.4 设备分配 5.5 设备处理 5.6 磁盘存储器管理.
Module 2: Computer-System Structures 计算机系统结构
项目四 组建跨地区网络 授课教师:肖颖.
Oracle数据库 Oracle 子程序.
设备管理.
在PHP和MYSQL中实现完美的中文显示
计算机基础知识 丁家营镇九年制学校 徐中先.
陈香兰 助教:陈博、李春华 Spring 2009 嵌入式操作系统 陈香兰 助教:陈博、李春华 Spring 2009.
Kvm异步缺页中断 浙江大学计算机体系结构实验室 徐浩.
LSF系统介绍 张焕杰 中国科学技术大学网络信息中心
OpenMP简介和开发教程 广州创龙电子科技有限公司
存储系统.
中国科学技术大学计算机系 陈香兰 Fall2013 第九讲 设备管理 中国科学技术大学计算机系 陈香兰 Fall2013.
第一单元 初识C程序与C程序开发平台搭建 ---观其大略
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
逆向工程-汇编语言
第五章 设备管理.
动态规划(Dynamic Programming)
CPU结构和功能.
Windows 7 的系统设置.
用event class 从input的root文件中,由DmpDataBuffer::ReadObject读取数据的问题
设备管理 第7章 设备管理.
中 断 王 静 阜阳师范学院 计算机与信息工程学院.
内容摘要 ■ 课程概述 ■ 教学安排 ■ 什么是操作系统? ■ 为什么学习操作系统? ■ 如何学习操作系统? ■ 操作系统实例
C语言程序设计 主讲教师:陆幼利.
简单介绍 用C++实现简单的模板数据结构 ArrayList(数组, 类似std::vector)
微机系统的组成.
第四章 MCS-51定时器/计数器 一、定时器结构 1.定时器结构框图
K60入门课程 02 首都师范大学物理系 王甜.
本节内容 随机读取 视频提供:昆山爱达人信息技术有限公司.
实验四、TinyOS执行机制实验 一、实验目的 1、了解tinyos执行机制,实现程序异步处理的方法。
VB与Access数据库的连接.
实验七 安全FTP服务器实验 2019/4/28.
工业机器人知识要点解析 (ABB机器人) 主讲人:王老师
第二章 补充知识 2.1 总线和三态门 一、总线(BUS) 三总线结构 数据总线DB(Data Bus)
<编程达人入门课程> 本节内容 内存的使用 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群: ,
信号量(Semaphore).
本节内容 内存复制指令 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
3.16 枚举算法及其程序实现 ——数组的作用.
第八章 总线技术 8.1 概述 8.2 局部总线 8.3 系统总线 8.4 通信总线.
Visual Basic程序设计 第13章 访问数据库
微机原理与接口技术 ——8086微处理器 西安邮电大学 计算机学院 范琳.
临界区问题的硬件指令解决方案 (Synchronization Hardware)
GIS基本功能 数据存储 与管理 数据采集 数据处理 与编辑 空间查询 空间查询 GIS能做什么? 与分析 叠加分析 缓冲区分析 网络分析
本节内容 Windows线程切换_时钟中断切换 视频提供:昆山滴水信息技术有限公司 官网地址: 论坛地址: QQ交流 :
阻塞式模型 本节内容 视频提供:昆山爱达人信息技术有限公司 视频录制:yang 官网地址:
C++语言程序设计 C++语言程序设计 第一章 C++语言概述 第十一组 C++语言程序设计.
24 or 1024? PWN Jawbone Up24 手环.
本节内容 进程 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
FVX1100介绍 法视特(上海)图像科技有限公司 施 俊.
上节复习(11.7) 1、定时/计数器的基本原理? 2、定时/计数器的结构组成? 3、定时/计数器的控制关系?
李元金 计算机与信息工程学院 第 18 讲 设备管理(2) 李元金 计算机与信息工程学院 1/
5.1 I/O系统 5.2 I/O控制方式 5.3 缓冲管理 5.4 设备分配 5.5 设备处理 5.6 磁盘存储器管理
工业机器人入门使用教程 ESTUN机器人 主讲人:李老师
第七章设备管理 概述 I/O软件的组成 I/O硬件特点 有关技术 设备处理 典型外部设备.
DSP技术与应用 电子与信息技术系.
多个Activity的使用 本讲大纲: 1、使用Bundle在Activity之间交换数据 2、调用另一个Activity并返回结果
Presentation transcript:

第六章设备管理 本章重点: 1.掌握设备管理的功能和任务; 2.掌握设备的分类方法; 3.掌握I/O控制的实现; 4.掌握通道的功能、特点、类型及工作方式。 本章难点: 1.通道的工作方式; 2.I/O控制系统的实现; 3.虚拟设备技术。

概述 设备管理的任务和功能 设备工作的I/O控制方式 处理输入输出请求的步骤 中断系统 缓冲技术 设备分配 虚拟设备 小结

6.1概述 设备的技术特点:杂,五花八门,种类多,物理特性不同 一、设备分类 1.按所属关系分 系统设备 : OS生成时已在系统中登记的标准 如:keyboard,CRT OS生成后由用户定义的非标准 设备 用户设备 : 如:实时系统中的A/D、D/A转换器等

2.按信息传输的基本单位分 块设备 : 磁盘、磁带、光盘 字符设备 : CRT、Printer、Keyboard 3.按操作方式 输入设备 : Keyboard 输出设备 : Printer 磁盘 输入/输出设备 :

4.按设备的分配特性 共享设备 : 磁盘(多道作业可以同时从该设备上 存取信息) 独占设备 : 打印机 5.设备的使用特性 存储设备 : 磁带、磁盘、光盘等 键盘、打印机、CRT、绘图仪等 输入输出设备 : 通用终端、专用终端、虚拟终端等 终端设备 : 脱机设备 :

6.2设备管理的任务和功能 一、基本任务 选择和分配输入输出设备以便进行数据传输操作 控制输入输出设备和CPU(或内存)之间交换数据 为用户提供一个透明的接口,把用户和设备硬件特性 分开,使得用户在编程时不必涉及具体硬件设备,系 统按用户的要求控制设备工作。 提高设备与设备之间、CPU与设备之间,以及进程与 进程之间的并行操作程度,使操作系统获得最佳效率

二、功能 提供和进程管理系统之间的接口 设备的分配与回收 : 设备的启动与中断处理 : 设备与设备、设备和CPU之间的并行操作 : 缓冲区的管理 实现虚拟设备

6.3设备工作的I/O控制方式 循环测试方式(程序直接控制方式) 由用户程序来直接控制内存或CPU和外设之间的信息 传送。外设工作时,处理机不断通过一条测试指令测 试外设工作是否完成。 100%占CPU,CPU利用率低,。 CPU与设备只能串行工作: 设备不能并行工作: 不能发现和处理设备和其他硬件产生的错误: GO

外围设备 CPU 接收到start命令 发送start命令 做接收或发送数据准备 设备标志 触发器为 “Done”? 是 否 准备完毕? 是 否 标志触发器置“Done” 等待 等待CPU的下调指令 执行下条指令, 开始数据传输 R

中断方式 : 处理机与外围设备之间有中断请求线,设备 控制器的控制状态寄存器设置中断允许位 I/O控制器1 CPU I/O设备1 start 数据线 I/O控制器1 CPU I/O设备1 地址线 控制线 start 内存 I/O控制器n I/O设备n 控制状态寄存器 启动位 … 中断位 … 数据缓冲寄存器

外围设备 CPU 向设备发送start命令, 将中断允许位置“1” 接收到start命令 调度程序调度其他进程 准备数据并将其 置入缓冲寄存器 其他进程执行 否 缓冲寄存 器满吗? 收到中断信号了吗? 否 是 是 中断处理 控制器发中断信号 被中断的程序执行

中断方式特点: 设备与设备可以并行,设备与CPU可以并行 数据缓冲寄存器较小,一次数据传送过程中发生中 断次数较多,CPU可能“陷入”中断。

DMA控制方式 : 基本思想:在外设和内存之间开辟直接的数据交换通道 DMA方式中,I/O控制器具有比中断方式和程序直接控 制方式更强的功能。 DMA方式除了控制状态寄存器和数据缓冲寄存器之外, 还包括传送字节计数器、内存地址寄存器等。 DMA方式通过窃取或挪用CPU指令周期的方式把数据缓 冲寄存器中的数据直接送到内存地址寄存器所指向的内 存区 在数据块传送开始时需要CPU的启动指令,结束时发中断 通知CPU,中间不需要CPU干预。

CPU start Int I/O设备 DMA控制器 数据 内存 控制状态寄存器 启动位 … 中断位 … 数据缓冲寄存器 传送字节计数器 内存地址寄存器

外围设备 CPU DMA控制器 接收到start命令 发送start命令,内存地 址送入内存始址寄存器 传送字节数送入字节寄存器 将中断允许位置“1” 启动设备准备数据 数据入数据缓冲寄存器 调度程序调度其他进程 缓冲寄存器内容入内存 被调度进程执行 修改传送字节数、 计数器、内存地址 收到中断信号了吗? 传送字节数=0? 否 是 否 是 中断处理 发中断信号,停止I/O

DMA方式特点: 大大减少CPU处理次数 数据传送是在DMA控制器的控制下不经过CPU控制 完成。 对外围设备的管理和某些操作仍然由CPU管,大中型 机器中设备种类繁多,数量大,增加了CPU的负担。

通道方式: 基本思想:通道是专管I/O操作的部件,控制设备与内存的数据交换,有自己的通道指令,这些通道指令受CPU启动,结束时向CPU发中断信号。 以内存为中心,实现设备和内存直接交换数据的控制方式。数据传送方向、内存始址、传送长度等由通道控制,一个通道可以控制多台设备工作

通道连接方式:四级三连接 内 存 通道1 通道2 控制器1 控制器2 控制器3 设备1 设备2 设备3

通道类型: 字节多路通道:以字节为单位传输数据,可以同时控制多台外设工作。 适用于低速设备,如终端、打印机等 数组多路通道 :以块为单位传输数据,可以同时控制多台外设工作。 适用于中速块设备,如磁带机等 数组选择通道 :以块为单位传输数据,每次只能控制一台外设工作。 适用于高速块设备,如磁盘机等

通道方式的数据输入处理过程: 当进程要求设备输入数据时,CPU发出Start指令指明I/O操作、设备号和对应通道。 对应通道接收到CPU发来的启动指令Start之后,把存放在内存中的通道指令程序读出,设置对应设备的I/O控制器中的控制状态寄存器。 设备根据通道指令的要求,把数据送往内存中的指定区域。 若数据传送结束,I/O控制器通过中断请求线发中断信号请求CPU做中断处理。 中断处理结束后CPU返回被中断的程序继续执行。

6.4处理输入输出请求的步骤 用户进程 PUSH CTRLPTR PUSH BUFFPTR Call IOCS (1) BUFFER … (1) IOCS 阻塞调用者 验证I/O请求 调用驱动程序 校验状态 激活调用者 返回到调用者 (5) (3) (4) 设备驱动程序 初始化I/O 传送数据 返回IOCS (2)

6.5中断系统 一、定义:在系统发生了非寻常或非预期的急需处理事件时,CPU中断当前程序,转去执行相应的事件处理程序。 二、中断源: 引起中断的事件。 时钟、I/O,、违例、外部、故障、系统调用 内 自愿 硬 分类 分类 分类 外 随机 软

三、中断请求:中断源向CPU发出的请求中断处理信号 中断相应关键是现场切换,由硬件完成 。 (1)将PSW等重要请求者的值送入内存。 (2)把中断处理程序的PSW放入PSW。 五、中断优先级:决定对中断源的响应次序。 六、关中断:CPU内部的处理机状态字PSW的中断允许位被清除,从而不允许CPU相应中断。 七、中断屏蔽:系统用软件方式有选择的封锁部分中断而允许其他中断得到响应。

(2)无中断,用户程序无法与OS程序联系 。 九、中断处理程序 八、中断的意义: (1)无中断,不能实现多道 。 (2)无中断,用户程序无法与OS程序联系 。 九、中断处理程序 关中断 保护现场 分析中断原因,转中断处理程序 执行中断处理程序 恢复现场 开中断 返回中断点

6.6缓冲技术 一、引入:提高CPU与外设的并行工作程度,解决CPU与外设速度严重不匹配的问题。 二、缓冲实现 硬:缓存 软:缓冲区

三、缓冲类型: 1.单缓冲 :CPU与外设之间设置一个BUFFER缓冲二者之间的速度差异。 由于需要对缓冲区互斥使用,因此设备之间不能通过单缓冲实现并行 2.双缓冲:CPU与外设之间设置两个BUFFER缓冲二者之间的速度差异 可以实现两台外设、打印机和终端之间的并行;例如:其中一个缓冲区用于打印、另一个用于读入数据 3.多缓冲 :把多个缓冲区连接起来组成两部分,一部分专门用于输入,另一部分专门由于输出 4.缓冲池 :把多个缓冲区连接起来统一管理,即可用于输入,又可用于输出。(谁用谁申请)

6.7设备分配 一、设备分配用的数据结构 1、设备控制表DCT(Device Control Table) 反映设备的特性、设备和I/O控制器的连接情况(每个 设备一张) DCT在系统生成时或该设备与系统连接时创建 ,一般包括: ①设备标识符:用来区别设备 ②设备类型:反映设备特性,例如:终端、字符、块 ③设备地址或设备号: ④设备状态:工作还是空闲 ⑤等待队列指针:等待使用该设备的进程等待队列的队首和队尾指针。 ⑥I/O控制器指针:指向与该设备相连的I/O控制器

2、系统设备表SDT(System Device Table) 记录已被连接到系统中的所有物理设备的情况,为每个物理设备设置一个表项 ,(整个系统一张),一般包括: ①DCT指针 :指向设备的DCT ②正在使用设备的进程标识 : ③设备类型和设备标识符 : SDT的意义是反映系统中设备资源的状态,即:系统中有多少设备,多少空闲,非空闲设备分别分给了哪些进程?

3、控制器表COCT(Controller Control Table) 反映了I/O控制器的使用状况以及和通道的连接情况等,DMA方式无。每个控制器一张,一般包括: ①控制器标识符 ②控制器状态 ③指向相应通道表的指针 :

4、通道表CHCT(Chanal Control Table) 每个通道一张,一般包括: ①通道标识符 ②通道状态 ③等待该通道的队列指针 : 一个进程只有获得了通道,控制器和所需设备之后,才具有I/O操作的条件

二、设备分配 1、分配原则: 充分发挥设备的使用效率 避免由于不合理的分配方法造成的死锁 要用户程序和具体物理设备隔离开 2.分配方式 静态分配: 用户作业开始之前,系统一次性分配所有设备、控制器、通道。无死锁、效率低 动态分配: 进程执行过程中根据需要进行分配。效率高,可能引起死锁

3、分配技术 : 独占 共享 虚拟 4.分配策略 先请求先分配 优先级高者优先分配

三、设备分配程序 1、分配设备 2、分配控制器 3、分配通道

进程P发出I/O请求 1 搜索SDT找到DCT指针 是 进程P等 待控制器 是 控制器忙吗? 进程P按分配策 略入I/O等待队列 该设备忙吗? 否 否 控制器分给进程P 按分配策略选取占 据该设备的进程 查找CHCT指针 否 是 进程P被选中? 进程P等 待通道 通道忙吗? 进程P等待 该设备空闲 是 否 检查该设备分配 给进程P的安全性 通道分给进程P 否 启动I/O 安全吗? 是 设备分给进程P 查找COCT指针 1

6.8虚拟设备 1、引入:为解决多道程序系统中可能因独占设备的数量不足,速度慢的问题,或长时间等待的问题,人们想到了利用大容量、可共享的外存。 2、实现:利用共享设备模拟独占设备,这种模拟对用户是完全透明的。 预输入 :在输入设备空闲的时候,把作业或进程执行中需要的数据放到共享设备的一块区域中保存 。当进程在执行过程中需要这些数据时,是从共享设备,而不是从独占设备输入 缓输出 :当进程或作业有信息输出时,系统不是把这些信息在输出设备上输出,而是把这些输出写到共享设备的一块区域中,然后继续进程的执行。当输出设备空闲时,再从共享设备的这块区域中取出数据输出 Simultaneous Peripheral Operations On Line (SPOOLING)

6.9 小结 设备分类 :所属关系、信息传输单位、操作方式、设备分配特性、设备使用特性 设备管理的基本任务和功能 设备工作的I/O控制方式、通道的类型,分别适用于哪类设备? 处理输入输出请求的步骤 中断系统 :中断定义、中断源、请求、响应、优先级、关、屏蔽、意义、处理 缓冲引入、实现、类型 设备分配数据结构、原则、策略、方式、程序 虚拟设备

6.10 综合练习 在某多道程序系统中,供用户使用的内存空间有100K,磁带机2台,打印机1台。系统采用可变式分区分配方式管理内存,对磁带机和打印机采用集体爱分配方式,并假设输入/输出操作的时间忽略不计。现有一作业序列如下表所示。 作业号 到达时间 要求运行时间 要求内存量 申请磁带机数 申请打印机数 1 2 3 4 5 8:00 8:20 8:30 8:35 25分 10分 20分 15分 15K 30K 60K 20K 10K 假设作业调度采用先来先服务算法,优先分配内存的低地址区域且不准移动已在内存中的作业,在内存中的作业平均分配CPU时间,问 (1)作业调度次序是什么?(2)最大和最小作业周转时间分别是多少? (3)作业全部执行完成的时间是多少?

2.有一页式系统,其页表存放在主存中。 (1)如果对主存的一次存取需要1.5微秒,试问实现一次页面访问的存取时间是多少? (2)如果系统加有快表,平均命中率为85%,当页表在快表中时,其查找时间忽略为0,试问此时的存取时间为多少? 3.在一分页存储管理系统中,逻辑地址长度为16位,页面大小为4096字节,现有一逻辑地址为2F6AH,且第0、1、2页依次存放在物理块5、10、11中,问相应的物理地址为多少? 4.在某计算机系统中,其屏幕显示分辨率为640*480,若要存储一屏256色的图像,需要多少字节存储空间? 5.在某计算机系统中,时钟中断处理程序每次执行的时间为2ms(包括进程切换开销),若时钟中断频率为60Hz,试问CPU用于中断处理的时间比率为多少?