- 3
- 0
- 约7.35千字
- 约 10页
- 2019-09-06 发布于广东
- 举报
任务A 共享资源 任务B 任务C 信号量 1.3 嵌入式操作系统 基本概念 可以被一个以上任务使用的资源叫做共享资源。为了防止数据被破坏,每个任务在与共享资源打交道时,必须独占该资源,这叫做互斥。 ——共享资源 访问共享资源之前申请信号量 其它任务访问受阻 而不能使用共享资源 得到允许后,才能使用共享资源 1.3 嵌入式操作系统 基本概念 一个任务,也称作一个线程,是一个简单的程序,该程序可以认为CPU完全属于该程序自己。实时应用程序的设计过程,包括如何把问题分割成多个任务,每个任务都是整个应用的某一部分,每个任务被赋予一定的优先级,有它自己的一套CPU寄存器和自己的栈空间。 ——任务 1.3 嵌入式操作系统 基本概念 当多任务内核决定运行另外的任务时,它保存正在运行任务的当前状态,即CPU寄存器中的全部内容。这些内容保存在任务的当前状态保存区,也就是任务自已的栈区之中。入栈工作完成以后,就把下一个将要运行的任务的当前状态从任务的栈中重新装入CPU的寄予存器,并开始下一个任务的运行。这个过程就称为任务切换。这个过程增加了应用程序的额外负荷。CPU的内部寄存器越多,额外负荷就越重。做任务切换所需要的时间取决于CPU有多少寄存器要入栈。 ——任务切换 1.3 嵌入式操作系统 基本概念 多任务系统中,内核负责管理各个任务,或者说为每个任务分配CPU时间,并且负责任务之间的通信。内核提供的基本服务是任务切换。使用实时内核可以大大简化应用系统的设计,是因为实时内核允许将应用分成若干个任务,由实时内核来管理它们。内核需要消耗一定的系统资源,比如2%~5%的CPU运行时间、RAM和ROM等。 内核提供必不可少的系统服务,如信号量、消息队列、延时等。 ——内核 1.3 嵌入式操作系统 基本概念 调度是内核的主要职责之一。调度就是决定该轮到哪个任务运行了。多数实时内核是基于优先级调度法的。每个任务根据其重要程序的不同被赋予一定的优先级。基于优先级的调度法指CPU总是让处在就绪态的优先级最高的任务先运行。然而究竟何时让高优先级任务掌握CPU的使用权,有两种不同的情况,这要看用的是什么类型的内核,是非占先式的还是占先式的内核。 ——调度 1.3 嵌入式操作系统 基本概念 非占先式内核要求每个任务自我放弃CPU 的所有权。非占先式调度法也称作合作型多任务,各个任务彼此合作共享一个CPU。异步事件还是由中断服务来处理。中断服务可以使一个高优先级的任务由挂起状态变为就绪状态。但中断服务以后控制权还是回到原来被中断了的那个任务,直到该任务主动放弃CPU的使用权时,那个高优先级的任务才能获得CPU的使用权。 ——非占先式内核 1.3 嵌入式操作系统 基本概念 当系统响应时间很重要时,要使用占先式内核。因此绝大多数商业上销售的实时内核都是占先式内核。最高优先级的任务一旦就绪,总能得到CPU的控制权。当一个运行着的任务使一个比它优先级高的任务进入了就绪状态,当前任务的CPU使用权就被剥夺了,或者说被挂起了,那个高优先级的任务立刻得到了CPU的控制权。如果是中断服务子程序使一个高优先级的任务进入就绪态,中断完成时,中断了的任务被挂起,优先级高的那个任务开始运行。 ——占先式内核 1.3 嵌入式操作系统 基本概念 任务的优先级是表示任务被调度的优先程度。每个任务都具有优先级。任务越重要,赋予的优先级应越高,越容易被调度而进入运行态。 ——任务优先级 1.3 嵌入式操作系统 基本概念 中断是一种硬件机制,用于通知CPU有个异步事件发生了。中断一旦被识别,CPU保存部分(或全部)上下文即部分或全部寄存器的值,跳转到专门的子程序,称为中断服务子程序(ISR)。中断服务子程序做事件处理,处理完成后,程序回到: 1. 在前后台系统中,程序回到后台程序; 2. 对非占先式内核而言,程序回到被中断了的任务; 3. 对占先式内核而言,让进入就绪态的优先级最高的任务开始运行。 ——中断 目录 第一章 嵌入式系统概述 第二章 嵌入式系统工程设计 第三章 ARM7体系结构 第四章 ARM7TDMI(-S)指令系统 第五章 LPC2000系列ARM硬件结构 第六章 接口技术与硬件设计 第七章 移植μC/OS-II到ARM7 第八章 嵌入式系统开发平台 第1章 嵌入式系统概述 第1章 目录 1. 嵌入式系统 2. 嵌入式处理器 3. 嵌入式操作系统 第1章 目录 1. 嵌入式系统 2. 嵌入式处理器 3. 嵌入式操作系统 1.1 嵌入式系统 概述 经过几十年的发展,嵌入式系统已经在很大程
原创力文档

文档评论(0)