操作系统输入输出系统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种外设,有一个复杂的管理层,管理层中配 有数据缓冲。
计算机操作系统os52
→ 把空buffer送入emq用队列完队把尾b;uffer送emq队列
第5章 设备管理
3、同步、互斥实现 type 可以为: emq、inq、outq
Procedure Getbuf(type, i) Procedure Putbuf(type, i)
缓冲池: – 池中全部缓冲区为各种类型的进程共享。 – 即可用于输入、又可用于输出。
第5章 设备管理
循环缓冲(P174)
• 循环缓冲的组成:
三类缓冲区(且大小相同):用于装输入数据的空缓冲区R、已 装满数据的缓冲区G以及计算进程正在使用的现行工作缓冲区C。
多个指针:用于指示计算进程下一个可用缓冲区G的指针Nextg、 指示输入进程下次可用的空缓冲区R的指针Nexti,以及用于指 示计算进程正在使用的缓冲区C的指针Current。
Begin Wait(RS(type));
Begin 用完的工作区送入
相应队列
Wait(MS(type));
Wait(MS(type) );
Addbuf(type, i);
i:=Takebuf(type) ; Signal(MS(type));
Signal(MS(type));
Signal(RS(type));
画画的例子!
第5章 设备管理
第五章 设备管理
5.0 引言(补充) 5.1 I/O系统 5.2 I/O控制方式 5.3 缓冲管理 5.4 I/O软件 5.5 设备分配 5.6 磁盘存储器的管理
第5章 设备管理
5.3 缓冲管理(P171)
一. 缓冲技术的引入 应用场合:数据到达和离去速度不匹配的地方 引入缓冲区的原因可归结为: 1) 缓和CPU与I/O设备速度不匹配的矛盾。 2) 减少中断次数。 3) 提高CPU与外设的并行性。 缓冲管理的职责:组织好这些缓冲区,并提供获得和释放缓冲区的手段。
STM32F103x微控制器与μC_OS-Ⅱ操作系统
STM32F103x微控制器与µC_OS-Ⅱ操作系统概述本文档介绍了STM32F103x微控制器与µC_OS-Ⅱ操作系统的概念、功能和使用方法。
STM32F103x微控制器是一款高性能、低功耗的微控制器,而µC_OS-Ⅱ操作系统是一款轻量级的、可裁剪的实时操作系统。
STM32F103x微控制器STM32F103x微控制器是STMicroelectronics推出的一款基于ARM Cortex-M3内核的32位微控制器。
它具有丰富的外设接口、高性能、低功耗等特点,适用于各种应用场景。
STM32F103x系列包括多个产品型号,如STM32F103C8T6、STM32F103ZET6等。
STM32F103x微控制器的主要特性包括: - ARM Cortex-M3内核,频率为72MHz。
- Flash存储器和SRAM,容量可根据产品型号而定。
- 多种外设接口,如USART、SPI、I2C、GPIO 等。
- 支持多重中断控制,具有较好的实时性能。
- 支持多种电源管理模式,具有低功耗特性。
STM32F103x微控制器广泛应用于工业控制、通信、消费电子等领域。
它的灵活性和性能使得它成为开发人员的理想选择。
µC_OS-Ⅱ操作系统µC_OS-Ⅱ操作系统是由MicroQuill Software Research开发的一款裁剪型实时操作系统。
它专为嵌入式系统设计,非常适合资源有限的系统。
µC_OS-Ⅱ具有以下特点: - 轻量级:µC_OS-Ⅱ的内核非常小,仅需几KB的存储空间。
- 实时性:µC_OS-Ⅱ支持优先级调度和时间片轮转等机制,具有良好的实时性能。
- 可裁剪:开发者可以根据系统需求选择所需的特性,减小系统的尺寸。
- 可移植:µC_OS-Ⅱ支持多种处理器架构,包括ARM Cortex-M系列。
µC_OS-Ⅱ操作系统提供了任务管理、时间管理、内存管理等功能,可以帮助开发者更好地组织和管理嵌入式系统。
第六章 OS-II操作系统工作原理
任务控制块是用来记录堆栈指针、任务的当前状态、任务的优先级别等一些与任务管理有关的属性。
语句⑤err = OSTCBInit(prio, (void *)stkb),对当前任务控制块进行初始化。任务控制块是用结构体定义的,如程序清单L6.3所示。
程序清单L6.3任务控制数据结构OS_TCB:
}
OSTaskCreat(void(*task)(void*dptr), void*data, void*pstk, UINT8U prio)带了4个参数:指向任务的指针、传递给任务的参数、堆栈指针(栈底)、任务的优先级。
在这个函数里,语句①②分别对应:OS_ENTER_CRITICAL()、OS_EXIT_CRITICAL()两个宏,其定义取决于使用的微处理器,可以在OS_CPU.H找到相应的定义,用三种方式实现(OS_CRITICAL_METHOD==1、2、3)功能是处理临界段代码的,对应用开中断总开关,关中断总开关,在μC/OS-II中有些代码在执行时,不允许被中断服务打断的代码称为临界段代码。
6
本节以μC/OS-II运行在基于ARM Cortex-M3的LM3S8962单片机平台上,以实例方试分析其工作原理,在分析过程中,对μC/OS-II做了适当的剪裁,保留其核心、精华部分,便于读者理解、掌握。附录A中为整理后的完整代码可在RVMDK中运行,以下所述内容可结合学习。
在前面第五章的应用中,编写过很多代码,但都没有任务这个概念,有了操作系统之后,就把前面那些相对独立的代码以任务的形式封装起,在μC/OS-II中每一个任务的代码结构是一个带有临界段的无限循坏。
第
教学目标
通过本章的学习,要理解嵌入式实时操作系统的基本概念,以及在实际应用中的意义;掌握μC/OS-II操作系统中任务、任务调度、任务通信、内存管理等的基本工作原理和μC/OS-II在不同CPU上的移植;了解μC/OS-II的不足和改进方法。
操作系统课件-OS-第五章-第5章-5.+5.2
2021/3/18
8
2.设备与控制器之间的接口
通常,设备并不是直接与CPU进行通信,而是与设备控 制器通信,因此,在I/O设备中应含有与设备控制器间的接 口,在该接口中有三种类型的信号(见图5-1 所示),各对 应一条信号线。
2021/3/18
3
1) 按设备的使用特性分类
第一类是存储设备,也称外存或后备存储器、辅助存储 器,是计算机系统用以存储信息的主要设备。该类设备存 取速度较内存慢,但容量比内存大得多,相对价格也便宜 。
第二类就是输入/输出设备,又具体可分为输入设备、 输出设备和交互式设备。输入设备用来接收外部信息,如 键盘、鼠标、扫描仪、视频摄像、各类传感器等。输出设 备是用于将计算机加工处理后的信息送向外部的设备,如 打印机、绘图仪、显示器、数字视频显示设备、音响输出 设备等。
2021/3/18
16
5) 数据缓冲
由于I/O设备的速率较低而CPU和内存的速率却很高,故 在控制器中必须设置一缓冲器。在输出时,用此缓冲器暂存 由主机高速传来的数据,然后才以I/O设备所具有的速率将 缓冲器中的数据传送给I/O设备;在输入时,缓冲器则用于 暂存从I/O设备送来的数据,待接收到一批数据后,再将缓 冲器中的数据高速地传送给主机。
就绪出错cpucpucpu内存完成未完中断cpu做其它事控制器发布读块命令cpucpu做其它事控制器的状态中断cpu下一条指令方式下一条指令下一条指令522中断驱动io控制方式现代计算机系统中都毫无例外地引入了中断机构致设备的控制广泛采用中断驱动interruptdriven方式即当某进程要启动某个io设备工作时便由cpu向相应的设备控制器发出一条io命令然后立即返回继续执行原来的任务
输入输出系统-hbrqlpf的专栏-CSDN博客
输入输出系统-hbrqlpf的专栏-CSDN博客输入/输出系统1、主机与外设的连接1.1、输入输出接口I/O接口是主存和外设之间的交接界面,通过接口可以实现主机和外设之间的信息交换主机和外设之间需要交换的信息:数据信息:这些信息可以是通过输入设备送到计算机的输入数据,也可以是经过计算机运算处理和加工后,送到输出设备的结果数据控制信息:这是CPU对外设的控制信息或管理命令,如外设的启动和停止指控,输入和输出操作的制定、工作方式的选择、中断功能的允许和禁止等状态信息:这类信息用来标志外设的工作状态,比如,输入设备数据准备好标志,输出设备忙、闲标志等联络信息:主机与外设间的时间配合信息外设识别信息:I/O寻址信息,使CPU能从众多的外设中寻找出与自己进行信息交换的唯一的设备2、接口的功能和基本组成(1)接口的功能实现主机和外部设备的通信联络控制进行地址译码和设备选择:当CPU送来选择外设的地址码后,接口必须对地址进行译码以产生设备选择信息,使主机能和指定外设交换信息实现数据缓冲:在接口电路中,一般设置一个或几个数据缓冲寄存器,用于数据的暂存,以避免因速度不一致而丢失数据。
在传送过程中,先将数据送入数据缓冲寄存器中,然后再送到外部设备或主机中去数据格式的变换:在输入或输出操作过程中,为了满足主机或外设的各自要求,接口电路中必须具有实现各类数据相互转换的功能,如:并-串转换、串-并转换、模-数转换、数-模转换以及二进制数和ASCII码的相互转换等传递控制命令和状态信息:当CPU要启动某一外设时,通过接口中的命令寄存器向外设发出启动命令;当外设准备就绪时,则有“准备好”状态信息送回接口中的状态寄存器,为CPU提供反馈信息,告诉CPU,外设已经具备与主机交换数据的条件(2)接口的基本组成接口中要分别传送数据信息、控制信息、和状态信息,数据信息、控制信息和状态信息都通过数据总线来传送。
大多数计算机都把外部设备的状态信息视为输入数据,而把控制信息看成是输出数据,并在接口中分设各自相应的寄存器,赋以不同的端口地址,各种信息分时地使用数据总线传送到各自的寄存器中接口与端口是两个不同的概念,端口是指接口电路中可以被CPU 直接访问的寄存器,若干个端口加上相应的控制逻辑电路才组成接口通常,一个接口中包含有数据端口、命令端口和状态端口。
OS-Ⅱ空间机器人操作系统的研究的开题报告
一种基于μC/OS-Ⅱ空间机器人操作系统的研究的开题报告一、研究背景和意义现在随着国家对空间探索的日益重视和人类探索宇宙的渴求,空间机器人越来越广泛地应用于卫星维护、空间科学探索等领域,成为了航空航天领域的重要组成部分。
空间机器人操作系统是指在软硬件结合的特殊环境下,支配机器人行为的软件系统。
空间机器人的任务要求系统具有实时性、可靠性、安全性和容错性等特殊性能。
为了满足这些要求,需要一个高效的,可靠的和安全的机器人操作系统。
而μC/OS-Ⅱ是一种小巧、高效、可靠的实时嵌入式操作系统,有着广泛的应用,特别是在航天、军工等领域得到了广泛应用。
本研究旨在将μC/OS-Ⅱ操作系统应用于空间机器人的操作系统中,探究其是否可以满足空间机器人的实时、可靠、安全等特殊性能要求,并为航空航天领域的发展做出贡献。
二、研究内容和思路(一)研究内容1.对空间机器人操作系统的特殊要求进行研究;2.研究μC/OS-Ⅱ操作系统的基本特点、结构和实现原理,为后续的应用做好技术准备;3.将μC/OS-Ⅱ操作系统应用于空间机器人操作系统中,并进行测试和实验验证;4.对μC/OS-Ⅱ操作系统在空间机器人操作系统中的应用效果进行评估和总结。
(二)研究思路1.先对空间机器人的特殊要求进行深入了解和研究,包括其实时性、可靠性、安全性和容错性等特殊性能要求;2.研究μC/OS-Ⅱ操作系统的基本特点、结构和实现原理,明确其适用性;3.将μC/OS-Ⅱ操作系统应用于空间机器人操作系统中,完成空间机器人操作系统的设计和实现,包括内核、任务调度、程序管理、通信接口、设备驱动等;4.对μC/OS-Ⅱ操作系统在空间机器人操作系统中的应用效果进行评估和总结,包括实时性、可靠性、安全性和容错性等性能评估。
三、研究计划和进度(一)研究计划1.研究阶段(2022年1月-2022年5月):(1)阅读相关文献,深入了解空间机器人操作系统的特殊要求;(2)学习μC/OS-Ⅱ操作系统的基本知识;(3)分析研究μC/OS-Ⅱ操作系统在空间机器人操作系统中的应用可行性;(4)设计空间机器人操作系统的结构和接口。
输入输出系统
2020/8/13
6
6.1 I/O系统的硬件结构
4.按传输数据数量分类
字符设备。每次传输数据以字节为单位的设备称为 字符设备,如打印机、终端、键盘等;
块设备。以数据块为单位进行传输的设备称为块设 备,如磁盘、磁带等高速外存储器等。
2020/8/13
7
6.1 I/O系统的硬件结构
6.1.2 I/O设备的物理特性
用于连接磁带、磁鼓和磁盘等快速设备,以成组方式工作。 每次传送一批数据,传输速度快,但这段时间内只能为一台设 备服务。 3.数组多路通道
磁盘这样的外围设备,虽然传送信息很快,但移臂定位时 间很长。数据多路通道,先为一台设备执行一条通道命令,然 后自动转换,为另一台设备执行一条通道命令。
2020/8/13
发出数据输入要求的进程进入阻塞状态,进程调度程序调度 其它进程占有CPU;
输入设备不断地挪用CPU工作周期,将数据从内部缓冲区源 源不断地送入内存,直至所要求的字节数全部传送完毕;
DMA控制器在传输完成时通过中断请求线发出中断信号, CPU接到中断信号后转中断处理程序进行相应处理;
中断处理结束后,CPU返回被中断的进程或去运行重新被调 度的进程。
控制/状态寄存器。在控制器中同样可以有一个或多个控 制/状态寄存器,用于存放从CPU送来的控制信息或由设 备产生的状态信息。
2020/8/13
17
6.1 I/O系统的硬件结构
设备控制器与设备的接口。在一个设备控制器上, 可以连接一台或多台设备。相应地,在控制器中就 有一个或多个设备接口,一个接口连接一台设备, 在每个接口中都有数据、控制和状态三种类型信号。
2
6.1 I/O系统的硬件结构
6.1.1 I/O设备类型
OS2-05
第二章 进 程 管 理
多线程OS中的进程 在多线程OS中,进程作为拥有系统资源 的基本单位,通常的进程都包含多个线程并 为它们提供资源,但此时的进程就不再作为 一个执行的实体。多线程OS中进程的属性: 作为系统资源分配的单位 可包括多个线程。进程分解为线程;线 程只能属于进程。 进程不是可执行的实体。线程是独立运 行实体。但进程的状态仍然存在。如“执 行”是指其至少某一线程在执行。
mark resource as busy;
unlock mutex;
第二章 进 程 管 理
2.7.4 线程控制
1. 内核支持线程的实现 PTDA 进程资源
TCB # 1
TCB # 2 TCB # 3
图 2 - 13 任务数据区空间
第二章 进 程 管 理
2. 用户级线程的实现 1) 运行时系统(Runtime System) 所谓“运行时系统”,实质上是用于管理和控制线程 的函数(过程)的集合, 其中包括用于创建和撤消线程的函 数、 线程同步和通信的函数以及实现线程调度的函数等。 正因为有这些函数,才能使用户级线程与内核无关。运行 时系统中的所有函数都驻留在用户空间,并作为用户级线 程与内核之间的接口。
第二章 进 程 管 理
线程的引入 引入线程是为了减少程序在并发执行时 所付出的时空开销,使OS具有更好的并发 性。 进程是可拥有资源和独立调度的基本单 位,支持并发,但创建、撤消、切换操作要 付出较大的系统开销(因为它是资源拥有 者),因此,系统中进程数量不宜过多,切 换不宜过频,则限制了并发程度。
第二章 进 程 管 理
线程的属性(续) 可并发执行。无论是否属于同一进程, 线程均可并发执行。 共享进程资源。同一进程中的各线程, 都可以共享该进程拥有的资源,表现在: 所有线程都具有相同的地址空间(进程地 址空间);此外,还可访问进程所打开的 文件、定时器、信号量机构等。
- 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 ┇
设备类型 设备标识