Date: Tue, 09 Mar 1999 15:44:58 -0500 From: Zentropix NewsWire <newswire@zentropix.com> To: newswire@zentropix.com Subject: Real-Time Debugger Press Release *** Zentropix Launches First-Ever "In-the-Kernel" Symbolic Debugger at LinuxWorld The Zentropix Remote Run-time Debugger (R2D2) has just been dramatically extended to encompass applications running in kernel space, as well as user space. This capability has not existed for any Unix application until now. This is an extremely significant event for developers for whom run-time performance is important. The new version of the debugger affords the developer non-intrusive symbolic access to parameters within real-time threads and processes, while they are actually executing within the kernel. It is undergoing beta testing and should be available for general distribution in April. The R2D2 Debugger is available at no charge for personal and academic use, and $199 per seat license for commercial developers. For kernel based applications, such as device drivers, a run-time debugger has not been available at all until now. As any programmer is aware, code development within the kernel space is a dangerous endeavor which can only too easily lead to a system lock-up. One of the major benefits of the Zentropix System Builder, which is scheduled for release in Q3 '99, is to allow code to be developed and debugged in the protected environment of user space and then pushed down into kernel space once it is error free. For examining such code once it is running in kernel space, the new R2D2 kernel debugger becomes invaluable, allowing the developer to non-intrusively: > navigate the data structures > access memory locations using the symbolic references used in the source code > examine data values in specific memory locations > change the data value in specific memory locations > conduct post run analysis (planned) > log specified events and code sequences for static post run analysis (planned) Conventional software debugging tools require the developer to place the control of the software under the debugger, rather than the native execution environment. Typically, the normal interrupt process is usurped and the software execution is controlled by the debugger. The developer examines the software via insertion of break-points, or by single-stepping through the code. For many applications this is sufficient. But, where dynamic interactions during the run-time may be significant, this procedure has limitations. Since the code is not running in its intended execution environment, dynamic effects and behavior of the code interaction with other processes is not accurately represented. For example, if the application code was intended to control a servo motor, the developer would not be able to investigate the behavior of the code and the variables while the program was actually controlling the servo motor. The Zentropix non-intrusive run-time debugger allows the developer to observe servo motor behavior while adjusting the servo-loop feedback parameters. *** Hard Real-Time “Hard real-time” differs from soft real-time in its handling of late data. Hard real-time is concerned not with the average data rate, but with the exact and predictable receipt of every byte of data. Hard real-time considers late data to be unacceptable data, which can cause an error in the system. An example of a hard real-time application is a position control system. If a position is sampled, and then delayed, the resultant computation yielding the correcting output signal will be wrong, due to the fact that the real position would have changed during the delay, relative to the reported position. If this error is large enough the system may become unstable. Under “soft real-time”, the task to be carried out must, on average, be completed within a predetermined deadline. Provided that this average value can be maintained, late data is considered valid data. Examples of soft real-time include multimedia applications, such as the reception of an audio stream from the Internet. In order for the user to perceive a continuous audio stream, there is a requirement for enough bandwidth to maintain an audio stream meeting an average rate. Since the data is received in bursts, a buffer is placed between the input stream and the output port to flatten out the peaks and troughs in the input data rate. This buffer naturally causes a delay between the arrival of the data at the Internet connection, and the presentation of that data to the CPU for processing, but yields a good average data flow to the CPU. *** Company & Products Zentropic Computing (Zentropix) was founded two years ago to promote the use of Linux for industrial applications by providing a comprehensive set of development tools and making the real-time linux kernel extensions more accessible to the engineering user. Best known for their distribution CD for a real-time Linux installation, they have recently begun to supplement the core operating system CD-ROM with a library of CDs containing vendor applications designed for the industrial user. As is typical in the Linux community, the RTLinux installation CD is essentially free (production and distribution charges only). Zentropix has also developed a weather radar simulation aimed at commercial flight simulators and a code migration library called UNIPort which transfers customers applications from more expensive Unix-based machines to lower priced PC platforms. A strategic focus of Zentropix is the RTLinux extensions developed by Professor Yodaiken at the New Mexico Institute of Technology. “We considered that an efficient hard real-time kernel was essential to our core business,” explained CTO Steve Papacharalambous, “and that RTLinux was the optimum technology on which to base our hard real-time performance products. Professor Yodaiken is now closely associated with the company and consults on all our new developments.” For more information, call (703)471-6690 or contact us via the Internet at info@zentropix.com or http://www.zentropix.com/.