Real time system
来源:互联网 发布:社区网络延迟怎么解决 编辑:程序博客网 时间:2024/05/21 11:00
The most common designs are:
- Event-driven – switches tasks only when an event of higher priority needs servicing; called preemptive priority, or priority scheduling.
- Time-sharing – switches tasks on a regular clocked interrupt, and on events; called round robin.
Time sharing designs switch tasks more often than strictly needed, but give smoother multitasking, giving the illusion that a process or user has sole use of a machine.
Early CPU designs needed many cycles to switch tasks, during which the CPU could do nothing else useful. For example, with a 20 MHz 68000 processor (typical of the late 1980s), task switch times are roughly 20 microseconds. (In contrast, a 100 MHz ARM CPU (from 2008) switches in less than 3 microseconds.)[5][6] Because of this, early OSes tried to minimize wasting CPU time by avoiding unnecessary task switching(减少 线程切换 及 中断)
In typical designs, a task has three states:
- Running (executing on the CPU);
- Ready (ready to be executed);
- Blocked (waiting for an event, I/O for example).
Real-time computing is sometimes misunderstood to be high-performancecomputing, but this is not an accurate classification.[10] For example, a massive supercomputer executing a scientific simulation may offer impressive performance, yet it is not executing a real-time computation. Conversely, once the hardware and software foran anti-lock braking system have been designed to meet its required deadlines, no further performance gains are obligatory. Furthermore, if a network server is highly loaded with network traffic, its response time may be slower but will (in most cases) still succeed before it times out (hits its deadline). Hence, such a network server would not be considered a real-time system: temporal failures (delays, time-outs, etc.) are typically small and compartmentalized (limited in effect) but are not catastrophic failures. In a real-time system, such as the FTSE 100 Index, a slow-down beyond limits would often be considered catastrophic in its application context. Therefore, the most important requirement of a real-time system is predictability and not performance.
Some kinds of software, such as many chess-playing programs, can fall into either category. For instance, a chess program designed to play in a tournament with a clock will need to decide on a move before a certain deadline or lose the game, and is therefore a real-time computation, but a chess program that is allowed to run indefinitely before moving is not. In both of these cases, however, high performance is desirable: the more work a tournament chess program can do in the allotted time, the better its moves will be, and the faster an unconstrained chess program runs, the sooner it will be able to move. This example also illustrates the essential difference between real-time computations and other computations: if the tournament chess program does not make a decision about its next move in its allotted time it loses the game—i.e., it fails as a real-time computation—while in the other scenario, meeting the deadline is assumed not to be necessary.High-performance is indicative of the amount of processing that is performed in a given amount of time, while real-time is the ability to get done with the processing to yield a useful output in the available time.
- Real time system
- Integrity Real-time Operating System
- real time cooperative editing system
- Hard and soft Real-time system
- HDU Traffic Real Time Query System
- Real-time Operation System Course: 解密字符串
- HDU3686 Traffic Real Time Query System
- 4839 -- Traffic Real Time Query System
- Real-time
- Nano-RK:A Wireless Sensor Networking Real-Time Operating System
- 'A Real-time Laser Range Finding Vision System'
- Inotify: Efficient, Real-Time Linux File System Event Monitoring
- MicroC/OS-II Real-Time Operating System On NIOS
- Real-time programming applied to the FreeRTOS operating system
- UVALive 4839 HDU 3686 Traffic Real Time Query System
- UVALive 4839 HDU 3686 Traffic Real Time Query System
- 探讨linux进程的三种时间(real time, system cpu time, user cpu time)的实现
- real time、CPU time探讨
- Android studio代码提示设置
- Maven仓库搭建(一):一台HTTP服务器即可(Tomcat、Apache或Nginx)
- 英文文字游戏(二)
- Oracle between
- MySQL 查看数据库中有主外键关系的表信息
- Real time system
- 编写线程安全的Java代码
- Retrofit中如何正确的使用https?
- SQL Server 2008 标准版安装失败:操作系统不匹配
- Pentium的相关知识
- Linux下安装Memcache以及安装过程中一些问题的解决方法
- 移动端开发所需要的一些资源与小技巧
- bug
- 关于静态变量、全局变量的一些转载集合