版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、2 数据传输的方式数据传输的方式程序循环测试方式程序循环测试方式中断方式中断方式直接存储器存取方式直接存储器存取方式通道方式通道方式 设备管理中常用的若干技术设备管理中常用的若干技术I/O缓冲技术缓冲技术SPOOLing技术技术磁盘数据组织技术磁盘数据组织技术3 一个设备控制器可连接若干个相同类型的设备。 I/O设备通过控制器和CPU相连,通过内部的若干寄存器与CPU进行通信: 数据寄存器:用作数据缓冲; 状态寄存器:用作保存设备状态信息,供CPU进行测试; 命令寄存器:用来保存CPU发出的命令以及各种参数 操作系统通过设备控制器与设备打交道: 把命令及所需参数写入控制器的寄存器中,实现输入/
2、输出。 控制器接受一条命令后,就独立于CPU去完成命令指定的任务。 CPU内存储器内存储器磁盘控制器磁盘控制器打印机控制器打印机控制器其他控制器其他控制器打印机打印机磁盘驱动器磁盘驱动器控制器控制器-设备接口设备接口系统总线单总线模型:单总线模型:4 输入输出中设备控制器各寄存器的作用 命令寄存器:与具体的I/O请求有关 。 数据寄存器:用来存放传输的数据。对于输入设备,总是把所要输入的数据送入该寄存器,然后由CPU取走;对于输出设备,先由CPU把数据送至该寄存器,再由设备输出。 状态寄存器:记录设备当前所处状态。对于输入设备,启动输入后,只有设备把数据读到数据寄存器后,才把该寄存器置成“完成
3、”态;对于输出设备,启动输出后,只有设备让数据寄存器做好接收数据的准备,才把该寄存器置成“准备就绪”态。 输入输出中CPU的作用:对于CPU,设有两条硬指令, 一条是启动输入/输出的指令,比如记为start; 另一条是测试设备控制器中状态寄存器内容的指令,比如记为test。5 所谓“程序循环测试”的数据传输方式,是指用户进程使用start指令启动设备后,CPU就不断地执行test指令,去测试所启动设备的状态寄存器。只有在状态寄存器出现了所需要的状态后,才停止测试工作,完成输入/输出。 优缺点: 简单易行 cpu花费大量时间测试和等待,与设备串行工作,cpu利用率低6 中断的定义所谓“中断”,是
4、一种使CPU暂时中止正在执行的程序而转去处理特殊事件的操作。能够引起中断的事件称为“中断源”,它们可能是计算机的一些异常事故或其它内部原因,更多的是来自外部设备的输入输出请求。 内中断:由cpu的某些错误结果产生的中断外中断:有外部设备控制器引起的中断7 中断方式传输数据的步骤 CPU发出start指令,启动外部设备,设置状态寄存器里的中断允许位。以便产生中断时,可以调用相应的中断处理程序。 I/O请求进程变为阻塞态,等输入/输出完成。进程调度程序重新调度。这样,外部设备进行输入/输出,CPU运行另一个进程程序,实现设备与CPU并行工作。 输入/输出完成时,设备控制器向CPU发出中断请求信号。
5、CPU响应该中断,执行设备中断处理程序,对数据传输工作进行相应的处理。 输入/输出全部完成后,进程被解除阻塞,改变状态为就绪,进入下一步工作。 启动位 中断允许位状态寄存器数据寄存器打印机控制器打印机中断请求信号中断请求信号内存储器CPU8 优点cpu启动设备后,设备与cpu可以并行运行,系统效率得到提高 缺点启动设备、I/O管理及善后处理工作由cpu承担设备控制器的数据寄存器容量有限9 直接存储器存取方式即是DMA方式,适用于高速I/O设备,如磁带、磁盘。 DMA传输数据的特点是能使I/O设备直接和内存储器进行成批数据的快速传输。 DMA控制器中有四个寄存器:数据寄存器,状态寄存器,地址寄存
6、器和字节计数器。 启动位启动位 中断允许位中断允许位状态寄存器状态寄存器地址寄存器地址寄存器磁盘控制器磁盘控制器磁盘驱动器磁盘驱动器中断请求信号中断请求信号系统总线系统总线内存储器内存储器CPU数据寄存器数据寄存器字节计数器字节计数器DMA控制器:控制器:计数计数10 输入/输出时,CPU把存放数据的内存起址及要传输的字节数分别存入地址寄存器和字节计数器,把状态寄存器的允许中断位置1,启动设备进行数据传输。 CPU将总线让给DMA控制器。在DMA进行数据传输时,CPU不再使用总线,而是DMA控制器获得总线控制权。 请求I/O的进程被阻塞,等待I/O完成。 DMA按地址寄存器指示,不断与内存进行
7、直接的数据传输,并修改地址寄存器和字节计数器的值。当DMA的字节计数器为0时,传输停止,向CPU发出中断请求。 CPU接受该中断请求,转相应中断处理程序进行善后处理,结束这次I/O。 11 通道是一个独立与CPU的、专门用来管理输入/输出操作的处理机,它控制设备与内存储器直接进行数据交换。 通道的指令被称为“通道命令字”,主要涉及控制、转移、读、写及查询等功能。一般包含:被交换数据在内存中的位置、传输方向、数据块长度以及被控制的I/O设备的地址信息、特征信息。 若干通道命令字构成一个“通道程序”,它规定了设备应执行的各种操作和顺序。 在CPU启动通道后,由通道执行通道程序,完成CPU所交给的I
8、/O任务。为了使通道能取到通道程序去执行,必须把存放通道程序的内存起址告诉通道。存放这个起始地址的内存固定单元,被称为“通道地址字”。 12 进程提出I/O请求后,CPU发start命令,指明I/O操作、设备号和对应的通道。把数据传输的任务交给通道。 发出I/O请求的进程被阻塞,进程调度程序把CPU分配给另一个进程使用。 通道接收CPU发来的启动命令,调出通道程序执行,设备与CPU并行工作。 通道执行通道程序中的通道命令字,指示设备完成规定的操作,与内存储器进行数据交换。 数据传输完毕,通道向CPU发出中断请求。CPU响应通道提出的中断请求,对这次I/O进行善后处理,把阻塞进程的状态变为就绪,
9、重新参与对CPU的竞争。 13 I/O缓冲技术 SPOOLing技术 磁盘数据组织技术14 缓冲的作用缓冲的作用 输入/输出时,CPU的处理速度很快,设备的速度相对较慢,快慢之间为了匹配,就需要缓冲。不然快者就要等待慢者,从而影响快者速度的发挥。通过缓冲,能够调节计算机系统各部分的负荷,使CPU和外部设备的工作都尽量保持在一个较为平稳的良好状态。 实现缓冲的两种方法实现缓冲的两种方法 一是采用专门的硬件寄存器,比如设备控制器里的数据寄存器,这是“硬缓冲”; 另一是在内存储器中开辟出n个单元,作为专用的输入/输出缓冲区,以便存放输入/输出的数据,这种内存缓冲区就是“软缓冲”。主要是软缓冲。15
10、缓冲的分类 单缓冲:只设置一个缓冲区时称为“单缓冲”,产生数据者把数据送到所设置的缓冲区里,接收数据者总是从缓冲区里去取所需要的数据。 双缓冲:为设备设置两个缓冲区时称为“双缓冲”,产生数据者先把数据送入缓冲区1,下一次送入缓冲区2;数据接收者先从缓冲区1里取数据,再从缓冲区2里取数据。 数据生产者数据接收者缓冲区数据生产者数据接收者缓冲区 1缓冲区 216 多缓冲为同类型的I/O设备设置两个公共缓冲队列,一个用于输入,一个用于输出,这就是 “多缓冲”。输入设备输入时,到输入缓冲首指针所指的缓冲区队列里申请一个缓冲区使用,使用完毕仍归还到该队列;输出设备输出时,到输出缓冲首指针所指的缓冲区队列
11、里申请一个缓冲区使用,使用完毕仍归还到该队列。输入缓冲首指针输入缓冲首指针缓冲区缓冲区缓冲区缓冲区缓冲区缓冲区缓冲区缓冲区输出缓冲首指针输出缓冲首指针缓冲区缓冲区缓冲区缓冲区缓冲区缓冲区缓冲区缓冲区17 缓冲池系统为同类型的I/O设备设置一个公共缓冲队列,既用于输入,也用于输出。它是多缓冲的一种变异,以避免缓冲区使用上忙闲不均的现象。在缓冲池中有3类缓冲区:一类现在用于输入;一类现在用于输出;还有一类为空闲,既可用于输入,也可用于输出。输入和输出的缓冲区在用完后,都归还到空闲的缓冲区队列中,受系统的统一管理和调配。 18 虚拟设备虚拟设备 一些低速的字符设备如终端输入机或行式打印机等都是独享设
12、备,它们的使用具有排它性。 当系统中只有一台输入设备或一台输出设备,又有好几个用户都要使用时,那么一个用户必须等待其他用户使用完毕,才能去使用,这不利于多道程序并行工作,也影响到系统效率的发挥。 操作系统可以利用大容量的共享设备磁盘作为后援,用软件技术来模拟独享设备的工作,使得每个用户都认为获得了供自己独占使用的输入设备或输出设备,并且它们的传输速度与磁盘一样快。 但这仅仅是一种 “幻觉”,系统中并不存在多个独享设备。这种用一类物理设备模拟出的另一类物理设备,被称为“虚拟设备”。于是,在提供虚拟设备的系统中,用户进行I/O时,不是直接面对物理的独享设备,而是面对虚拟的独享设备。 虚拟设备的实现
13、需要硬件和软件提供支持。从硬件来讲,系统必须配有大容量的磁盘,要具有设备与CPU并行工作的能力;从软件来讲,应该采用多道程序设计。 19 虚拟设备的实现在磁盘上分出两块存储空间,一块用来预先存放多个作业的全部信息,被称为 “输入井”;另一块用来暂时存放每个运行作业的输出信息,被称为“输出井” 。作业作业1信息信息作业作业n信息信息作业作业1结果结果作业作业n结果结果预输入程序预输入程序缓输出程序缓输出程序井管理井管理读程序读程序井管理井管理写程序写程序作业的执行作业的执行作业作业1信息信息作业作业n信息信息作业作业1结果结果作业作业n结果结果输入井输入井输出井输出井输入机输入机打印机打印机磁盘
14、磁盘SPOOLing:20 为真正提供虚拟设备,操作系统中还要有相应的软件:即在多道程序设计基础上的“联机的外围设备同时操作”技术-SPOOLing技术 。 因此,有时把操作系统中实现虚拟设备的软件功能模块统称为“SPOOL系统”。21 预输入程序:预先把作业的全部信息输入到磁盘的输入井中存放,作业运行需要数据时,从输入井中直接得到。 缓输出程序:定期查看“输出井”,如果有要求输出的信息,就启动输出设备输出。 井管理程序:分“井管理读程序”和“井管理写程序”。当请求输入设备工作时,系统调用井管理读程序,把让输入设备工作的任务,转换成从输入井中读取所需信息;当请求输出时,系统就调用井管理写程序,
15、把让输出设备工作的任务,转换成为往输出井里输出。作业作业1信息信息作业作业n信息信息作业作业1结果结果作业作业n结果结果预输入程序预输入程序缓输出程序缓输出程序井管理井管理读程序读程序井管理井管理写程序写程序作业的执行作业的执行作业作业1信息信息作业作业n信息信息作业作业1结果结果作业作业n结果结果输入井输入井输出井输出井输入机输入机打印机打印机磁盘磁盘SPOOLing:22 磁盘数据组织的重要性计算机系统在磁盘支持下,各种虚拟技术(如虚拟存储器、虚拟设备等)相继实现。但磁盘性能却跟不上处理器和内存储器性能的飞速发展。可用多个磁盘组成磁盘阵列,使多个独立的I/O请求并行得到处理,只要它们所需的
16、数据分布在不同的磁盘中;即使是同一I/O请求,若其要访问的数据分布在多个磁盘上,则该请求也可以并行地执行。这就是所谓的“磁盘数据的组织”。 23 利用多磁盘的并行访问能力,在磁盘上组织数据可以改善磁盘的传输率 :将数据分散存放。 位级分散:在磁盘阵列的多个磁盘上分散存放字节的各个位。比如有8个磁盘,则可将每个字节的第i位写到第i个磁盘上。相比把一个字节存放在一个磁盘上,这样的磁盘阵列由于并行操作,其传输率提高了8倍。 块级分散:将文件数据分块,并以块为单位分散存放在磁盘阵列的多个磁盘上。比如有n个磁盘,可把文件的第i块存放在第(i mod n)+1个磁盘上。比如要处理10块数据,磁盘速度为1块
17、/ms,处理1块数据的时间是10s。不考虑内存存储访问开销时间时,对单磁盘和5个磁盘(采用块级分散)的系统来说,完成此任务的时间分别如下: 单一磁盘:读出10次+处理10次所需总时间为10ms+0.1ms=10.1ms多个磁盘:每次读出5块需1ms ;CPU处理5块需50s;读出2次+处理2次所需总时间为2ms+0.1ms=2.1ms。即整体处理速度提高了近5倍。 24 利用多磁盘的大容量能力,在磁盘上组织数据可以改善磁盘的可靠性利用磁盘阵列的大容量能力,可存储有关数据的额外信息,它们或是数据本身的备份,或是诸如差错纠正码、奇偶校验码等信息。这样的冗余信息,正常情况下没有什么用,但在系统出错或
18、磁盘损坏时,却可用来进行对数据的纠错,或修复。 25 独立磁盘冗余阵列冗余向系统提供高可靠性,但价格贵;分散向系统提供高传输率,但不能改善可靠性。只有将两者结合起来,给出不同的组合方案,才能在低代价下提供冗余,且保证系统的高传输率。 “独立磁盘冗余阵列( RAID) ”可改善磁盘的传输率,可增强磁盘的可靠性。这些方案已形成工业标准,称RAID级别,可分6级:RAID0RAID5。注意,这6级仅是构造不同RAID时的性能体现,而不是隶属关系,不同级别之间没有继承关系,高级并不依赖于低级,不同级别只是对应于不同的数据存放方式。 26 RAID 0 级 RAID 0 级不是RAID的正式成员,因它没
19、有用冗余数据来提高系统的可靠性。若计算机系统认为降低成本比提高可靠性更为重要,那么可采用这种级别的多磁盘阵列。磁盘阵列顺序分成很多的条带(strip),条带可是物理块、扇区或别的某种存储单位。系统和用户的数据成条状分布在磁盘阵列中。27 RAID 1 级 RAID 1 级原磁盘阵列为主磁盘,外增完全相同的磁盘阵列为备份盘。每次数据写入主磁盘时,同时也将数据写入备份盘。即磁盘阵列中的每个磁盘都有一个包含相同数据的“镜像”磁盘。RAID 1 级把数据复制到镜像盘来实现对数据的冗余。 RAID 1级中的磁盘和镜像盘保存相同数据,因此可靠性极高。读请求时,可由包含被请求数据的任何一个磁盘提供服务;写请求时,需对两个相应的条带都做出更新,且可并行完成。当一个磁盘有问题时,从相应盘可立即得到所有的数据。 28 RAID 2 级 RAID 2
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 会计类毕业实习报告范文锦集六篇
- 下学期工作学习计划合集八篇
- DB12T 472-2012 贵金属与珠宝玉石饰品 标识
- 业务员工作心得体会
- 三国演义读书笔记及启发范文
- 个人篮球训练计划书(12篇)
- 课件高血压教学课件
- 探究实验设计之二氧化碳性质的探究
- 慢性持续期哮喘患者的治疗和管理
- 高等数学教程 试卷3-答案
- 《现代农业技术推广》课件-第七组 农民问题专题调研
- 第30课 家居收纳技巧 课件 2023-2024学年苏教版初中劳动技术七年级上册
- 2024中国一汽校园招聘1000+岗位高频考题难、易错点模拟试题(共500题)附带答案详解
- GB/T 19533-2024汽车用压缩天然气钢瓶定期检验与评定
- 妇产科护士晋升述职报告
- 骨髓腔内输液(IOI)技术
- 建筑幕墙工程(铝板、玻璃、石材)监理实施细则(全面版)
- 小学数学与思政融合课教学设计
- 江西省南昌市民德学校2023-2024学年八年级上学期期中数学试题
- 国际金融(英文版)智慧树知到期末考试答案2024年
- 2024年《药物临床试验质量管理规范》(GCP)网络培训题库
评论
0/150
提交评论