![]() |
|||
![]() |
Not necessarily. Used in its computer context, realtime does not necessarily even mean fast. Realtime is a technical term. The term applies to certain techniques for squeezing maximum clicks from computers and applying the power to whatever job happens to be most important at any particular moment. Realtime is important because many jobs such as communications, command & control, robotics cannot be performed well, if at all, without realtime techniques. Digital Equipment Corporations success on factory floors and IBMs failure cannot be explained by the capabilities of their respective computer iron. Digital used realtime software, IBM did not. The result? Digital won the factory war, IBM suffered a rare defeat. Sperrys mainframe success aboard US Navy ships and IBMs failure is an earlier example. Sperry used realtime operating system software, IBM did not. More recently NASD boxed AMEXs kite when it powered NASDAQ with realtime Tandem computers. What distinguishes realtime software from non-realtime? First of all, realtime implies multiple jobs are going-on. (Computer jocks call the jobs tasks or processes). MS-DOS and Windows do only one job at a time and are not realtime. Networks based on MS-DOS, such as Novell, are not realtime. (Just to complicate matters, MicroNEXs software is realtime, and multitasking, although it looks-like MS-DOS). Multitasking alone does not confer realtime capability. Unix/Xenix and OS/2 are multitasking. But, neither is realtime. Both are therefore unsuited for process control applications such as numerical control, communications, and high volume point-of-sale. Realtime software handles certain core functions in a specific way.These functions include:
Disney Worlds application software schematic shows realtime concepts in action. To begin, the system is dormant. The computer waits around for something to happen. Suddenly a handheld computer sends data to one of three modems. A software program (process) called com springs to life. Until now, it consumed no CPU cycles. Because it has high priority, it stops other activity that may be running. Com grabs the data, puts it in a queue, and goes to sleep. The act (event) of placing data in the queue wakes-up another program (process) called audit. Audit looks-up room information and writes a transaction on an audit file and room file and into a queue. Additional programs wake-up and go back to sleep as bills are computed and move along towards Disneys hotel management computer. All these activities take place, unseen, in the background. Modems are answered (twenty or more could be used if needed), disks click, printers print, Disneys hotel management computer is sent data. At the same time, intense human activity takes place in the foreground. Managers check status of hotel rooms, reassign staff, and prepare commission and sales reports. Clerks reorder products and balance inventory levels at multiple staging areas. Users are not aware of the background activity because each background task finishes in a few hundredths of a second which allows foreground tasks to proceed without apparent interruption. High performance computing requires a marriage between a realtime operating system and an application software designer who can exploit realtime capabilities. When done well, the results are awe inspiring. MicroNEX technology, for example, was used to receive and verify 600,000 Medicaid claims per week from 12,000 providers on a single 386 PC. |
|
|