uCos 学习:0-有关概念
先说一下UCOSIII:Micrium在2009年推出了UCOSIII,相对于之前的UCOSII版本,在性能上有了进一步的提升,主要是支持时间片轮调度,极短的关中断事件等。
可剥夺多任务管理:
什么是可剥夺多任务管理呢?查相关资料,意思就是这个系统总是在执行当前所有就绪的最高优先级的任务。也就是说,不管系统当前有多少个任务,总是在执行优先级最高的。
Micrium在2009年推出了UCOSIII,相对于之前的UCOSII版本,在性能上有了进一步的提升,主要是支持时间片轮调度,极短的关中断事件等。
同优先级任务的时间片轮转调度:
这个是UCOSIII与UCOSII一个比较大的区别,UCOSIII允许一个任务优先级被多个任务使用,当这个优先级处于最高就绪的时候,UCOSIII就会轮流调度处于这个优先级的所有任务,让每个任务运行一段由用户指定的时间长度(时间片)。
极短的关中断时间:
UCOSIII可采用锁定内核调度的方式而不是关中断的方式来保护临界代码段,这样就可以将关中断的时间降到最低,使得UCOSIII能够非常快速的响应中断请求。
任务数目不受限制:
UCOSIII本身没有任务数量的限制,但是受CPU所使用的内存空间的限制。
优先级数量不受限制:
支持无限多的任务优先级。
软件定时器:
用户可以任意定义“单次”和“周期型”定时器,定时器是一个递减计数器,递减到0就会执行预先定义的操作,每个定时器都可以指定所需的操作,周期型定时器在递减到0时不仅会执行预先指定的操作,还会自动重置计数器值。
同时等待多个内核对象:
UCOSIII允许一个任务同时等待多个事件,也就是说,一个任务能够挂起在多个信号量或消息列队之上,当其中任务一个等待的事件发生时,等待任务就会被唤醒。
直接向任务发送信号:
UCOSIII允许中断或者任务直接级另一个任务发送信号,避免创建和使用诸如信号量或事件标志等内核对象作为向其它任务发送信号的中介,该特性有效的提高了系统性能。
任务寄存器:
每个任务都可以设定若干个任务寄存器,任务寄存器和硬件CPU的寄存器是不同的,主要用来保护各个任务的错误信息,ID识别信息,中断关闭时间的测量结果等等。
任务级时钟节拍处理:
UCOSIII的时钟节拍是通过一个专门的任务完成的,定时中断仅触发该任务,将延迟处理和超时判断放在任务级代码完成,能极大的减少中断的延时时间。、
防止死锁:
所有UCOSIII等待功能,都提供了一超时检测功能,有效的避免了死锁。
时间戳:
UCOSIII需要一个16位的或者32位的自由运行计数器,来实现时间测量,在系统运行时,可以通过读取该计数器来测量某一个事件的时间信息。
uCos 学习:0-有关概念的更多相关文章
- mangodb学习0.1 概念
摘自菜鸟教程
- Oracle RAC学习笔记:基本概念及入门
Oracle RAC学习笔记:基本概念及入门 2010年04月19日 10:39 来源:书童的博客 作者:书童 编辑:晓熊 [技术开发 技术文章] oracle 10g real applica ...
- Prolog学习:基本概念 and Asp.net与Dojo交互:仪器仪表实现
Asp.net与Dojo交互:仪器仪表实现 项目中需要用到仪器仪表的界面来显示实时的采集信息值,于是便遍地寻找,参考了fusionchart和anychart之后,发现都是收费的,破解的又没有这些功能 ...
- Python学习:基本概念
Python学习:基本概念 一,python的特点: 1,python应用场景多;爬虫,网站,数据挖掘,可视化演示. 2,python运行速度慢,但如果CPU够强,这差距并不明显. 3,严格的缩进式编 ...
- Docker学习之基本概念
Docker学习之基本概念 作为一个后端noder,不了解docker有点说不过去,这节开始,学习一些docker层面的东西. 什么是docker Docker最初是dotCloud公司创始人Solo ...
- jQuery学习笔记之概念(1)
jQuery学习笔记之概念(1) ----------------------学习目录-------------------- 1.概念 2.特点 3.选择器 4.DOM操作 5.事件 6.jQuer ...
- 我也想聊聊 OAuth 2.0 —— 基本概念
这是一篇待在草稿箱半年之久的文章 连我自己都不知道我的草稿箱有多少未发布的文章了.这应该是我在上一家公司未解散之前写的,记得当时是要做一个开发者中心,很不幸. 今天,打开草稿箱有种莫名的伤感,看到这个 ...
- Java IO学习笔记:概念与原理
Java IO学习笔记:概念与原理 一.概念 Java中对文件的操作是以流的方式进行的.流是Java内存中的一组有序数据序列.Java将数据从源(文件.内存.键盘.网络)读入到内存 中,形成了 ...
- PCIE 2.0协议概念基本科普
PCIE的概念:是电脑总线PCI的一种,它沿用现有的PCI编程概念及通信标准,但建基于更快的串行通信系统. 英特尔是该接口的主要支持者.PCIe仅应用于内部互连.由于PCIe是基于现有的PCI系统,只 ...
- Hadoop YARN学习之核心概念(2)
Hadoop YARN学习之核心概念(2) 1. Hadoop 2.X YARN引入的新服务 1.1 新的ResourceManager纯碎作为资源调度器,是集群资源的唯一仲裁者: 1.2 用户应用程 ...
随机推荐
- 服务端向客户端发送消息Server-Sent Events
今天听说了服务端向客户端发消息的一种方式:Server-Sent Events SSE使用的是HTTP协议,本质上是服务端向客户端发送流式数据. HTTP不支持服务端向客户端发送请求,但是如果客户端向 ...
- 记录一个vue路由拦截效果的小技巧
使用一句三元表达式, <router-link class="flex-left left" tag="div" :to="loginState ...
- (更新中)Python、JavaScript、Java和C++语言的语法对比与梳理
目录 引言 1. 构造函数 Python JavaScript Java C++ 2. 构造类 Python JavaScript Java C++ 3. 总结 引言 在开发过程中不免需要用到多种编程 ...
- pdo类
testmysql.php <?php require_once "./mypdo.php"; //do something... //查一行 $id = 3; //$sql ...
- uniapp-vue3-oadmin手机后台实例|vite5.x+uniapp多端仿ios管理系统
原创vue3+uniapp+uni-ui跨端仿ios桌面后台OA管理模板Uni-Vue3-WeOS. uniapp-vue3-os一款基于uni-app+vite5.x+pinia等技术开发的仿ios ...
- Unicode 15.0 标准已发布,新增鹅、豌豆等 20个emoji
原文地址:The Unicode Blog: Announcing The Unicode Standard, Version 15.0 Unicode 标准版本 15.0 现已推出,包括核心规范.附 ...
- Linux下mv和cp命令的区别
1.功能上的区别 mv:用户可以使用mv为文件或目录重命名或将文件由一个目录移入另一个目录中. cp: cp的功能是将给出的文件或目录拷贝到另一文件或目录中. 2.inode上的区别(inod ...
- orangepi zero2在linux5.4以上内核使用ili9341
背景 根据orangepi zero2用户手册说明,linux5.13内核不能使用 modprobe fbtft_device 驱动spi lcd 查看linux内核源码提交记录,发现在v5.4-rc ...
- sqlerver 报错5120 无法为该请求检索数据 系统找不到指定路径
背景: 数据库mdf文件所在盘符F盘被删除了,也就是文件不存在了,sqlserver管理器打开就报错5120,并且正常路径的数据库也不显示出来. 要让正常的数据库显示出来,就需要删除掉已经没有的数据库 ...
- Vue cli之单文件组件
组件有两种:脚本化组件.单文件组件 脚本化组件的缺点: html代码是作为js的字符串进行编写,所以组装和开发的时候不易理解,而且没有高亮效果. 脚本化组件用在小项目中非常合适,但是复杂的大项目中,如 ...