实时性应用程序是指那些需要对输入做出及时响应的程序。此类输入往往来自于外接的传感器或某些专门的设备,而输出则会去控制外接硬件。具有实时性需求的应用程序示例包括自动化装配流水线、银行ATM机、以及飞机导航系统等。
虽然许多实时性应用程序都要求对输入做出快速响应,但决定性因素却在于要在事件触发后的一定时限内,保证响应的交付。
要提供实时响应,特别是在短时间内加以响应,就需要底层操作系统的支持。由于实时响应的需求与多用户分时操作系统的需求存在冲突,大多数操作系统“天生”并不提供这样的支持。虽然已经调计出不少实时性的UNIX变体,但传统的UNIX实现都不是实时操作系统。Linux的实时性变体也早已诞生,而近期的Linux内核正转向对实时性应用原生而全面的支持。
为支持实时性应用,POSIX.1b定义了多个POSIX.1扩展,其中包括异步I/O、共享内存、内存映射文件、内存锁定、实时性时钟和定时器、备选择调度策略、实时性信号、消息队列以及信号量等。虽然这些扩展还不具备严格意义上的“实时性”,但当今的大多数UNIX实现都支持上面提到的全部或部分扩展。
本文出自 “云人生” 博客,请务必保留此出处http://ovcer.blog.51cto.com/1145188/1391091