建议“硬件/嵌入开发”论坛中开设“RTOS”子论坛!

zzhouj 2003-04-26 02:44:03
实时多任务操作系统(RTOS)简介

目前嵌入式应用领域的一个发展倾向是采用实时多任务操作系统(Real Time Operati on System,RTOS)。RTOS的应用是和前面所述的应用复杂化直接相关的。 过去一个单片 机应用程序所控制的外设和履行的任务不多,采取一个主循环和几个 顺序调用的子程序模块即可满足要求。目前单片机芯片本身的性能大幅度提高, 可以适应应用复杂化这一要求,问题在于软件上。随着应用的复杂化,一个嵌入式 控制器系统可能要同时控制/监视很多外设,要求有实时响应,有很多处理任务, 各个任务之间有多种信息传递,如果仍采用原来的程序设计方法存在两个问题。 一是中断可能得不到及时响应,处理时间过长,这对于一些控制场合是不允许的, 对于网络通信方面则会降低系统整体的信息流量。二是系统任务多,要考虑的各种 可能也多,各种资源如调度不当就会发生死锁,降低软件可靠性,程序编写任务量 成指数增加。

实时操作系统是一段在嵌入式系统启动后首先执行的背景程序,用户的应用 程序是运行于RTOS之上的各个任务,RTOS根据各个任务的要求,进行资源(包括存储 器、外设等)管理、消息管理、任务调度、异常处理等工作。在RTOS支持的系统中, 每个任务均有一个优先级,RTOS根据各个任务的优先级,动态地切换各个任务, 保证对实时性的要求。 工程师在编写程序时,可以分别编写各个任务,不必同时 将所有任务运行的各种可能情况记在心中,大大减小了程序编写的工作量,而且 减小了出错的可能,保证最终程序具有高可靠性。

实时多任务操作系统,以分时方式运行多个任务,看上去好象是多个任务 “同时”运行。任务之间的切换应当以优先级为根据,只有优先服务方式的RTOS才 是真正的实时操作系统,时间分片方式和协作方式的RTOS并不是真正的“实时”。 美国CMX公司的RTOS采用全优先服务方式的任务调度,可以使中断潜伏时间减到最 小。其RTOS的主要功能模块有调度和中断处理(为了优化用汇编编写),任务管理, 事件管理,定时器管理,报文管理,循环队列管理,资源管理,固定存储块管理, 规范的UART管理,自动掉电管理。这些也是标准的RTOS所应具有的基本功能。 RTOS也体现了一种新的系统设计思想和一个开放的软件框架,工程师可以在不大量 变动系统其它任务的情况下增加或去掉一个任务;一个项目开发的过程中,可以有 多个工程师同时进行系统的软件开发,各个人之间只要制订好规程和协议即可,既 缩短了开发时间,又降低了最终软件产品对于具体某个开发者个人的依赖性。为 RTOS设计的成熟和通用的任务可以以库函数的形式供其它人继续利用,和C语言的 设计思想一致。因此可以说RTOS 是嵌入式软件的编写从“小生产方式”进入“大 生产方式”的必然产物。

在RTOS基础上可以很容易地实现各种通信协议库函数,CMX针对目前单片 机网络系统中广泛使用的CAN总线协议,开发了CAN总线协议接口库函数。这些函 数包括消息 接收,消息发送,初始化CAN控制器芯片,管理CAN控制器中断,管理 节点地址和CAN标识,管理用于CAN信息包的缓冲存储区,通知一个任务消息已经 收到等等。

实时多任务操作系统一般以源代码形式供应用户,作为Project源程序的 一部分参加编译和汇编,最终在用户代码中占有一部分。例如CMX的RTOS在80C51XA 系统中采用大 模式编译增加代码量3310字节,最大中断潜伏时间在30M时钟下为2.9 微秒。

END.

各位如果对RTOS的研究感兴趣的话,帮忙顶一下。
...全文
178 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
tony1976 2003-05-05
  • 打赏
  • 举报
回复
我做嵌入式系统时一直在用我自己写的一个微型操作系统.
最多支持255个任务,16个优先级,支持断点,我觉得很实用
91program 2003-05-05
  • 打赏
  • 举报
回复
提供源代码的嵌入式OS一定要花钱买吗?好像没有这么一说。

我手里就有完全公开源代码的嵌入式OS,而且功能还可以。不敢说是强大,但够用。
多任务---255个任务
支持任务优先级---9级
Windows支持的进程之间通讯的方式也被其应用任务之间
32位系统
zzhouj 2003-05-05
  • 打赏
  • 举报
回复
嵌入试领域由于面向具体应用,所以是一个不会被垄断的行业,中国在这方面的机会很大,况且现在已经有了国产的嵌入式芯片和国产的RTOS,并且已经成功运用于商业产品了。
zhst 2003-04-29
  • 打赏
  • 举报
回复
强烈支持!
nise 2003-04-28
  • 打赏
  • 举报
回复
support
while(1){...} 2003-04-28
  • 打赏
  • 举报
回复
支持! 支持! 支持! 支持! 支持! 支持! 支持! 支持! 支持! 支持! 支持! 支持! 支持! 支持! 支持! 支持! 支持! 支持! 支持! 支持! 支持! 支持! 支持! 支持! 支持! 支持! 支持! 支持! 支持! 支持! 支持! 支持! 支持! 支持! 支持! 支持! 支持! 支持! 支持! 支持! 支持! 支持! 支持! 支持! 支持! 支持! 支持! 支持! 支持! 支持! 支持! 支持! 支持! 支持! 支持! 支持! 支持! 支持! 支持! 支持! 支持! 支持! 支持! 支持! 支持! 支持! 支持! 支持! 支持! 支持! 支持! 支持! 支持! 支持! 支持! 支持! 支持! 支持! 支持! 支持! 支持! 支持! 支持! 支持! 支持! 支持! 支持! 支持! 支持! 支持! 支持! 支持! 支持! 支持! 支持! 支持! 支持!
lambo 2003-04-28
  • 打赏
  • 举报
回复
支持,嵌入式系统少了RTOS就少了道靓丽的风景。
uc/os,embeded linux等开放源码OS
gcai 2003-04-28
  • 打赏
  • 举报
回复
支持

呵呵,提供原马你买得起吗?
91program 2003-04-28
  • 打赏
  • 举报
回复
我支持提供所有源代码的嵌入式OS,其它的我不考虑!
坐着等天亮 2003-04-28
  • 打赏
  • 举报
回复
对呀,支持,你会用正版吗?
还是免费的好。
zgz 2003-04-28
  • 打赏
  • 举报
回复
支持....有用么?
braveheartsh 2003-04-28
  • 打赏
  • 举报
回复
强烈支持
  • 打赏
  • 举报
回复
我支持vxworks
mygreenhouse 2003-04-27
  • 打赏
  • 举报
回复
zzhouj的提议不错,应该说目前在跑的CPU中用于嵌入式实时系统的要远大于PC机系统.对于硬件领域,我们所熟悉的Intel在嵌入式方面并没有多大的优势;我们国家开发龙芯的目前也主要定位在这一块,毕竟太大了:从手机,到数码相机,到智能冰箱,到汽车系统等等.而对于软件领域,RTOS的话题太多了,我们应该关注一下.我们应该拥有除了WinCE外更多的选择!
源码下载地址: https://pan.quark.cn/s/8d2c461c797c JavaWeb程序设计构成了掌握Web交互式应用程序开发的核心领域,对于初学者来说,精通这一技术具有决定性意义。在“JavaWeb程序设计(第三版)作业答案”,我们可以预期获得针对该教材习题的一系列深入解析,从而协助学习者强化知识体系。 JavaWeb所包含的技术组件涵盖了Servlet、JSP(JavaServer Pages)、JDBC(Java Database Connectivity)以及各类框架如Spring MVC、Struts等。Servlet是Java平台提供的一种扩展服务器功能的接口,能够处理HTTP请求并生成相应的反馈。JSP则是一种用于构建动态网页的工具,它支持开发者将HTML代码与Java代码进行整合编写,从而简化了Web应用程序的开发流程。 作业答案通常会涉及以下几个核心内容: 1. **Servlet基础**:可能包含Servlet生命周期、init(), service(), destroy()方法的应用,以及如何在web.xml文件设定Servlet的映射关系。 2. **JSP基础**:JSP的九大内置对象,如request、response、session、application等的使用,以及EL(Expression Language)和JSTL(JavaServer Pages Standard Tag Library)的实际操作。 3. **HTTP协议理解**:GET和POST请求方法的差异,请求头与响应头的应用,以及会话管理的概念阐释。 4. **JDBC数据库操作**:与数据库建立连接,执行SQL指令,处理查询结果集,以及...
源码链接: https://pan.quark.cn/s/a4b39357ea24 斐讯K2是一款广受用户青睐的无线路由器,其运行表现稳定且具备较高的可操作性,在DIY爱好者群体拥有极高的声誉。本资料将系统性地阐述斐讯K2的固件刷机方法及其关联的技术要点。固件升级是路由器爱好者改善设备性能、扩展功能的一种普遍手段,经由替换出厂固件,能够达成更加个性化的网络配置、增强安全防护等目标。斐讯K2固件资源库涵盖了多种知名的非官方固件,诸如Tomato Pheonix 不死鸟、高恪、PandoraBox 潘多拉等,这些固件均具备独特的优势,能够适配不同用户的需求。 1. Tomato Pheonix 不死鸟:Tomato是一款立足于Linux的开源固件,以其精巧、高效而备受推崇。不死鸟版本是专门为华硕及斐讯路由器优化的分支,提供了卓越的QoS(服务质量)配置、详尽的图表监控以及便捷的固件升级途径。对于那些需要精准调控带宽和监测网络状态的用户而言,这是一个理想的选项。 2. 高恪:高恪固件是OpenWrt的定制化版本,着重于操作的便捷性和运行的可靠性,特别适合对路由器操作不甚熟悉的用户群体。它提供了一些实用的功能,例如内置的广告屏蔽、快速测速工具等,同时保留了OpenWrt的适应性。 3. PandoraBox 潘多拉:潘多拉盒是另一款基于OpenWrt的固件,它以丰富的插件库和强大的自定义潜力而闻名。用户能够依据个人需求安装各类插件,实现更多功能,如远程接入、DDNS(动态域名解析服务)等。 4. 官方固件的纯净版本与定制版本:官方固件通常更侧重于稳定性,纯净版意味着未预置额外的应用或服务,适合注重稳定性的用户。定制版则可能包含了制造商的特色功能或优...

19,523

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 嵌入开发(WinCE)
社区管理员
  • 嵌入开发(WinCE)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧