实时控制软件设计作业_03
- 阅读笔记
结合本周课堂所讲的实时操作系统知识内容,简要介绍下某个实时操作系统的性能特点或进行操作系统间性能的比较。
实时操作系统特点及比较
Vxworks
- 架构可更新性好,可拓展性好。
- 支持主流连接标准和协议,自带TCP/IP协议栈。
- 安全性好。
- 模块化。
- 主要应用于航空航天、军事与工业自动化领域。
QNX
- 速度快。
- 安全,没有病毒。
- 具有独一无二的微内核实时平台,建立在微内核和完全地址空间保护基础之上,实时、稳定、可靠。
- 抢占式的、基于优先级的正文切换。
Xenomai
- 是一种采用双内核机制的Linux 内核的强实时扩展。优先级高于Linux 内核,负责处理系统的实时任务。
- 可以提供工业级RTOS的性能,而且完全遵守GNU/Linux自由软件协议。
- 在内核层利用Adeos实现了硬实时外,在用户空间也有很好的实时性。
Intime
- 使用 Microsoft Visual Studio 开发和调试
- 提供 Win32 型的接口
- API中包含“管家”功能,控制释放内存和移除handle
- 使用嵌入式虚拟化技术对多核平台进行优化
- 双平台 (Intime for Windows & Intime Distributed RTOS)
Sylixos
- 支持无限多任务
- 支持进程、线程、协程三种多任务模型
- 极其稳定的内核,内核CPU占用率低
- 支持优先级继承,防止优先级翻转
- 支持标准I/O、多路I/O复用与异步I/O接口
ucos
- 系统源码可移植性好
- 抢占式内核
- 应用程序可裁剪,用户可只选择自己需要的功能
- 为嵌入式系统而设计,可固化性好
- 团队项目相关
1)请思考你最擅长或最有兴趣参与哪一个模块的开发,并写在博客上。
对用户接口和轨迹插补任务都很感兴趣,希望能参与相关开发。
2)除了编程,你可以以多种形式为一个软件项目做贡献,如团队管理、需求分析、功能定义、算法设计、仿真分析、软件测试、文档写作......,快速阅读邹欣老师《构建之法》一书前五章和邹欣老师的博客,请写下你对团队协作开发的理解,以及自己在一个控制软件项目中倾向于承担的角色或任务。
看了邹老师的书和博客,很有收获。我认为团队开发协作不应该是过多的外部交流,而应该是围绕个人开发进行补充。软件开发需要大量的时间和精力,并且是以个人为单位的。只有每个个人注意力高度集中,才能使得整个团队的开发进度有条不紊。团队中的个人的关系应该是互为补充而不应过多地相互依赖,否则会造成效率的浪费。
我个人更倾向于承担后端(非UI部分)的开发以及测试。很喜欢做一些用户看不见摸不着的像黑箱一样的封装工作。必要的时候,在不过多影响开发效率的前提下,也可以分出经历担任团队的组长,组织团队合作。