当前位置:嗨网首页>书籍在线阅读

20-实时性

  
选择背景色: 黄橙 洋红 淡粉 水蓝 草绿 白色 选择字体: 宋体 黑体 微软雅黑 楷体 选择字体大小: 恢复默认

2.18 实时性

实时性应用程序是指那些需要对输入做出及时响应的程序。此类输入往往来自于外接的传感器或某些专门的输入设备,而输出则会去控制外接硬件。具有实时性需求的应用程序示例包括自动化装配流水线、银行ATM机,以及飞机导航系统等。

虽然许多实时性应用程序都要求对输入做出快速响应,但决定性因素却在于要在事件触发后的一定时限内,保证响应的交付。

要提供实时响应,特别是在短时间内加以响应,就需要底层操作系统的支持。由于实时响应的需求与多用户分时操作系统的需求存在冲突,大多数操作系统“天生”并不提供这样的支持。虽然已经设计出不少实时性的UNIX变体,但传统的UNIX实现都不是实时操作系统。Linux的实时性变体也早已诞生,而近期的Linux内核正转向对实时性应用原生而全面的支持。

为支持实时性应用,POSIX.1b定义了多个POSIX.1扩展,其中包括异步I/O、共享内存、内存映射文件、内存锁定、实时性时钟和定时器、备选调度策略、实时性信号、消息队列,以及信号量等。虽然这些扩展还不具备严格意义上的“实时性”,但当今的大多数UNIX实现都支持上面提到的全部或部分扩展(本书将讲解Linux所支持的POSIX.1b特性)。

本书会以术语“真实时间(real time)”来指代日历时间或经历时间的概念,而术语“实时性(realtime)”则是指操作系统或应用程序具备本节所述的响应能力。