返回HOME页 发新话题
打印

嵌入式多任务实时操作系统---lxRTOS

嵌入式多任务实时操作系统---lxRTOS

lxRTOS 特点

  • 单进程多线程结构,强实时性。
  • 抢占式内核,总是调度优先级最高的就绪任务执行,相同优先级的就绪任务采用时间片调度算法。
  • 简单高效的任务调度算法,支持32个任务优先级(系统保留0-3优先级)。
  • 快速的任务上下文切换,在ARM核结构下,用简短的几句汇编即可完成任务的上下文切换。
  • 短暂的中断响应延时,具有可确定性,不受创建任务数量的多少所影响。
  • 不限定创建任务的数量,可创建任务数量的多少只受到内存空间的限制。
  • 内核使用ANSI C语言编写,可支持多种C编译器,极少部分的代码用到汇编,代码可移植性高。
  • 内核大小可定制的。
  • 易用的应用程序接口(APIs),功能强大,使用方便。

任务管理:

实现灵活地控制线程。

任务管理包括线程的创建、退出和关闭,挂起和继续执行,睡眠、阻塞和唤醒,动态改变和获得线程的优先级,线程调度器上锁和解锁,等待另一个线程退出,获得线程的状态、执行时间和栈空间等信息。


消息队列管理:

提供线程间进行通信的一种机制。线程之间可以互相发送消息,中断服务程序也可以向线程发送消息。

消息队列管理包括初始化线程的消息队列,清空消息队列,察看消息,接收消息,发送消息,插入消息。


互斥体管理:

提供线程之间同步访问单个系统资源的一种机制。当线程捕获到一个空闲的或被自己所占有的互斥体对象时,线程只是简单地递减互斥体对象内部的计数器,不阻塞程序执行。当线程去捕获一个被其它线程占有的互斥体对象时,当前线程被阻塞,直到占有者释放该互斥体对象,如果当前线程优先级高于互斥体对象占有者的优先级,那么该线程会提升互斥体对象占有者的优先级,以防止线程优先级反转问题。

互斥体管理包括互斥体对象的创建和关闭,捕获和释放。


信号量管理:

支配一个或者多个线程同步访问系统资源。不同于互斥体对象,信号量对象不会被某个线程占有,也不会提升线程的优先级。

信号量管理包括信号量对象的创建和关闭,升起(释放)和降下(锁定)信号量,查询信号量对象内部计数。此外还包括提供给中断服务程序使用的尝试降下信号量的操作。


邮箱管理:

提供线程与线程之间,中断服务程序与线程之间进行数据交换的一种机制。邮箱的空间可在对象创建时指定。

邮箱管理包括邮箱对象的创建和关闭,寄送和提取邮件,查询邮箱空间和邮件数目,清空邮件。此外还包括提供给中断服务程序使用的尝试提取邮件的操作。


块内存管理:

管理固定大小的内存块,实现内存的快速分配和释放。

块内存管理包括块内存对象的创建和关闭,分配和释放内存,查询块内存对象管理的单个内存块的大小以及查询已分配和空闲内存块的数目。


堆内存管理:

管理系统自由的内存堆,在堆内存对象基础上可再创建堆内存对象,并且支持和主内存不在连续地址空间的扩展内存的管理。

堆内存管理包括堆内存对象的创建和关闭(全局堆内存对象由操作系统创建),分配/重分配和释放可变大小的内存块,获取已分配内存块的大小,查询堆内存对象管理的堆内存信息。


版权声明

lxRTOS 是一套源代码公开的嵌入式实时操作系统。

对于个人用户用于学习和实验目的,它是免费的。

在保证软件包文件及源代码完整性的前提下,用户可以自由复制与传播。

未经许可,禁止将 lxRTOS 的源代码及其编译所生成的目标文件用于产品及其它任何商业用途。

作者保留在不通知用户的情况下对 lxRTOS 软件进行修改和升级的权力,并保留修改许可协议的权力。


lxRTOS-2.2.0
lxRTOS-2.2.1

TOP

返回HOME页 发新话题
 
 

上海正航电子 | 51PLC技术网

 支持民族产业发展!