最新嵌入式实时操作系统 μcos-ii讲座 北 华 大学 任 哲 广州ppt课件.ppt

上传人:豆**** 文档编号:60605488 上传时间:2022-11-17 格式:PPT 页数:24 大小:1.41MB
返回 下载 相关 举报
最新嵌入式实时操作系统 μcos-ii讲座 北 华 大学 任 哲 广州ppt课件.ppt_第1页
第1页 / 共24页
最新嵌入式实时操作系统 μcos-ii讲座 北 华 大学 任 哲 广州ppt课件.ppt_第2页
第2页 / 共24页
点击查看更多>>
资源描述

《最新嵌入式实时操作系统 μcos-ii讲座 北 华 大学 任 哲 广州ppt课件.ppt》由会员分享,可在线阅读,更多相关《最新嵌入式实时操作系统 μcos-ii讲座 北 华 大学 任 哲 广州ppt课件.ppt(24页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、嵌入式实时操作系统嵌入式实时操作系统 COS-II讲座讲座 北北 华华 大大 学学 任任 哲哲2006 广州广州为什么要学习C/OS-II一.凡从事嵌入式系统开发工作的人,必须对嵌入式操作系统有足够的了解。二.对于初学者,从C/OS-II开始是个明智的选择。1.C/OS-II麻雀虽小,却五脏基本全(它是个微内核)。2.可以学习实时系统的一些编程技巧。3.可以把在学校中学到的操作系统抽象概念具体化。4.具有很强的实用性。5.学习数据结构应用的好例子。操作系统中经常使用的数据结构(结构)1。不同数据类型数据的集合;2。占用连续内存空间;struct Student int age;char*nam

2、e;char sex;使用上的特点:1。不分类存放,但用来描述同一事物;2。检索速度快且恒定;应用:通讯录中的一条记录、工具箱、厨房等等next next 两个元素的链表操作系统中经常使用的数据结构(链表)struct Student Student*next int age;char*name;char sex;1。同数据类型数据的集合;2。不占用连续内存空间。使用上的特点:1。分类存放,但空间上不连续(不需要大量的连续存储空间);2。检索速度慢,且耗费的时间不固定;应用:存放大量的较大的表,类似档案柜操作系统中经常使用的数据结构(队列)按照先进先出的规则组织的数据结构可以用数组也可以用链表

3、来实现主要用于对象的排队操作系统中经常使用的数据结构(堆栈)按照先进后出规则组织的数据结构主要用数组来实现主要用于程序模块的嵌套运行什么是多任务系统简单地说,就是能用一个处理器并发(注意,不是同时!)地运行多个程序的计算机管理系统。并发:由同一个处理器轮换地运行多个程序。或者说是由多个程序轮班地占用处理器这个资源。且在占用这个资源期间,并不一定能够把程序运行完毕。并发过程示意图处理器如何进行程序的切换?程序的切换(两句话)处理器是个傻瓜,PC让它干啥,它就干啥。PC是个指路器,它指向哪儿,处理器就去哪儿。从此可以知道,哪个程序占有了PC,哪个程序就占有了处理器。=PC深刻地理解深刻地理解PC是

4、理解系统进行程序切换动作的关键。所谓切换就是:PC 目标地址如何操作PC指令:不同的计算机类型的指令是不同的。数据传送指令数据传送指令子程序返回指令(子程序返回指令(由堆由堆栈弹出栈弹出)中断服务程序返回指令中断服务程序返回指令(由堆栈弹出由堆栈弹出)小结小结系统是通过把待运行程系统是通过把待运行程序的地址赋予程序计数序的地址赋予程序计数器器PC来实现程序的切换来实现程序的切换的。的。任务代码任务堆栈内存处理器PCSP任务运行时与 处理器之间的关系处理器通过两个指针寄存器(PC和SP)来与任务代码和任务堆栈建立联系并运行它寄存器组程序运行环境运行环境包括了两部分:处理器中的运行环境和内存中的运

5、行环境任务代码任务堆栈内存处理器PCSP多任务时的问题任务代码任务堆栈内存任务代码任务堆栈内存?当有多个任务时,处理器中的运行环境应该怎么办?寄存器组程序运行环境程序 虚拟处理器PCSP 虚拟处理器PCSP 虚拟处理器PCSP 虚拟处理器PCSP调度器多任务时任务与处理器 之间关系的处理程序处理器PCSP在内存中为每个任务创建一个虚拟的处理器(处理器部分的运行环境由操作系统的调度器按某种规则来进行这两个复制工作复制当需要运行某个任务时就把该任务的虚拟处理器复制到实际处理器中复制当需要中止当前任务时,则把任务对应的虚拟处理器复制到内存复制再把另一个需要运行的任务的虚拟处理器复制到实际处理器中寄存

6、器组寄存器组也就是说,任务的切换是任务运行环境的切换虚拟处理器虚拟处理器应该存储的主要信息:1。程序的断点地址(PC)2。任务堆栈指针(SP)3。程序状态字寄存器(PSW)4。通用寄存器内容5。函数调用信息(已存在于堆栈)另外再用一个数据结构保存任务堆栈指针(SP),这个数据结构叫做任务控制块,它除了保存任务堆栈指针之外还要负责保存任务其他信息。这些内容通常保存在任务堆栈中,这些内容也常叫做任务的上下文。任务控制块是由操作系统另行构造的一个数据结构,每个任务都有一个。任务控制块结构的主要成员typedef struct os_tcb OS_STK *OSTCBStkPtrOS_STK *OST

7、CBStkPtr;/指向任务堆栈栈顶的指针 INT8U INT8U OSTCBStatOSTCBStat;/任务的当前状态标志 INT8U INT8U OSTCBPrioOSTCBPrio;/任务的优先级别 OS_TCB;任务代码任务堆栈内存任务控制块其实,程序切换的关键是把程序的私有堆栈指针赋予处理器的堆栈指针SPSP实质上系统是通过SP的切换来实现程序的切换的。要建立一个概念:具有控制块的程序才是一个可以被系统所运行的任务。程序代码、私有堆栈、任务控制块是任务的三要件。任务控制块提供了运行环境的存储位置。任务的基本概念 把一个大型任务分解成多个小任务,然后在计算机中通过运行这些小任务,最终

8、达到完成大任务的目的。在C/OS-II中,与上述那些小任务对应的程序实体就叫做“任务”(实质上是一个线程),C/OS-II就是一个能对这些小任务的运行进行管理和调度的多任务操作系统。从应用程序设计的角度来看,C/OS-II的任务就是一个用户编写的C函数和与之相关联的一些数据结构而构成的一个实体。任务代码任务堆栈内存在内存中应该存有任务的代码和与该任务配套的堆栈任务切换过程获得待运行任务的任务控制块恢复待运行任务的运行环境处理器的PC=任务堆栈中的断点地址处理器的SP=任务块中保存的SP如何获得待运行任务的任务控制块?小结一个完整的任务应该有如下三部分:任务代码(程序)任务的私有堆栈(用以保护运行环境)任务控制块(提供私有堆栈也是虚拟处理器的位置)这些都是任务方应该提供的基本信息。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁