操作系统输入输出系统os5-2
Os5设备管理

〔4〕进展缓冲区管理
2021/8/21
wj_yan@126
7
计算机操作系统 设备管理
1.DCB构造
〔1〕设备名。它是设备的系统名,即设 备的物理名。
〔2〕设备属性。它描述设备的特性和类 型。
〔3〕设备状态。它描述设备现行的状态。
〔4〕设备的I/O总线地址。它反映现行设 备在I/O总线上的具体地址。
2021/8/21
wj_yan@126
15
计算机操作系统 设备管理
程序直接控制方式的缺点:
(1) CPU和外围设备只能串行工作。
(2) CPU在一段时间内只能和一台外围设备交换 数据信息,从而不能实现设备之间的并行工作。
(3) 无法发现和处理由于设备或其他硬件所产生 的错误。
2021/8/21
wj_yan@126
第5章 设备管理
计算机操作系统 设备管理
5.0 本章学习目标 5.1 概述 5.2 数据传送控制方式 5.3 中断技术 5.4 缓冲技术 5.5 设备分配技术 5.6 I/O进程控制
2021/8/21
wj_yan@126
开始
1
本章学习目标
计算机操作系统 设备管理
l 数据传送的4种方式:程序直接控制方式、 中断控制方式、DMA方式及通道控制方式
l 缓冲技术的概念及4种常见的缓冲技术: 单缓冲、双缓冲、环形缓冲及缓冲池
l 设备分配的概念及3种设备分配技术:独 享分配、共享分配及虚拟分配
l I/O进程控制
2021/8/21
wj_yan@126
2
5.1 概述
计算机操作系统 设备管理
设备管理的主要任务是控制设备和CPU之间进展I/O操作。由于现 代操作系统的外部设备的多样性和复杂性以及不同的设备需要不同的设 备处理程序,设备管理成了操作系统中最复杂、最具有多样性的局部。 设备管理模块在控制各类设备和CPU进展I/O操作的同时,还要尽可能 地提高设备和设备之间、设备和CPU之间的并行操作度以及设备利用率, 从而使得整个系统获得最正确效率。另外,设备管理模块还应该为用户 提供一个透明的、易于扩展的接口,以使得用户不必了解具体设备的物 理特性和便于设备的追加和更新。
5_2计

5.2 I/O控制方式
主机 卡片机
in busy outarea inarea
打印机
out busy
output: if busy=1 then goto output; out:=outarea; 启动下一次输入
busy:=1;
initiate output device;
5.2 I/O控制方式
① 确定与中断或者异常关联的中断类型号i(0~255)
② 读idtr寄存器指向的IDT表中的第i个中断/陷阱门
③ 查找gdtr寄存器指向的GDT,以读取上述中断/陷阱
门中的段选择符所标识的段描述符。
④ 确定该中断是否符合保护性规则的要求:当前特权级
CPL的值(即CS寄存器中的特权级)大于等于处理
程序的DPL,且CPL值小于等于中断描述符门的DPL (仅当该中断是由INTO、INT n等指令引起时才检查 )。如不满足上述规则,则系统不能进入中断或异常 处理程序,并发生异常13。
四. I/O通道控制方式
• CPU、通道、设备均可以并行工作。 • 特点:
– 进一步减少了CPU对I/O的干预(不仅数据的传输独立 于CPU,I/O操作的组织、管理和结束处理也大部分由 通道而非CPU完成)。
*多个数据块的I/O,只需CPU发一次指令,并只需中断
CPU一次。
5.3 缓冲管理
一. 缓冲的引入
特点:CPU大部分时间浪费在循环测试上。 将控制器中的状态寄存器的值busy置为1 CPU向设备控制器发I/O指令,启动设备 同 时 进 行 CPU循环测试busy的值,直到busy=0;
设备控制器控制设备执行I/O操作
I/O完成
CPU将数 据从设备 送到内存
操作系统输入输出系统os5-1

北京林业大学信息学院
北京林业大学信息学院
通道分类
数据选择通道
数据选择通道是以成组方式工作的,即每次传送一 批数据,故传送速度很高。数据选择通道在一段时 间内只能执行一个通道程序,只允许一台设备进行 数据传输,当这台设备数据传输完成后,再选择与 通道连接的另一台设备,执行它的相应的通道程序。 主要连接磁盘,磁带等高速I/O设备。
I/O性能经常成为系统性能的瓶颈
CPU性能不等于系统性能:响应时间也是一个重要因素 CPU性能越高,与I/O差距越大 弥补:更多的进程 进程切换多,系统开销大
操作系统庞大复杂的原因之一:资源多、杂,并 发,均来自I/O
外设种类繁多,结构各异
输入输出数据信号类型不同
速度差异很大
北京林业大学信息学院
北京林业大学信息学院
设备的分类(续3) 虚设备 在一类设备上模拟另一类设备,常用共 享设备模拟独占设备,用高速设备模拟 低速设备,被模拟的设备称为虚设备
目的:将慢速的独占设备改造成多个用户可共 享的设备,提高设备的利用率
(实例:SPOOLing技术,利用虚设备技术 ——用硬盘模拟输入输出设备)
北京林业大学信息学院
通道又称为I同时为了提高CPU与设备、设备与设备之间的并行 度
北京林业大学信息学院
CPU
内存
总线
字节多路 通道 终端 终端 I/O控制器 I/O控制器
选择通道
数组多路 通道 磁带 I/O控制器 磁盘
I/O控制器
终端
I/O控制器
通过若干接口寄存器或接口缓冲区与CPU通信
北京林业大学信息学院
设备控制器通常由以下三部分组成:
实时操作系统_uCOS-II-5

2
深圳市英蓓特信息技术有限公司
ARM软件开发系列培训及推广
实时操作系统特点 任务管理 单击此处编辑母版文本样式 任务间同步和通信
– 第二级
– 第四级 定时器管理
多任务和基于优先级的任务调度
消息,事件和信号量 第三级 提供确定的任务切换时间
第五级
中断管理 存储管理
3
深圳市英蓓特信息技术有限公司
– 第二级
第三级
COS-II介绍
– 第四级 第五级
11
深圳市英蓓特信息技术有限公司
ARM软件开发系列培训及推广
COS-II简介
COS -II 是 美国 一个名为Jean Labrosse的工程师开发 的实时操作系统.它以小内核,多任务, 丰富的系统服 务,容易使用等特点越来越受欢迎 单击此处编辑母版文本样式
9
深圳市英蓓特信息技术有限公司
ARM软件开发系列培训及推广
EmbestIDE和RTOS的来自合Embest IDE完全支持源代码方式提供的RTOS,只需 要将RTOS的源代码纳入Embest IDE的工程管理目录中 单击此处编辑母版文本样式 ,和应用程序一起编译,即可调试RTOS及应用程序.
– 第二级
16
深圳市英蓓特信息技术有限公司
ARM软件开发系列培训及推广
移植条件之一 ---- 可重入代码
可重入代码指的是可以被多个任务同时调用,而不会破坏 数据的一段代码,或者说代码具有在执行过程中打断后再 次被调用的能力. 单击此处编辑母版文本样式 int temp; 第三级 void swap (int *x,int*y) – 第四级 { 第五级 temp=*x; *X=*Y; *y=Temp; }
os操作系统

CPU和I/O设备都处于忙碌状态,从而提高了整个系统的资源
利用率及吞吐量。例如,从终端输入一个字符的时间约为100
ms, 而将字符送入终端缓冲区的时间小于 0.1 ms。 若采用程
序I/O方式,CPU约有 99.9 ms的时间处于忙—等待中。 采用中
断驱动方式后,CPU可利用这 99.9 ms的时间去做其它事情,
15
5.2 I/O控制方式
5.2.1 程序I/O方式
在程序I/O方式中,由于CPU的高速性和I/O设备的低速 性, 致使CPU的绝大部分时间都处于等待I/O设备完成数据 I/O的循环测试中, 造成对CPU的极大浪费。在该方式中, CPU之所以要不断地测试I/O设备的状态,就是因为在CPU 中无中断机构, 使I/O设备无法向CPU报告它已完成了一个 字符的输入操作。
5
2. 设备控制器的组成
CP U与控制器接口
数据 线 地址 线
数据 寄存器
控制 /状态 寄存 器
控制 线
I/ O逻辑
… …
控 制 器与 设 备 接口
控制 器 与设 备 接口 1
数据 状态 控制
控制 器 与设 备 接口i
数据 状态 控制
图 5-2 设备控制器的组成
6
5.1.3 I/O通道
1. I/O通道(I/O Channel)设备的引入
5.1 I/O 系 统
5.1.1 I/O设备
1. I/O设备的类型 1)
按传输速度的高低,可将I/O设备分为三类。第一类是低速
设备,这是指其传输速率仅为每秒钟几个字节至数百个字节的
一类设备。属于低速设备的典型设备有键盘、 鼠标器、语音的
输入和输出等设备。第二类是中速设备,这是指其传输速率在
os-5

操作系统|存储器管理1CUIT 徐虹第五章存储器管理¾存储管理的机制¾存储管理的功能¾分区管理¾分页管理¾分段管理操作系统|存储器管理2CUIT 徐虹5.1存储管理的功能¾存储管理的目的¾主存的分配和管理¾记住内存每个位置的状态。
¾在系统程序或用户作业提出申请时,实施分配,并修改分配记录。
¾接受系统或用户释放的存储区,或主动收回不再用的存储区,并相应地修改分配记录表操作系统|存储器管理3CUIT 徐虹¾提高内存利用率¾“扩充”内存容量¾信息保护操作系统|存储器管理4CUIT 徐虹¾内外存数据传输的控¾用户程序控制¾操作系统控制¾交换(Swapping):由OS把那在内存中处于等待状态的进程换出内存,就绪进程换入内存。
¾请求调入(On demand)和预调入(On prefetch)操作系统|存储器管理5¾内存的分配与回收¾存储分配的方式:¾直接分配:¾静态分配:¾动态分配:¾程序设计方面:程序独立性,程序模块化,表格处理。
¾系统方面:能重新分配主存,程序在需要时调入内存操作系统|存储器管理6¾内存管理的内容¾分配结构:¾放置策略:¾交换策略:¾调入策略:¾回收策略:操作系统|存储器管理7CUIT 徐虹¾内存信息的共享与保护¾上下界保护法¾保护键法¾为每个被保护存储块分配一个单独的保护键,在程序状态字中设置相应的开关字段,不同的进程值不一样,匹配时,方可进行访问。
¾界限寄存器与CPU 的用户态和核心态工作方式相结合¾用户态进程只能访问在界限寄存器所规定范围内的内存部分,而核心态进程则可访问整个内存地址空间。
OS-Ⅱ的研究的开题报告

嵌入式实时操作系统μC/OS-Ⅱ的研究的开题报告一、课题背景现在随着微电子技术和嵌入式技术的不断发展,嵌入式系统应用越来越广泛。
在嵌入式系统中,实时性是至关重要的,而实时操作系统(RTOS)则是实现实时性的关键。
RTOS是一种为嵌入式系统而设计的操作系统,它可以提供程序并发执行的功能,使得嵌入式系统能够同时处理多种任务,并按时完成响应。
而μC/OS-Ⅱ是嵌入式系统中常用的一种RTOS,它具有良好的稳定性、实时性和灵活性,被广泛应用于工业自动化、电子通讯、汽车电子、医疗器械等领域。
因此,本课题选取μC/OS-Ⅱ作为研究对象,对其进行深入探究,旨在提高嵌入式系统的可靠性和实时性。
二、研究内容1. μC/OS-Ⅱ的基本原理和结构首先,将详细研究μC/OS-Ⅱ的基本原理,包括内核结构、任务管理、中断管理、时间管理等方面,掌握其实现实时性的原理和方法。
2. μC/OS-Ⅱ的性能分析在掌握μC/OS-Ⅱ的基本原理之后,将对其性能进行分析,包括任务切换时间、中断响应时间、系统资源占用率等指标的测试和分析。
通过性能分析,可以评估μC/OS-Ⅱ的性能,并找出可能存在的性能瓶颈,为后续的优化提供参考。
3. μC/OS-Ⅱ的优化研究根据性能分析的结果,重点研究μC/OS-Ⅱ的优化方法和实现,包括系统调度算法的优化、系统资源管理的优化等方面。
通过优化,进一步提高μC/OS-Ⅱ的实时性和稳定性,为构建高可靠性的嵌入式系统提供支持。
三、研究目的和意义1. 深入理解μC/OS-Ⅱ的原理和结构,为进一步开发嵌入式系统提供基础知识和技术支持。
2. 通过性能分析,找出μC/OS-Ⅱ可能存在的性能瓶颈,并寻求优化的方案。
3. 以优化μC/OS-Ⅱ的实时性和稳定性为目的,提高嵌入式系统的可靠性和实时性。
总之,本课题的研究结果对于提高嵌入式系统的可靠性和实时性,优化系统性能,具有很重要的理论和实际应用意义。
操作系统OS05设备管理

1. I/O设备的类型
从OS观点看, I/O设备的重要的性能指标有:设 备使用特性、数据传输速率、数据的传输单位、 设备共享属性等。
2.设备与控制器之间的接口
1. I/O设备的类型
DMA(Direct Memory Access)控制方式的引入
适应一次传送大量数据的应用要求; 尽量减少CPU对高速外设的干预; 基本思想:在外设和主存之间开辟直接的数据交换通
路。
特点
数据传输的基本单位是数据块。 数据从设备直接送入内存,或者相反。 仅在传送一个或多个数据块的开始和结束时,才需
CPU干预,整块数据的传送是在控制器的控制下完成 的。
DMA 方式
向I/O控制器 发布读块命令
读DMA控制 器的状态
CPU→DMA CPU做其它事
中断 DMA→CPU
下条指令
DMA控制器的组成
CPU
内存
count
命令
主机-控制器接口 控制器与块设备接口
…
DR MAR DC CR
I/O 控制 逻辑
共享设备 ,指在一段时间内允许多个进程同时访 问的设备,对每一个时刻只允许一个进程访问该 设备。
可寻址,可随机访问(磁盘)
虚拟设备 ,指通过虚拟技术将一台独占设备变为 若干台逻辑设备,供若干个用户(进程)同时使 用。
2. 设备与控制器之间的接口
设备与CPU之间通过设备控制器通信。
在设备中应含有与设备控制器之间的接口,在该 接口中有三种类型的信号,各对应一条信号线。
PCI总线:支持64位系统,最高传输速率:132Mbps, 能支持10种外设,有一个复杂的管理层,管理层中配 有数据缓冲。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
设备分配程序 唤醒中断 处理程序
I/O控制
缓冲区管理
中断响应
启动I/O指令、设备驱动 程序或通道程序
北京林业大学信息学院
I/O控制的实现
I/O控制过程在系统中可以按三种方式实现
作为请求I/O操作的进程的一部分实现 作为当前进程的一部分实现 I/O控制由专门的系统进程 — I/O进程完成:
北京林业大学信息学院
4)通道
通道相当于一个功能简单的处理机,包含通道 指令(空操作,读操作,写操作,控制,转移 操作),并可执行用这些指令编写的通道程序
通道运算控制部件
通道地址字 CAW: 记录通道程序在内存中的地址 通道命令字 CCW: 保存正在执行的通道指令 通道状态字 CSW: 存放通道执行后的返回结果 通道数据字 CDW:存放传输数据 通道和CPU共用内存,通过周期窃取方式取得
I/O结束时,唤醒设备服务子程 序 执行I/O操作
北京林业大学信息学院
(1)用户进程层执行输入输出系统调用,对I/O数 据进行格式化,为假脱机输入/输出作准备
(2)独立于设备的软件实现设备的命名、设备的保 护、成块处理、缓冲技术和设备分配
(3)设备驱动程序设置设备寄存器、检查设备的执 行状态 (4)中断处理程序负责I/O完成时,唤醒设备驱动 程序进程,进行中断处理 (5)硬件层实现物理I/O的操作
北京林业大学信息学院
通道连接
通道连接:一个通道可连接多个控制器,一
个控制器可连接多个设备,形成树形交叉连接
主要目的是启动外设时:
提高了控制器效率 提高可靠性 提高并行度
北京林业大学信息学院
北京林业大学信息学院
北京林业大学信息学院
3. 中断处理技术
指令执行的过程中,外部设备或计算机内部可能 会发来急需处理的信号,需要处理机暂停正在执 行的程序,转去执行相应的紧急事件,待处理完 毕再返回原处继续执行,这一过程称为中断。
北京林业大学信息学院
4.设备驱动程序
设备密切相关的代码放在设备驱动程序中,每个设备驱动
程序处理一种设备类型 每一个控制器都设有一个或多个设备寄存器,用来存放向 设备发送的命令和参数。设备驱动程序负责释放这些命令, 并监督它们正确执行 设备驱动程序的任务是接收来自与设备无关的上层软件的 抽象请求,并执行这个请求。 在设备驱动程序的进程释放一条或多条命令后,系统有两 种处理方式,多数情况下,执行设备驱动程序的进程必须 等待命令完成,这样,在命令开始执行后,它阻塞自已, 直到中断处理时将它解除阻塞为止。而在其它情况下,命 令执行不必延迟就很快完成
因而耗费大量时间轮询信息,严重地降低了系 统性能
北京林业大学信息学院
外围设备 接收到start命令
CPU 发start命令
做接收或发送数据准备
否 准备完毕? 是 标志触发器置“done” 等待CPU来的下条指令
是
设备标志触发 器为done”? 否 等 待
执行下条指令 开始数据传送
(a)
(b)
北京林业大学信息学院
I/O设备1
I/O控制器1
CPU
北京林业大学信息学院
中断控制方式的处理过程
设备 接 收 到 CPU 发 来 的 start指令 准备数据并将其 置入缓冲寄存器 否 CPU 向设备发start指令 将中断允许位置1 调度程序调度其 他进程 其他进程执行
缓冲寄存器满吗? 是 控制器发中断信号
否
收到中断信号了吗? 中断处理 被中断进程执行
进程P等待该设备空 闲
搜索COCT找到CHCT指针 是 通道忙? 否 分配通道给进程P 启动I/O 进程P 等待通道
设备分配流程图
北京林业大学信息学院
※ I/O系统的设备分配 按如下步骤实施设备分配:
(1) 分配设备。
(2) 分配控制器。 (3) 分配通道。
北京林业大学信息学院
8. I/O控制
由进程P来的I/O请 求 搜索SDT找到DCT指针 是
A 搜索DCT指针, 找到COCT指针 是 进程P等待控制器
查DCT 该设备忙? 否 按分配策略选取 占据该设备的进程
进程P按分配策略 入I/O等待队列 否
控制器忙吗 ? 否 分配控制器给进程P
进程P被选 中? 是 检查该设备分配给 进程P的安全性 否 安全吗? 是 该设备分配给进程P A
北京林业大学信息学院
3)DMA方式
CPU 内存 磁盘 控制器 驱动器
缓冲器 DMA寄存器 计数 系统总线 内存地址 计数
DMA方式下的数据传输
北京林业大学信息学院
数据传输处理过程如下: ① 当进程要求设备输入数据时,CPU把准备存放输入数据的内存始 址及要传输的字节数分别送入DMA控制器中的内存地址寄存器和传送字节 计数器;另外,还要把控制/状态寄存器中的中断允许位和启动位置1, 从而启动设备,开始数据输入。 ② 发出数据输入要求的进程进入阻塞状态, 进程调度程序调度 其它进程占有CPU。 ③ 输入设备不断地挪用CPU工作周期, 将数据从内部缓冲区源源 不断地送入内存,直至所要求的字节数全部传送完毕。 ④ DMA控制器在传输完成时通过中断请求线发出中断信号, CPU 接到中断信号后转中断处理程序进行相应处理。 ⑤ 中断处理结束后, CPU返回被中断的进程或去运行重新被调度 的进程。
北京林业大学信息学院
6.用户层的I/O软件
尽管大部分I/O软件都包含在操作系统中,但仍 有一小部分是由与用户程序连接在一起的库过程, 甚至完全由运行于核外的程序构成。系统调用, 包括I/O系统调用,通常由库过程实现
这些过程所做的工作只是将系统调用时所用的参 数放在合适的位置,由其它的I/O过程实际实现 真正的操作
设备标识
通道标识 通道忙/闲标记 通道等待队列首 通道等待队列尾 ┇
CHCT
设备忙/闲标记 COCT指针 设备等待队列首 设备等待队列尾 驱动程序地址
DCT
┇
COCT
北京林业大学信息学院
设备使用率低
静态分配
设备分配原则
动态分配
有可能造成死锁
先请求先分配
设备分配策略
优先级高者先分配
北京林业大学信息学院
1.独立于设备的软件的基本任务是实现所有设备都需要 的功能,并且向用户级软件提供一个统一的接口 2.如何给文件和设备这样的对象命名是操作系统中的一 个主要课题。独立于设备的软件负责把设备的符号名 映射到正确的设备驱动上(linux上文件映射) 3.设备保护:系统防止无权存取设备的用户存取设备 4.不同的磁盘可以采用不同的扇区尺寸。设备独立软件 向较高层软件掩盖这一事实并提供大小统一的块尺寸。 它可将若干扇区合成一个逻辑块。较高层的软件只与 抽象设备打交道,独立于物理扇区的尺寸而使用等长 的逻辑块 5.缓冲技术 6.设备分配 7.出错处理
北京林业大学信息学院
驱动程序所处地位
用户进程
文件系统
设备驱动程序 设备控制器
设备本身
用户进程请求设备服务的流程
北京林业大学信息学院
5.设备独立的软件
虽然I/O软件中一部 分是设备专用的,但 大部分软件是与设备 无关的。设备驱动程 序与设备独立软件之 间的确切界限是依赖 于具体系统的
北京林业大学信息学院
传送字节数 =0?吗?
是
发中断信号 停止I/O操作
是
转中断处理
北京林业大学信息学院
DMA方式与中断的主要区别
中断方式是在数据缓冲寄存区满后,发中断请求, CPU进行中断处理 DMA方式则是在所要求传送的数据块全部传送结束 时要求CPU进行中断处理 大大减少了CPU进行中断处理的次数 中断方式的数据传送是由CPU控制完成的 DMA方式则是在DMA控制器的控制下不经过CPU控制 完成的
北京林业大学信息学院
设备 DMA控制器接收到start 指令 启动设备准备数据
DMA方式
CPU
数据入数据缓冲寄存器
缓冲寄存器内容入内存 改变传送字节数计数器 与内存地址寄存器内容 否
发start命令 内存地址 内存始址寄存器 传送字节数字节计数器 允许中断位与启动位置1
当前进程被阻塞, 调度程序调度其他进程运行 被调度的进程执行 接收到中断 信号吗? 否
三、输入/输出软件
1. 层次结构: 中断处理程序
设备驱动程序
与设备无关的I/O软件 用户层的输入/输出软件
北京林业大学信息学院
I/O请求
I/O应答
4-用户进程 3-设备无关软件
进行I/O调用:格式化I/O
命名、保护、阻塞、缓冲、分 配 设置设备寄存器、检测状态
设备服务子程序 2-设备 驱动程 序 1-中断处理程序 硬指令i+1
...
用户程序
...
中断处理 程序
北京林业大学信息学院
中断处理时的指令执行周期
读入中断 处理指令
N 开始
读入下 一条指令 执行 当前指令 允许 中断吗? 检查 中断位
结束
北京林业大学信息学院
关中断
中 断 处 理 过 程
保存被中断现场 分析中断原因 转中断处理子程序 执行中断处理子程序 恢复现场 开中断 返回中断点
每类(个)设备设一专门的I/O进程,且该进程只能 在系统态下执行 整个系统设一I/O进程,全面负责系统的数据传送 工作 每类(个)设备设一个专门的I/O进程,但该进程既 可在用户态也可在系统态下执行
北京林业大学信息学院
设置数据结构:
设备控制表DCT
系统设备表SDT
控制器表COCT 通道控制表CHCT
北京林业大学信息学院
系统设备表 STD
表目1 ┇
表目i ┇
设备类型 设备标识