【实时操作系统(RTOS)和通用操作系统(OS)之间的区别】
RTOS vs OS
大多数人都熟悉电脑上使用的操作系统。
用于个人电脑的最常见的操作系统包括:微软的Windows,苹果的OS X以及各种版本的Linux。
但是多数人都不知道实时操作系统(缩写RTOS),一种用于实时响应的更专业化的操作系统。
RTOS和OS两者之间最显着的区别是它们如何处理任务。 通用操作系统专注于在最短的时间内进行尽可能多的计算,而实时操作系统强调具有可预测的响应时间。
通用操作系统现在被广泛使用,部分原因是由于个人计算机的快速普及。 使用通用操作系统的设备,除了计算机和笔记本电脑,还有手机、车载导航等等。
实时操作系统用于更专业的领域,它的任务响应时间比(在给定时间内处理指令的能力)更快。 例如扫描设备的任务处理就要用到实时操作系统,并且内部监视功能可以看到的任务的实时变化。
大多数通用操作系统使用时间共享架构,其中每个任务被分配一小段时间,在切换到另一任务之前执行其指令。 切换过程尽可能快,从而使用户感觉不到任务执行被延迟。
RTOS也使用这种设计,但是任务密度低得多,以确保处理器永远不会过载,从而可以增加响应时间。 用于RTOS的另一种设计是事件驱动架构。 在此设计中,系统仅在发生事件或中断时才切换任务。
相对来说,RTOS的代码结构更严格,因为代码需要始终一致地执行。 通用OS就不需要太专注于一致性,因为响应时间在其应用中不是非常重要。
总结
1、OS专注于计算吞吐量,而RTOS专注于快速的响应时间。
2、OS可以被广泛使用,而RTOS通常只嵌入在需要实时响应的设备中。
3、OS使用分时设计以允许多任务的同时运行;RTOS使用分时设计或者事件驱动设计。
4、与OS相比,RTOS的编码更严格。
RTOS举例
开放源代码
- RT-Thread
- eCos
- Fiasco
- FreeRTOS
- Phoenix-RTOS
- Nut/OS
- Prex
- RTAI
- RTEMS
- RTLinux
- SHaRK
- TRON Project
- Xenomai
- CoOS
非开放源代码
- Ardence RTX
- BeOS
- ChorusOS
- DNIX
- DMERT
- e-Tkernel
- HOPEN OS
- embOS (Segger)
- INTEGRITY
- ITRON
- LynxOS
- MERT
- MicroC/OS-II
- MQX RTOS
- Nucleus
- OS-9
- OSE
- OSEK/VDX
- OSEKtime
- PDOS
- Phar Lap ETS
- PikeOS
- Portos
- pSOS
- QNX
- RMX
- RSX-11
- RT-11
- RTOS-UH
- RTXC
- Salvo RTOS
- SINTRAN III
- Symbian OS
- ThreadX
- VRTX
- VxWorks
- Windows CE
- µnOS
- UNIX-RTR
- REX
- HP-1000/RTE