实时操作系统Vxworks与通用操作系统Linux的比较 | |
一个好的实时操作系统需要具备以下功能(必须但非充分):
*多任务和可抢占的;
*任务具有优先级;
*操作系统具备支持可预测的任务同步机制;
*支持多任务间的通信;
*操作系统具备消除优先级转置的机制;
*存储器优化管理(含ROM的管理);
*操作系统的(中断延迟、任务切换、驱动程序延迟等)行为是可知的可预测的。这是指在
全负载的情形下,最坏反应时间可知;
*实时时钟服务;
*中断管理服务。
实时操作系统所遵循的最重要的设计原则是: 采用各种算法和策略,始终保证系统行为的可预测性。可预测性是指在系统运行的任何时刻,在任何 情况下,实时操作系统的资源调配策略都能为争夺资源(包括CPU、内存、网络带宽等)的多个实时任务合理地分配资源,使每个实时任务的实时性要求都能得到 满足。与通用操作系统不同,实时操作系统注重的不是系统的平均表现,而是要求每个实时任务在最坏情况下都要满足其实时性要求,也就是说,实时操作系统注重 的是个体表现,更准确地讲是个体最坏情况表现。
实时系统最关键的部分是实时多任务内核。它的基本功能包括多任务管理、定时器管理、
存储器管理、资源管理、事件管理、系统管理、消息管理、队列管理、信号量管理等。这
些管理功能是通过内核服务函数形式交给用户调用的,也就是实时操作系统的API。
================vxworks和linux的比较===========================
vxWorks | Linux |
内核 结构 |
微内核, 内核只提供 了基本的服 务,如:任 务管理,内 存管理,中 断处理等 | 单内核 【Monolithic】, 除了基本的 服务,内核 还包括文件 系统,网络 协议等 |
运行 模式 | 应用程序运 行在“实模 式”下,无 用户模式和 内核模式之 分 | 采用“保护 模式”,用 户进程、线 程运行在用 户模式下, 内核线程运 行于内核模 式 | 内存 访问 和内 存保 护 | 内核采用实 存储管理方 式,所有任 务运行于同 一物理地址 空间,用户 程序直接操 作物理地 址,不能直 接地提供内 存保护,不 能防止错误 蔓延 | 内核采用虚 拟存储管理 方式,用户 具有独立的 地址空间 ,用户进程 只能访问本 进程的虚拟 空间,提供 了内存保 护,可以防 止错误蔓延 | 执行 单元 |
任务
| 进程、线程 | 请求 内核 服务 方式
| 函数调用, 更快 | 系统调用 ,更安全 | 实 时 性
| 硬实时 | 软实时 |
============================
|
|