初学ucosII(一)

为什么要学习μC/OS-II

.凡从事嵌入式系统开发工作的人,必须对嵌入式操作系统有足够的了解。

.对于初学者,从μC/OS-II开始是个明智的选择。

  1. μC/OS-II麻雀虽小,却五脏基本全(它是个微内核)。

  2.可以学习实时系统的一些编程技巧。

  3.可以把在学校中学到的操作系统抽象概念具体化。

  4.具有很强的实用性。

  5.学习数据结构应用的好例子。

 

什么是计算机操作系统

操作系统是一种为应用程序提供服务的系统软件,是一个完整计算机系统的有机组成部分。
 
从层次来看,操作系统位于计算机硬件之上,应用软件之下。所以也把它叫做应用软件的运行平台

计算机操作系统的作用

它在计算机应用程序与计算机硬件系统之间,屏蔽了计算机硬件工作的一些细节,并对系统中的资源进行有效的管理
 
通过提供函数(应用程序接口(API)),从而使应用程序的设计人员得以在一个友好的平台上进行应用程序的设计和开发,大大地提高了应用程序的开发效率

从用户的角度来看,它就是一大堆函数API和系统函数),用户可以调用(普通调用或系统调用)它们来对系统资源进行操作。

 
计算机操作系统通过任务表管理处理器、内存、网络和通信,通过设备表管理I/O设备,还有存储分配表、文件目录等等。总之,需要一大堆的表。
 
这就涉及到操作系统中经常被使用的数据结构:数组、位图、结构、链表、队列、堆栈。
 
数组:记录同类事物
位图:位图是数组的一种特殊应用,用于登记表
结构:

struct Student{

  int age;

  char*name;

  char sex;

};

应用:通讯录中的一条记录、工具箱、厨房等等

链表:主要存放大量的较大的表,类似档案柜。使用上的特点:1分类存放,但空间上不连续(不需要大量的连续存储空间);2。检索速度慢,且耗费的时间不固定
 
队列:按照先进先出的规则组织的数据结构,可以用数组也可以用来实现
 
堆栈:

按照先进后出规则组织的数据结构,主要用数组来实现,用于程序模块的嵌套运行

 

什么是多任务系统

简单地说,就是能用一个处理器并发(注意,不是同时! )地运行多个程序的计算机管理系统。

并发由同一个处理器轮换地运行多个程序。或者说是由多个程序轮班地占用处理器这个资源。且在占用这个资源期间,并不一定能够把程序运行完毕。

很形象的两句话:

处理器是个傻瓜,PC让它干啥,它就干啥。

PC是个指路器,它指向哪儿,处理器就去哪儿。

从此可以知道,哪个程序占有了PC,哪个程序就占有了处理器。

深刻地理解PC是理解系统进行程序切换动作的关键。

系统是通过把待运行程序的地址赋予程序计数器PC来实现程序的切换的。

                                                                                                              (本文转自 任哲嵌入式实时操作系统μC/OS-II讲座,仅供学习

关于UCOSII实时操作系统 第讲 初识uCOSII 4 1、uCOSII单任务实验: 4 2、uCOSII多任务实验: 6 3、任务状态之间的转换: 9 4、空闲任务和统计任务简介: 9 5、任务的三要件: 9 程序代码、私有堆栈、任务控制块 9 6、任务控制块TCB(P80) 9 7、创建任务 9 8、任务的栈空间 10 9、栈的增长方向: 10 第二讲 调度运行机制 11 1、任务挂起和恢复 11 2、任务挂起、恢复的状态转换 13 3、时钟节拍ISR 15 4、时钟节拍函数OSTimtick() 16 5、延时系统调用 16 第三讲 任务管理uCOSII 17 1、任务删除 17 2、任务请求删除实验 19 3、在源码中增加打印信息般步骤 24 4、OSTaskDelReq()函数理解流程图 25 第四讲 互斥性信号量管理 26 1、优先级反转 26 2、信号量SEM使用 26 3、互斥信号量Mutux使用 29 4、关于信号量程序分析 32 5、关于互斥信号量分析 32 6、OSMutexPend()函数流程图 33 7、OSMutexPost()函数流程图 33 第五讲 消息邮箱 34 1、基本概念 34 2、对于OSMboxPend()理解 34 3、对于OSMboxPost()理解 34 4、消息邮箱管理般程序 35 5、使用OSMboxQuery() 38 6、OSMboxPend()函数Timeout等待超时程序 38 7、OSMboxPost()函数邮箱状态为FUll程序 40 8、关于OSTimeTickHook(void)使用 41 第六讲 信号量集 43 1、信号量集案例 43 2、OSFlagPend()源码 46 3、OSFlagPost()源码 51 第七讲 动态内存 54 1、内存管理基本概念 54 2、内存管理基本概念 54 3、内存管理案例 54 4、案例分析 69 5、教学案例: 71
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值