Data processing: software development – installation – and managem – Software program development tool – Translation of code
Reexamination Certificate
1997-06-30
2001-06-19
Powell, Mark R. (Department: 2122)
Data processing: software development, installation, and managem
Software program development tool
Translation of code
C717S152000, C717S152000
Reexamination Certificate
active
06249909
ABSTRACT:
TECHNICAL FIELD
This invention relates to computer operating systems and in a preferred embodiment, to operating systems optimized for real-time analysis.
BACKGROUND OF THE INVENTION
Computer operating systems are resident on nearly every computer and are required to run applications software. In certain applications which require a large amount of mathematical processing and specialized digital signal processing (DSP) algorithms, specialized operating systems are available which are optimized to facilitate the implementation of such algorithms. An example of such an operating system is described in U.S. Pat. No. 5,392,448 issued to the assignee of the present invention. Additionally, such an operating system is available commercially under the name Spox.
Real-time applications are software applications. One problem in the development, testing, and debugging of real-time applications is that in order to debug an applications program, the program must be “probed.” Specifically, the developer must ascertain the values of numerous variables, timing parameters, and the state of numerous items at various times during operation. Additionally, the developer must be capable of following parameters as they change, etc. It is important that these variables and other items be examined in real-time. Specifically, the data to be examined should be acquired in real-time, while the application is running, with minimal intrusion on the system and without affecting the proper real-time operation of the system.
Specifically, debugging tools which allow the programmer to step through the program instructions one at a time are insufficient. Problems that result from the time relationship between various items, as the program executes, will not be correctly recreated. Often testing the program will itself eliminate or modify the problem, making it difficult or impossible to recreate. For example, statements placed into a program to measure the values of parameters in that program will affect the timing of that program as it executes. If there is a problem which is to be eliminated, and the appropriate measurements are taken in order to debug the program, the taking of the measurements themselves may alter and/or eliminate the problem, making it difficult to recreate. Thus, the developer must be able to monitor and analyze the program as it runs, in real-time. The foregoing is loosely referred to in the computer industry as real-time analysis.
The challenge for developers of applications using real-time operating systems is to be able to measure the program execution with as little intrusion as possible. Intrusion may be in terms of space, in that the techniques for debugging the program may take up memory space, or in terms of time, in that the steps required for debugging the program may actually take up time. Additionally, even outside of the goals of real-time analysis, it is desirable to utilize as little space and time as possible for operation of the operating system on the target DSP.
Real-time analysis tools are available commercially from, for example, a company known as Wind River Systems. Such systems may be employed on a hardware platform comprising a host computer, such as a pentium processor, and a target DSP chip, such as the motorola onex chip. The Wind River analysis tool provides a block of software on a target processor which gathers certain parameters about the digital signal processing applications program, as it runs, and reports such items back to the host computer. The Wind River systems tool also time stamps all events so that the developer can determine if real-time deadlines are being met.
One problem with the Wind River system is that it takes up nearly 60 kilobytes of memory. Additionally, it is not optimized in order to provide for minimum intrusion upon the target DSP in terms of timing. Moreover, the Wind River System requires more than 64 kbytes per second of bandwidth between the host and the target. This means that many host-target interfaces may not be fast enough to handle the data. This creates a problem for applications which require real-time.
It is an object of the present invention to provide a real-time operating system which occupies as little space as possible and also minimizes overhead time required for the operating system to implement its required functionality.
It is an object of the invention to provide real-time analysis with relatively minimal bandwidth (e.g.; 2 kbytes/sec) between the host and the target.
It is a further object of the invention to provide a real-time operating system which minimizes the timing intrusion required when it is attempted to measure parameters and other items in the system for debugging and other purposes.
It is a further object of the invention to provide a host resident configuration tool which, based upon a particular application's parameters, alters the configuration of a target DSP based operating system in order to optimize the efficiency of the operating system.
It is a further object of the invention to execute tasks on the target DSP with minimal intrusion by offloading much of the processing to the host.
SUMMARY OF THE INVENTION
The above and other problems of the prior art are overcome in accordance with the present invention which relates to a real-time operating system which can assist in the performance of real-time analysis and which occupies very little space and time overhead on a target digital signal processor (DSP). The preferred hardware model in which the inventive technique is to be utilized comprises a host CPU and a target DSP. The target DSP is intended to ultimately execute DSP algorithms such as those used in cellular telephones, imaging equipment, etc. During product development, a host CPU is often used in conjunction with the target DSP in order to assist in programming and debugging the software intended to operate on the target.
As a user develops an application, the application is utilized in order to modify the operating system and optimize said operating system for use with a particular application. Specifically, a configuration tool includes a graphical user interface that permits a user to enter various parameters on the host computer which are related to the particular application being developed. Based upon such parameters, the operating system on the target DSP signal processor is configured to minimize the space and time required by the operating system and in order to minimize the intrusion caused by real-time analysis.
In specific embodiments, buffers are aligned in specific places to minimize operating system overhead. Additionally, the system can, based upon specific parameters entered by a user, invoke different techniques within the operating system for keeping track of instructions executed, in order to minimize the overhead associated with such record keeping. In an additional embodiment, periodic functions in the application are examined, and the operating system is configured to run at the maximum period that evenly divides into the period of all periodic functions. Other embodiments are described hereafter.
Additionally, statistics regarding program execution on the target are maintained and sent to the host computer, rather then the time sequence of events being stored on the target and sent to the host. This minimizes storage requirements on the target as well as bandwidth requirements between the host and target.
Some of the efficiency is achieved by utilizing parameters relevant to the application. Other aspects of the efficiency are achieved by executing most of the functionality of the operating system on the host, and using the target DSP to the minimum extent possible.
REFERENCES:
patent: 5283900 (1994-02-01), Frankel et al.
patent: 5602847 (1997-02-01), Pagano et al.
patent: 5739691 (1998-04-01), Hoenninger, III
patent: 5758144 (1998-05-01), Eberhard et al.
patent: 5872960 (1999-02-01), Oz et al.
Potkonjak et al. Algorithm Selection: A Quantitative Computation-Intensive Optimization Approach. ACM. pp. 90-95, May 1994.
Frankel Bob
Russo Dave
Wechsler Karl
Brady III W. James
Laws Gerald E.
Powell Mark R.
Telecky , Jr. Frederick J.
Texas Instruments Incorporated
LandOfFree
User configurable operating system does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with User configurable operating system, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and User configurable operating system will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-2448839