当前位置:
文档之家› 嵌入式实时操作系统uCOS-II
嵌入式实时操作系统uCOS-II
嵌入式实时操作系统 μC/OS-II讲座
北 华 大学 任哲
2006 广州
为什么要学习μC/OS-II
一.凡从事嵌入式系统开发工作的人,必须 对嵌入式操作系统有足够的了解。
二.对于初学者,从μC/OS-II开始是个明智的选择。 1. μC/OS-II麻雀虽小,却五脏基本全(它是个微内 核)。 2.可以学习实时系统的一些编程技巧。 3.可以把在学校中学到的操作系统抽象概念具体化。 4.具有很强的实用性。 5.学习数据结构应用的好例子。
操作系统中经常使用 的数据结构(堆栈)
按规主主程照则要先 要 序组用用模织数进于块的组后的数来出嵌据实套结现运构行
什么是多任务系统
处理器如何进行程序的
切换? 并简单发地:说,由就同是一能用个一处个理处器理并轮器发示过换意程图地
运并行发多(个注程意序,。不或是者同说时是由!多)个
程地运序行轮多班个地程占序的用计处算理机器管理这系个统资。源。 且在占用这个资源期间,并不一 定能够把程序运行完毕。
讲座的主要内容
一.计算机操作系统的基本概念 二.操作系统中常用的数据结构 三.并发操作系统的概念 四.任务的要素 五. μC/OS-II的任务管理(任务调度) 六. μC/OS-II的中断和时钟 七. μC/OS-II的任务的同步与通信 八. μC/OS-II的存储管理 九.硬件抽象层和测试台
什么是计算机操作系统
同,但每个元素ቤተ መጻሕፍቲ ባይዱ有一个编号; a+1
4。元素名去掉编号(下标), 得到的是数组名,数组名是个
a+2
指针。
a+3
int a[10] a[0] a[1] a[2] a[3]
使用上的特点:
1。分类存放; 2。检索速度快且恒 定; 3。缺点:占用连续 空间大
… …
a+9
a[9]
应用:记录同类事物的表
操作系统中经常使用 的数据结构(位图)
PCPCPCPC
程程序序
SP
复复制制
也任就务运是行说环,境任的务切的换切换是 由操作系统的调度器按某
寄存器组 当则处虚处需把再理当任虚处S拟理虚P要任把器处S需务拟理器虚处P器S拟中务另理要的P器S复拟理P止对一器运虚制器当应个行拟到复处前的需某处内制理任虚要个理存到器务拟运任器实中时处行务复际,理的时制处任就到理务把实器的该际中虚拟
它算机就硬是件工一作大的堆一些函细数节,
(用并的A对管户P系理I可和。统中以系的调统资用源函进(数行普有)效,
操 作
应用软件 高级语言的接口
通•通调过用提供或函系数(统应调用用程序)接 它口序的(们设AP来计I)人对)员,系得从统以而在资使一应源个用友程
系
用汇编语言编写
统
的
硬件抽象层
计算机硬件
好的进平台行上操进行作应。用程序的
a[10] (可以记录80个事物的状态)
位图是数组的一种特殊应
用
a
a+1
a+2
a+3
D7 D6 D5 D4 D3 D2 D1 D0
a[0] 1/0 a[1] a[2] a[3]
… …
登记表 应用:
a+9
a[9]
操作系统中经常使用 的数据结构(结构)
1。不同数据 类型数据的集 合; 2。占用连续 内存空间;
多任务时的问题
处理器 PC
寄存器组 SP
当有多内个存任务时,处理器中的运 行内环存境应该怎么办? 内存
?
任务代码 任务代码 任务代码
任务堆栈 任务堆栈 任务堆栈
程序运行环境
多任务时任务与处理器
之间关系的处理
处理器
调度器
在内存中为每个任务创建 一个虚拟的处理器(处理
器部分的运行环境
PC 寄存器组
复制
程序的切换(两句话)
= PC 深进从序就处它P行刻C此占占理干程地是可有有器啥序理个以了了是,切解指知处P个它换P路CC道理傻就动,器是,器瓜干作哪,理哪。,啥的个它解个。P关程指C系程键序让向统。哪
儿,处理器就去哪儿。
•如数何据操传作送P指C令
•栈所P指不令子C弹谓令同是程出切:的不序目)换计同返标就算的回地是机。指址:类令型(的由指堆 •中断服务程序返回指令 (由堆栈弹出)
(Operating System,OS)
•操作系统是一种为应用 程序提供服务的系统软 件,是一个完整计算机 系统的有机组成部分。
•从层次来看,操作系统 位于计算机硬件之上, 应用软件之下。所以也 把它叫做应用软件的运 行平台。
计算机操作系统的作用
从•机它用硬在件户计系算的统机之角应间用度,程来屏序蔽看与了计,计算
小结
系统是通过把待运行程 序的地址赋予程序计数 器PC来实现程序的切换 的。
任务运行时与 处理器之间的关系
运行环境包括了两部分:处理器 中的运行环境和内存中的运行环
境 处理器
PC
内存 任务代码
寄存器组
SP
处理器通过两个指针寄存器(PC
任务堆栈
和SP)来与任务代码和任务堆栈
建立联系并运行它
程序运行环境
种规则来进行这两个复制
工作
虚要拟建处立理一器个概念:具有
控制块的程序才是一个 虚拟处理器应该存储的主要信息:
任务控制12。。块程任结序务构的堆的断栈主点指要地针成址(员(SPP)C)
任务内控存制块
struct Student{ int age; char*name; char sex; };
使用上的特点:
1。不分类存放, 但用来描述同一事 物; 2。检索速度快且 恒定;
应用:通讯录中的一条记录、 工具箱、厨房等等
操作系统中经常使用 的数据结构(链表)
struct Student{ Student*next int age; char*name; char sex; };
1。同数据类型数据的集合; 2。不占用连续内使存用空上间的。特点:
两个元素的链表
next
next
1。分类存放,但空间上不连续(不需要大量的连 续存储空间);
应用:存放大量的较大 2。检索速度慢,且耗费的时间不固定;
的表,类似档案柜
操作系统中经常使用 的数据结构(队列)
按照先进先出 的可规以主则用要组数用织组于的也对数可象据以的结用排构链队 表来实现
设计和开发,大大地提高了
应用程序的开发效率。
计算机操作系统的功能
任务管理
存储管理 存储
任务表
分配表
文件管理
表 处理总器的之管理,需要一大堆 文件
目录
操作系统
网络和通信的 管理
设备表
I/O设备管理
操作系统中经常使用 的数据结构(数组)
数组
1。同一数据类型数据的集合;
2。占用连续内存空间;
a
3。其中的所有元素名称都相