μC/OS-Ⅲ系统的任务挂起表
在μC/OS-Ⅲ系统中任务挂起表与任务就续表十分相似,只不过任务就续表记录就绪状态的任务,任务挂起表记录等待某个内核对象的任务。任务挂起表是一个类型为OS_PEND_LIST的数据结构,包含三个成员:1、NbrEntries,等待表中表项数目;2、TailPtr,指向等待表中最后一个任务(优先级最低的任务);3、HeadPtr,指向等待表中第一个任务(优先级最高的任务)。
任务挂起表并不直接指向任务的控制块OS_TCB,而是指向一个OS_PEND_DATA类型的中间变量。该类型变量在任务被放入任务挂起表时动态地分配到该任务的堆栈空间中。该类型数据结构包含8个成员:
1、PrevPtr:指向任务挂起表中前一个等待相同内核对象的更高优先级或优先级相同的OS_PEND_DATA类型变量。
2、NextPtr:指向任务挂起表中后一个等待相同内核对象的优先级相同或更低先级的OS_PEND_DATA类型变量。
3、TCBPtr:指向等待该内核对象的任务的控制块OS_TCB。
4、PendObjPtr:指向任务正在等待的内核对象。(μC/OS-Ⅲ中信号量、互斥型信号量、事件标志组、消息队列等内核对象均为OS_PEND_OBJ类型)
5、RdyObjPtr:在任务等待多个内核对象的情况下,指向已经准备就绪的内核对象。
6、RdyMsgPtr:在任务等待多个内核对象的情况下,指向通过OSQPost()函数发布的信息。
7、RdyMsgSize:记录OSQPost()函数发布的信息长度。
8、RdyTS:时间戳,记录内核对象被释放(Post)的时刻。
μC/OS-Ⅲ系统的任务挂起表的更多相关文章
- OS.js – 开源的 Web OS 系统,赶快来体验
OS.js 是一个开源的 Web OS 系统,可以在浏览器中运行,提供了窗口管理器,应用程序API,用户界面开发套件和抽象的文件系统等.可以部署在 Node 或者 PHP 环境中运行.OS.js is ...
- OS 系统下安装MySql 配置MySql环境变量
学习Hive需要,闲话不说 本文的内容: 下载Mysql for Mac 下载Mysql Workbench 安装 Mysql 和 Mysql Workbench 配置Mysql在OS 系统上的环境变 ...
- 首个攻击该Mac OS系统的恶意软件——KeRanger
首个攻击该Mac OS系统的恶意软件——KeRanger 曾几何时,苹果操作系统一度被人认为是最安全的操作系统.然而近几年,针对苹果系统的攻击日益增多,影响范围也越来越大.无独有偶,近日,苹果Mac ...
- 在 Linux 的 KVM虚拟机 上安装 Mac OS 系统的研究总结
在 Linux 的 KVM虚拟机 上安装 Mac OS 系统的研究总结 一.资料来源: 网上一共找到两个方法,一个是视频上的教程,一个是网页资料. 二.视频资料方法内容:1.install qe ...
- Google工程师打造Remix OS系统 桌面版安卓下载
三位前Google工程师打造的Remix OS系统终于来到了PC桌面上,现已可以下载尝鲜. Remix OS for PC基于Android-x86项目,由安卓5.1 Lollipop深度定制而来,不 ...
- Mac OS系统
Mac OS系统 目录 概述 Mac OS系统常用操作 概述 Mac OS系统常用操作 显示或隐藏文件 在终端输入:defaults write com.apple.finder AppleShowA ...
- ARM公布“物联网”嵌入式mbed OS系统软件平台
继ARM公司发布了为嵌入式微控制器设计的Cortex-M7架构处理器,ARM又公布了专为廉价低功耗“物联网”设计的新版软件及系统平台,以加速物联网设备的发展及部署.该软件为基于ARM现有Cortex- ...
- 教你Mac OS系统四种改动Hosts文件的方法
使用Mac OS X系统的用户.在某些时候可能遇到了须要改动系统Hosts文件的情况,那么Mac OS系统怎样改动Hosts文件呢?和Windows系统有何差别呢?我们知道事实上改动Hosts文件仅仅 ...
- 使用.netFx4.0提供的方法解决32位程序访问64位系统的64位注册表
原文:使用.netFx4.0提供的方法解决32位程序访问64位系统的64位注册表 我们知道目标平台是32位的程序运行在64位的系统上,去访问部分注册表的时候系统自动重定向到win32node节点对应的 ...
随机推荐
- Python3基础 访问列表 小于指定索引值的所有元素
镇场诗:---大梦谁觉,水月中建博客.百千磨难,才知世事无常.---今持佛语,技术无量愿学.愿尽所学,铸一良心博客.------------------------------------------ ...
- word域1
Description: 域是WORD中的一种特殊命令,它由花括号.域名(域代码)及选项开关构成.域代码类似于公式,域选项并关是特殊指令,在域中可触发特定的操作.在用WORD处理文档时若能巧妙应用域, ...
- linux文件系统,文件的分类
从硬盘的构造可知,每次对物理磁盘的访问的最小单位是一个盘面上的一个磁道的扇区,即使用户需要读取一个字节的数据,实际读写时都是先把该字节所在的扇区读读入到内存,然后再访问. 1.普通文件 2.目录文件 ...
- Exception in thread "main" java.lang.ExceptionInInitializerError
Exception in thread "main" java.lang.ExceptionInInitializerErrorCaused by: java.util.Missi ...
- html select的事件 方法 属性
事件 onactivate 当对象设置为活动元素时触发. onafterupdate 当成功更新数据源对象中的关联对象后在数据绑定对象上触发. onbeforeactivate 对象要被设置为当前元素 ...
- react+redux开发谷歌插件
React Developer Tools Redux Dev Tools
- Myeclipse出现 java文件中文乱码问题
一.将整个project设置编码UTF-8(UTF-8可以最大的支持国际化) windows->Preferences->general->Workspace->Text fi ...
- python走起之第十四话
HTML 标题 HTML 标题(Heading)是通过<h1> - <h6> 标签来定义的. 实例 <h1>这是一个标题</h1> <h2> ...
- 调用微信JsAPI端获取位置
public partial class test : BasePage { protected test() { AccessPage = PageWebType.WX; } protected s ...
- Python_Day7_面向对象学习
1.面向对象编程介绍 2.为什么要用面向对象进行开发? 3.面向对象的特性:封装.继承.多态 4.类.方法. 面向过程 VS 面向对象 编程范式 编程是程序员用特定的语法+数据结构+算法组成的代码来告 ...