第2章 嵌入式操作系统基本概念
嵌入式系统的应用及基本概念PPT课件

医疗设备
医疗设备是嵌入式系统的又一重要应用领域, 通过嵌入式系统技术,可以实现医疗设备的智 能化和便携化,提高医疗服务的效率和精度。
嵌入式系统在医疗设备中广泛应用于各种便携 式医疗设备,如智能血压计、智能血糖仪、智 能心电图仪等。
嵌入式系统通过与各种传感器和执行器的连接 和控制,实现了医疗设备的自动化和智能化, 提高了医疗服务的效率和精度。
05
嵌入式系统的发展趋势 与挑战
发展趋势
智能化
微型化
随着人工智能技术的不断发展,嵌入式系 统将更加智能化,能够实现自主决策、学 习和适应环境变化。
随着微电子技术的进步,嵌入式系统的体 积将越来越小,性能更高,功耗更低。Fra bibliotek网络化
安全性增强
物联网的普及将推动嵌入式系统网络化的 发展,实现设备间的互联互通和远程控制 。
常见的输入设备包括按钮、开 关、传感器等,输出设备包括 显示器、打印机、LED显示屏 等。
输入输出设备的选择取决于嵌 入式系统的应用场景和功能需 求。
电源
电源为嵌入式系统提供电能。
根据系统需求,可以选择不同的电源方案,如电池、直流电源和交流电源。
电源的稳定性和效率对嵌入式系统的性能和可靠性具有重要影响。
嵌入式系统的应用及 基本概念ppt课件
目录
• 嵌入式系统简介 • 嵌入式系统的基本组成 • 嵌入式系统的软件 • 嵌入式系统的应用实例 • 嵌入式系统的发展趋势与挑战
01
嵌入式系统简介
定义与特点
定义
嵌入式系统是一种专用的计算机 系统,主要用于控制、监视或帮 助操作机器和设备。
特点
实时性、专用性、可靠性和低功 耗。
供应链管理
随着嵌入式系统复杂性的增加, 企业需要更加精细的供应链管理 以确保产品的质量和交付。
嵌入式操作系统

嵌入式操作系统嵌入式操作系统是一种特殊的操作系统,用于控制嵌入式设备的操作和功能。
它通常被设计成具有小巧、高效、快速响应和稳定性强等特点,以适应嵌入式设备的资源限制和实时性要求。
本文将介绍嵌入式操作系统的基本概念、分类、应用和发展趋势。
一、基本概念嵌入式操作系统是在嵌入式系统中运行的一种软件系统。
它负责管理和控制硬件资源,提供对应用程序的支持和调度,以实现各种功能需求。
在嵌入式系统中,它不仅仅是一个软件组件,更是整个系统的核心。
二、分类嵌入式操作系统可以根据其结构和特点进行分类。
1. 实时操作系统(RTOS)实时操作系统是一种关注任务响应时间的嵌入式操作系统。
它能够确保任务在预定的时间内完成,并满足实时性要求。
实时操作系统广泛应用于航空航天、汽车电子、工业控制等领域。
2. 嵌入式Linux嵌入式Linux是指将Linux操作系统移植到嵌入式设备上的一种操作系统。
它继承了Linux的开放性和稳定性,并且具有丰富的软件资源和开发工具。
嵌入式Linux在智能手机、平板电脑、智能电视等设备中得到广泛应用。
3. 嵌入式Windows嵌入式Windows是指将Windows操作系统移植到嵌入式设备上的一种操作系统。
它兼容Windows的API和应用程序,为开发者提供了熟悉的开发环境和工具。
嵌入式Windows在工业自动化、医疗设备等领域被广泛采用。
三、应用嵌入式操作系统在各个领域都有广泛的应用。
1. 汽车电子嵌入式操作系统在汽车电子中起到了至关重要的作用。
它可以控制车身电子系统、信息娱乐系统、车载网络等,提高驾驶安全性和乘车舒适度。
2. 智能家居随着物联网技术的发展,越来越多的家庭设备开始智能化。
嵌入式操作系统可以用于控制家庭自动化设备,如智能门锁、智能灯光、智能家电等,实现远程控制和智能化管理。
3. 工业自动化工业自动化是嵌入式操作系统的一个重要应用领域。
它可以用于控制工业机器人、生产线设备、监控系统等,提高生产效率和质量稳定性。
嵌入式操作系统教程-第二章

1
第二章 实时操作系统的基本概念
实时操作系统及其特点 计算机实时操作系统
嵌 入 式 操 作 系 统 基 础 第 二 章 操 作 系 统 基
2
第二章 实时操作系统的基本概念
§2.1 实时系统及其特点
一、什么是实时系统
实时是指计算机系统要能够对及时响应外部事件的 实时 是指计算机系统要能够对及时响应外部事件的 请求,并以足够快的速度完成对事件的处理。 请求,并以足够快的速度完成对事件的处理。 实时操作系统按其用途的不同可分为两种类型: 实时操作系统按其用途的不同可分为两种类型:实时 按其用途的不同可分为两种类型 控制系统和实时信息处理系统。 控制系统和实时信息处理系统。
嵌 入 式 操 作 系 统 基 础 第 二 章 实 时 操 作 系 统 的 基 本 概 念
3
实时控制系统。 1. 实时控制系统。通常是指以计算机为中心的生产过程 控制系统。 控制系统。 实时控制系统的应用:对导弹发射、飞机飞行、 实时控制系统的应用:对导弹发射、飞机飞行、钢 铁生产、电力生产、石油化工生产过程的自动控制等。 铁生产、电力生产、石油化工生产过程的自动控制等。 2. 实时信息处理系统。在这类系统中,用户通过终端提 实时信息处理系统。在这类系统中, 出服务请求, 出服务请求,计算机系统根据用户提出的问题对信息进行 检索和处理,并在很短的时间内通过终端对用户作出回答。 检索和处理,并在很短的时间内通过终端对用户作出回答。 实时信息处理系统的应用:情报检索系统、 实时信息处理系统的应用:情报检索系统、航空订票 系统、银行系统和图书管理系统等。 系统、银行系统和图书管理系统等。
根据进程执行周期的长短来决定进程的优先级别, 根据进程执行周期的长短来决定进程的优先级别,适 合于周期性实时任务。 合于周期性实时任务。
嵌入式操作系统的组成

嵌入式操作系统的组成1. 嵌入式操作系统的概述嵌入式操作系统是指专为嵌入式系统设计的操作系统,通常运行在资源受限的设备上,如智能手机、家电、汽车电子等。
嵌入式操作系统是支撑嵌入式系统正常运行的核心软件,它不仅能够管理硬件资源,还提供了丰富的功能和服务。
嵌入式操作系统的组成是指构成整个操作系统的各个组成部分,包括内核、驱动程序、文件系统、操作系统服务等,它们相互协作,实现对嵌入式系统的管理和控制。
下面将详细介绍嵌入式操作系统的组成部分。
2. 嵌入式操作系统的组成部分2.1 内核内核是操作系统的核心部分,负责管理和控制硬件资源,提供各种系统服务和功能。
嵌入式操作系统的内核通常是精简的,只包含必要的功能和服务,以尽量减小内存占用和提高性能。
内核的主要功能包括任务调度、内存管理、设备驱动、中断处理等。
任务调度负责根据优先级和调度算法分配CPU时间片给不同的任务,实现多任务并发执行。
内存管理负责管理内存空间的分配和回收,避免内存泄漏和冲突。
设备驱动负责与外部设备进行通信和交互,包括读写数据、控制设备等。
中断处理负责处理各种中断事件,保证系统的稳定性和可靠性。
2.2 驱动程序驱动程序是嵌入式操作系统的重要组成部分,通过与硬件设备进行交互,实现对硬件资源的管理和控制。
驱动程序通常由内核提供的API和硬件接口组成,其主要功能是将各种硬件设备抽象为文件或设备对象,并提供相应的操作接口和函数。
不同的硬件设备需要不同的驱动程序,如串口驱动程序、网卡驱动程序、显示驱动程序等。
驱动程序的编写需要专门的硬件知识和编程技巧,以充分发挥硬件设备的功能和性能。
2.3 文件系统文件系统是嵌入式操作系统的存储管理部分,负责管理和操作文件和目录。
文件系统提供了对文件的读写和管理功能,使得应用程序可以方便地对文件进行操作。
文件系统包括目录结构、文件管理和文件权限等。
目录结构是指文件和目录之间的组织关系,可以通过树形结构进行表示。
文件管理包括文件的创建、删除、修改和查找等操作,以及文件的读写和访问控制。
嵌入式操作系统全解课件

中断处理优化
总结词
在嵌入式操作系统中,中断处理是一个重要的功能,它可以实现系统的实时性和 可靠性。因此,中断处理优化也是嵌入式操作系统优化技术中的重要一环。
详细描述
中断处理优化包括对中断处理程序的优化和中断优先级的设置等操作。例如,可 以通过减少中断处理程序的执行时间和复杂度,提高系统的响应速度和实时性; 可以通过合理地设置中断优先级,确保重要任务能够优先得到执行。
I/O操作优化
总结词
在嵌入式操作系统中,I/O操作也是一个重要的功能,它可以实现系统与外部设备的通信和控制。因此,I/O操作 优化也是嵌入式操作系统优化技术中的重要方面。
详细描述
I/O操作优化包括对I/O设备的选择、驱动程序的优化等操作。例如,可以通过选择合适的I/O设备,减少系统的 复杂度和成本;可以通过优化驱动程序,提高I/O操作的效率和可靠性。
内存优化
总结词
内存优化是嵌入式操作系统优化技术中的另一个重要方面,它可以减少内存的占用和提高内存的使用 效率,从而提高整个系统的性能和可靠性。
详细描述
内存优化包括内存管理、内存分配、内存缓存等技术的优化。例如,可以通过合理地使用静态和动态 内存分配,减少内存碎片的产生;可以通过使用内存缓存技术,提高内存访问的速度和效率。
05
嵌入式操作系统的可靠性设 计
可靠性设计方法
01
硬件冗余设计:通过增加备份或冗余组件来提 高系统的可靠性,例如双电源设计、双CPU等。
03
容错技术
02
软件健壮性设计:在软件设计阶段,采用容错 技术、异常处理等手段,提高软件的健壮性和
可靠性。
04
故障诊断与恢复
容错技术
硬件容错
通过硬件冗余、表决等技术实现 容错,例如采用多重表决器、奇 偶校验等。
嵌入式操作系统概述PPT教案

件系统,TCP/IP网络系统,窗口图形系统等。 随着嵌入式系统应用领域的扩展,目前嵌入式操作系统
的市场在不断细分,出现了针对不同领域的产品,这些 产品按领域的要求和标准提供特定的功能。
❖ 嵌入式系统最初的应用是基于单片机的,大多以可编程控制器的形式 出现,具有监测、伺服、设备指示等功能,通常应用于各类工业控制 和飞机、导弹等武器装备中,一般没有操作系统的支持,只能通过汇 编语言对系统进行直接控制,运行结束后再清除内存。
❖ 这些装置虽然已经初步具备了嵌入式的应用特点,但仅仅只是使用8 uation only.位的CPU芯片来执行一些单线程的程序,因此严格地说还谈不上"系
嵌入式操作系统的演变(5/7)
实时操作系统阶段
❖ 20世纪90年代,在分布控制、柔性制造、数字化通信和信息家电 等巨大需求的牵引下,嵌入式系统进一步飞速发展,而面向实时信 号处理算法的DSP产品则向着高速度、高精度、低功耗的方向发 展。随着硬件实时性要求的提高,嵌入式系统的软件规模也不断扩 大,逐渐形成了实时多任务操作系统(RTOS),并开始成为嵌入
嵌入式操作系统概述
会计学
1
第一章 嵌入式操作系统概述
一、嵌入式操作系统概述 二、嵌入式操作系统基本概念 三、嵌入式实时操作系统C/OS
uation only. right 2004-2011 Aspose Pty Ltd.
一、嵌入式操作系统概述
概述
嵌入式操作系统的演变
嵌入式操作系统的分类
嵌入式操作系统的体系结构
嵌入式操作系统一般由内核、嵌入式TCP/IP网络系统、 嵌入式文件系统等组成。
嵌入式知识总结
嵌入式第一章嵌入式系统概述1.1 嵌入式系统1.嵌入式系统的概念嵌入机械或电气系统内部、具有专属功能的智能化计算机算机系统。
通常要求实时计算性能,具有一定的复杂性。
被嵌入的系统通常是包含硬件和机械部件的完整设备。
2.技术本质:内含计算机、嵌入到对象体系中、满足对象智能化控制要求1.2 嵌入式处理器.嵌入式处理器可以分为以下几大类:嵌入式微处理器EMPU、微控制器MCU、DSP处理器、片上系统SOC1.3 嵌入式操作系统1.三种操作系统:多道批处理操作系统、分时操作系统、实时操作系统2.基本概念(1)任务:也称为线程,是一个简单的程序,该程序可以认为CPU完全属于该程序本身。
实时应用程序的设计过程,包括如何把问题分割成多个任务,赋予一定的优先级,有它自己的一套CPU寄存器和自己的栈空间(2)内核:内核负责管理各个任务,为每个任务分配CPU时间,负责任务间的通信。
内核提供的基本服务是任务切换。
使用实时内核可以大大简化应用系统的设计,因为实时内核允许将应用分成若干个任务,由实时内核来管理它们。
内核需要消耗一定的系统资源,比如2%~5%的CPU运行时间、RAM和ROM等。
内核提供必不可少的系统服务,如信号量、消息队列、延时等(3)调度:是内核的主要职责之一。
决定该轮到哪个任务运行了。
多数实时内核是基于优先级调度法的。
每个任务根据其重要程度的不同被赋予一定的优先级。
基于优先级的调度法指CPU总是让处在就绪态的优先级最高的任务先运行。
(4)任务优先级:任务的优先级是表示任务被调度的优先程度。
每个任务都具有优先级。
任务越重要,赋予的优先级应越高,越容易被调度而进入运行态(5)中断:中断是一种硬件机制,用于通知CPU有个异步事件发生了。
中断一旦被识别,CPU保存部分(或全部)上下文即部分或全部寄存器的值,跳转到专门的子程序(中断服务子程序ISR)。
中断服务子程序做事件处理,处理完成后,程序回到:在前后台系统中,程序回到后台程序;对非占先式内核而言,程序回到被中断了的任务;对占先式内核而言,让进入就绪态的优先级最高的任务开始运行。
嵌入式系统设计教程(第2版)简答题答案.pdf
第一章嵌入式系统概论1.嵌入式系统的定义是什么?答:以应用为中心,以计算机技术为基础,硬件、软件可裁剪,功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。
2.简述嵌入式系统的主要特点。
答:(1)功耗低、体积小、具有专用性(2)实时性强、系统内核小(3)创新性和高可靠性(4)高效率的设计(5)需要开发环境和调试工具3. 嵌入式系统一般可以应用到那些领域?答:嵌入式系统可以应用在工业控制、交通管理、信息家电、家庭智能管理系统、网络及电子商务、环境监测和机器人等方面。
4. 简述嵌入式系统的发展趋势答:(1)嵌入式应用的开发需要强大的开发工具和操作系统的支持(2)连网成为必然趋势(3)精简系统内核、算法,设备实现小尺寸、微功耗和低成本(4)提供精巧的多媒体人机界面(5)嵌入式软件开发走向标准化5.嵌入式系统基本架构主要包括那几部分?答:嵌入式系统的组织架构是由嵌入式处理器、存储器等硬件、嵌入式系统软件和嵌入式应用软件组成。
嵌入式系统一般由硬件系统和软件系统两大部分组成,其中,硬件系统包括嵌入式处理器、存储器、I/O系统和配置必要的外围接口部件;软件系统包括操作系统和应用软件。
6.嵌入式操作系统按实时性分为几种类型,各自特点是什么?答:(1)具有强实时特点的嵌入式操作系统。
(2)具有弱实时特点的嵌入式操作系统。
(3)没有实时特点的嵌入式操作系统。
第二章嵌入式系统的基础知识1.嵌入式系统体系结构有哪两种基本形式?各自特点是什么?答:冯诺依曼体系和哈佛体系。
冯诺依曼体系结构的特点之一是系统内部的数据与指令都存储在同一存储器中,其二是典型指令的执行周期包含取指令TF,指令译码TD,执行指令TE,存储TS四部分,目前应用的低端嵌入式处理器。
哈佛体系结构的特点是程序存储器与数据存储器分开,提供了较大的数据存储器带宽,适用于数据信号处理及高速数据处理的计算机。
2.在嵌入式系统中采用了哪些先进技术?答:(1)流水线技术(2)超标量执行(3)总线和总线桥3.简述基于ARM架构的总线形式答:ARM架构总线具有支持32位数据传输和32位寻址的能力,通过先进微控制器总线架构AMBA支持将CPU、存储器和外围都制作在同一个系统板中。
第2章嵌入式操作系统中的基本概念汇总ppt课件
2.6 任 务 切 换
任务切换(Context Switch或者Task Switch)
即CPU寄存器内容切换。实际上是模拟一次中 断过程,从而实现CPU使用权的转移。
任务栈:每个任务自己独立的堆栈,用于保存任 务的当前状态和所有寄存器内容。
本章内容
2.1 前后台系统 2.2 调度 2.3 临界区 2.4 进程与线程 2.5 任务与多任务 2.6 任务切换 2.7 死锁 2.8 不可剥夺型内核
2.9 可剥夺型内核 2.10 可重入性 2.11 优先级反转 2.12 事件 2.13 互斥 2.14 同步 2.15 通信 2.16 对存储器的要求 习题
•
2.5 任务与多任务
任务:在不同的应用领域具有不同的意义,它既 可以是一个独立装载的程序,也可以是全部程序 中的一段。在实时操作系统中,有时会用线程或 者进程来替代任务。
嵌入式实时操作系统的任务:大多数嵌入式系统不 具备担负面向进程操作系统的内存开销,小的微 处理器也不具备支持面向进程操作系统的硬件结 构——绝大多数嵌入式实时操作系统的任务都采 用了线程模式。
2.9 可剥夺型内核
可剥夺型内核:一旦有更高优先级的任务准备就 绪,当前正在运行的低优先级任务的CPU使用权 就立即被剥夺,该任务转为就绪态或挂起态, CPU的使用权移交给那个更高优先级的任务。
被中断的任务处理:如果中断服务使得一个高优 先级任务准备就绪,那么中断服务完成后,被中 断的任务将被挂起,高优先级的任务继续运行。
图2.3 不可剥夺型内核运行示意图
运行过程:
(1) 低优先级任务正在运行时,有一个异步事件发生,
嵌入式操作系统
2020/11/25
Embedded Operating Systems
12
4. 同时还应该看到,嵌入式系统本身还是一个外延极 广的名词。凡是与产品结合在一起的具有嵌入式特 点的控制系统都可以叫嵌入式系统,而且有时很难 给它下一个准确的定义。
2020/11/25
Embedded Operating Systems
Palm OS之所以在PDA领域占有70%以上的市场,就是因为 其立足于个人电子消费品,着重发展图形界面和多任务管理 ;
而风河的vxWorks之所以在火星车上得以应用,则是因为其 高实时性和高可靠性。
2020/11/25
Embedded Operating Systems
11
3. 嵌入式系统必须根据应用需求可对软硬件进行裁剪 ,满足应用系统的功能、可靠性、成本、体积等要 求。所以,如果能建立相对通用的软硬件基础,然 后在其上开发出适应各种需要的系统,是一个比较 好的发展模式。目前的嵌入式系统的核心往往是一 个只有几KB到几十KB的微内核,需要根据实际的使 用进行功能扩展或者裁减,但是由于微内核的存在 ,使得这种扩展能够非常顺利地进行。
Embedded Operating Systems
8
什么是嵌入式系统: 国内的经典定义
❖ 嵌入式系统是
“以应用为中心,以计算机技术为基础,并且软硬件 可裁剪,适用于应用系统对功能、可靠性、成本、体 积、功耗有严格要求的专用计算机系统”
❖ 一般由嵌入式微处理器、外围硬件设备、嵌入式 操作系统以及用户的应用程序等部分组成,用于 实现对其他设备的控制、监视或管理等功能。
6
什么是嵌入式系统: 来自IEEE的定义
“Embedded system is devices used to control, monitor, or assist the operation of equipment, machinery or plants”.
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
就绪态是指任务已经做好了运行的准备,可以运行, 但由于有更高优先级的任务正控制着CPU的使用权, 因此该任务暂时还不能运行。 运行态是指任务控制了CPU的使用权,正在运行中。 挂起态也叫做等待事件态,指任务在等待某一事件 的发生,例如等待某外设的I/O操作,等待某共享资源 的释放,等待定时脉冲的到来,或等待超时信号的到 来以结束目前的等待状态,等等。 被中断态是指发生中断时,CPU转入相应的中断服 务,原来正在运行的任务暂时放弃CPU的使用权,就 进入了被中断状态。
任何时候都只允许一个任务访问的资源称 为临界资源,用于访问临界资源的代码段 称为临界区或临界段。这部分代码不允许 多个并发任务交叉执行,否则会产生严重 后果,比如进入中断后的现场保护代码等。 为确保临界区代码的安全执行,在进入临 界区之前要关中断,而临界区代码执行完 以后要立即开中断。
任务与多任务
死锁预防的基本思想:打破产生死锁的四个必要条 件中的一个或几个。 死锁产生有四个必要的条件:① 互斥条件,系统 中某些资源只能独占使用;② 非抢占条件,系统 中某些资源仅能被它的占有者所释放,而不能被别 的任务强行抢占;③ 占有并等待条件,系统中的 某些任务已占有了分给它的资源,但仍然等待其它 资源;④ 循环等待条件,系统中由若干任务形成 的环形请求链,每个任务均占有若干种资源中的某 一种,同时还要求(链上)下一个任务所占有的资源。 必要的条件具备后,当任务推进顺序不合理时,死 锁就发生了。
后台 前台
ISR(中断服 务子程序)
ISR ISR
执行代码
前后台系统
时间相关性要求很强的关键操作一定要靠中断服 务来保证。 有的中断服务提供的信息并不能马上得到处理, 必须要一直等到后台程序运行到相应的处理任务 时才能处理,这种系统对处理信息的及时性比较 差,最坏情况取决于整个循环的执行时间。这个 指标称做任务级响应时间。 由于循环的执行时间不是常数,因此程序经过某 一特定部分的准确时间也是不能确定的。如果程 序修改了,循环的时序也会受到影响。
多任务的并发执行通常依赖于一个多任务操作 系统,多任务操作系统的核心是系统调度器, 它使用任务控制块(Task Control Block,TCB) 来管理任务调度功能。 TCB用来保存任务的当前状态、优先级、要等 待的事件或资源、任务程序代码的起始地址、 初始堆栈指针等信息。 一旦任务建立,TCB就被赋值,当任务的CPU使 用权被剥夺时,TCB用来保存该任务的状态; 当任务重新得到CPU使用权时,该任务的信息 将从它的TCB中取出,放入各个寄存器中,TCB 能确保任务从当时被中断的那一点丝毫不差地 继续执行。TCB全部驻留在内存中。
任务1 堆栈
任务2 堆栈
任务n 堆栈
任务控制块 SP
任务控制块 SP
任务控制块 SP
存储器 CPU CPU寄存器 SP 寄存器内容
实时应用程序设计的关键就是确定如何把 问题分割成多个任务,以及如何确定每个 任务的优先级和任务之间的通信。 典型地,每个任务都是一个无限的循环, 每个任务都处在休眠态、就绪态、运行态、 挂起态(等待某一事件发生)和被中断态等五 种状态之一。
线程管理的开销是很小的。大多数嵌入式系统不 具备担负面向进程操作系统的内存开销,小的微 处理器也不具备支持面向进程操作系统的硬件结 构。 基于上述原因,绝大多数嵌入式实时操作系统的 任务都采用了线程模式。 多任务是指用户可以在同一时间内运行多个应用 程序,每个应用程序就是一个任务。对于单CPU系 统来说,由于CPU不能在同一时刻运行多个程序, 因此多任务只是在宏观上看起来像是并发运行, 而在微观上各个任务还是串联执行的。
一旦发生死锁,可用资源剥夺或任务撤消 等方法解除死锁。 大多数内核提供了等待超时功能,以此化 解死锁。死锁一般发生在大型多任务系统 中,在嵌入式系统中不易出现。
不可剥夺型内核
不可剥夺型内核(Non-Preemptive Kernel) 的特点是运行的任务占有CPU的绝对使用权, 若不自我放弃,准备就绪的高优先级任务 不能抢占CPU的使用权。不可剥夺型调度法 也称做合作型多任务,各个任务彼此合作 共享一个CPU。正在运行的任务允许中断打 入,中断服务可以使任务由挂起状态变为 就绪状态,但中断服务完成以后CPU的使用 权还得还给原先被中断了的任务,直到该 任务主动释放CPU,准备就绪的高优先级任 务才能获得使CPU的使用权。
任务切换所需要的时间叫任务切换时间, 它取决于CPU有多少寄存器要进出堆栈。 任务切换过程增加了CPU的额外负荷, CPU的内部寄存器越多,额外负荷就越重。 实时内核的性能不应该以每秒钟能做多少 次任务切换来评价。
死
锁
死锁又称抱死,是指两个或者更多的任务 相互等待对方占有的资源而无限期地僵持 下去的局面。 例如:任务A正独享资源R1,任务B正在独 享资源R2,而此时任务A又要独享资源R2, 任务B也要独享资源R1,于是哪个任务都无 法继续执行了,死锁就发生了。 产生死锁的根本原因在于:系统资源不足, 任务运行推进的顺序不合理,资源分配不 恰当等。
可剥夺型内核(preemptive kernel)
临 界 区
嵌入式系统中的资源是指为任务所占用的 任何实体,它可以是硬件设备,如打印机、 键盘、显示器、I/O端口、RAM、ROM、中断 源和时钟等,也可以是软件,如变量、结 构和数组等。 共享资源是指被两个或者更多任务所使用 的资源。
临 界 区
可剥夺型内核(preemptive kernel)
系统响应时间很重要时,要使用可剥夺型内核。 最高优先级的任务一旦就绪,总能得到CPU的控 制权。 当一个运行着的任务使一个比它优先级高的任 务进入了就绪态,当前任务的CPU使用权就被剥 夺了,或者说被挂起了,那个高优先级的任务立 刻得到了CPU的控制权。 使用可剥夺型内核时,应用程序不应直接使用 不可重入型函数。如果调入可重入型函数时,低 优先级的任务CPU的使用权被高优先级任务剥夺, 不可重入型函数中的数据有可能被破坏。
任务在不同的应用领域具有不同的意义, 它既可以是一个独立装载的程序,也可以 是全部程序中的一段。 在实时操作系统中,有时会用线程或者进 程来替代任务。 进程是一个完全独立的程序,有自己的地 址空间;线程一般定义为具有特定目的的 半独立程序段,是进程中的一个子程序, 所有线程共用相同进程地址空间,合并起 来构成一个完整的应用程序。
不可剥夺型内核运行示意图
(1) 低优先级任务正在运行时,有一个异步事件发 生,中断打入。 (2) 如果此时中断是开放的,则CPU进入中断服务 子程序。 (3) 假设中断服务子程序使一个更高优先级的任务 进入就绪态。 (4) 中断服务完成后,应用程序返回到原来被中断 的任务。 (5) 继续执行被中断的任务,该任务完成后,调用 内核服务函数释放CPU控制权。 (6) 准备就绪的高优先级任务获得CPU的使用权。
单CPU上的多进程示意 活动记录(进程 状态记录)包含了 重新激活进程的数 据;
进程激活时,将进
进程1的代码、数据 PC 寄存器 CPU 进程2的代码、数据 进程3的代码、数据 进程1的活动记录 进程2的活动记录 进程3的活动记录 内存
Hale Waihona Puke 程的状态从活动记 录复制到CPU中;
不同的进程都有各
自的活动记录,记 录进程停止时CPU 的内部状态。
不可剥夺型内核(non-preemptive kernel) 不可剥夺型内核要求每个任务主动放弃 CPU的使用权。也称作合作型多任务,各 个任务彼此合作共享一个CPU。 中断服务可以使一个高优先级的任务由 挂起状态变为就绪状态。但中断服务以 后,CPU控制权还是回到原来被中断的任 务,直到该任务主动放弃CPU的使用权时, 高优先级的任务才能获得CPU的使用权
线程
嵌入式系统中,较轻量级的进程称为“线程” ,是程序执行 流的最小单元。 一个标准的线程由线程ID,当前指令指针(PC),寄存器集合 和堆栈组成。 线程是进程中的一个实体,是被系统独立调度和分派的基本 单位,线程自己不拥有系统资源,只拥有一点在运行中必不 可少的资源,它可与同属一个进程的其它线程共享进程所拥 有的全部资源。 一个线程可以创建和撤消另一个线程,同一进程中的多个线 程之间可以并发执行。由于线程之间的相互制约,致使线程 在运行中呈现出间断性。线程也有就绪、阻塞和运行三种基 本状态。每一个程序都至少有一个线程,那就是程序本身。 线程是程序中一个单一的顺序控制流程。在单个程序中同时 运行多个线程完成不同的工作,称为多线程。
不可剥夺型内核(non-preemptive kernel)
不可剥夺型内核的一个特点是几乎不需要使 用信号量保护共享数据。运行着的任务占有 CPU,而不必担心被别的任务抢占。 不可剥夺型内核的最大缺陷在于其响应高优 先级的任务慢,任务已经进入就绪态,但还 不能运行,也许要等很长时间,直到当前运 行着的任务释放CPU。内核的任务级响应时 间是不确定的,不知道什么时候最高优先级 的任务才能拿到CPU的控制权,完全取决于 应用程序什么时候释放CPU。
第2章 嵌入式操作系统中 的基本概念
主要内容
• 前后台系统
•可剥夺型内核
•可重入性 •优先级反转 •事件 •互斥
• 调度
• 临界区
• 进程与线程
• 任务与多任务
•同步
•通信 •对存储器的要求
• 任务切换
• 死锁 • 不可剥夺型内核
前后台系统
前后台系统一般由前台 (Foreground)和后台 (Background)两部分程序 组成。 后台是一个无限循环的应 用程序,循环中调用相应 的任务函数完成相应的操 作,各个任务依次运行, 没有调度,运行的次序不 能改变。 前台是中断服务程序,处 理异步事件。 后台一般也叫任务级,前 台也叫中断级。
前后台系统
前后台系统也称为超循环系统。一般不复 杂且实时性要求不高的小系统很适合采用 前后台系统. 例如微波炉、电话机、玩具等。 在另外一些基于省电的应用中,由于平时 微处理器处在停机状态,所有的事都靠中 断服务来完成,因此也常常采用前后台系 统模式。