Electrical computers and digital processing systems: multicomput – Computer-to-computer data routing – Least weight routing
Reexamination Certificate
1995-06-07
2002-10-15
Follansbee, John A. (Department: 2156)
Electrical computers and digital processing systems: multicomput
Computer-to-computer data routing
Least weight routing
C709S241000
Reexamination Certificate
active
06466962
ABSTRACT:
BACKGROUND OF THE INVENTION
1. Technical Field
The present invention relates to data processing systems, and, more particularly, the invention relates to a system and method of improving co-resident operating systems.
2. Description of the Related Art
Recent advances in high-speed networks, workstation processors, and digital audio and video acquisition/compression/display hardware have led to tremendous interest in the problems of supporting the real-time computation and communication requirements of distributed multimedia applications; examples of descriptions of this interest are given in the following:
(1)
Processor Capacity Reserves: Operating System Support for Multimedia Applications,
Mercer, C. W., Savage, S., Tokuda, H., IEEE Intl. Conf. on Multimedia Computing and Systems, Boston, Mass., May 1994, pp. 90-99.
(2)
Adaptive Real
-
Time Resource Management Supporting Modular Composition of Digital Multimedia Services
, M. B. Jones, in Network and Operating System Support for Digital Audio and Video, Proceedings, Fourth Intl. Workshop, Lancaster UK, November 1993, D. Shepherd, et al. (Eds.). Lecture Notes in Computer Science, Vol. 846, pp. 21-28, Springer-Verlag, Heidelberg, 1994.
(3)
Dynamic QOS Control Based on Real
-
Time Threads
, H.
Tokuda, T. Kitayama, in Network and Operating System Support for Digital Audio and Video, Proceedings, Fourth Intl,. Workshop, Lancaster, UK, November 1993. D. Shepherd, et al. (Eds.). Lecture Notes in Computer Science, Vol. 846, pp. 124-137, Springer-Verlag, Heidelberg, 1994.
(4)
Workstation Support for Time
-
Critical Applications
, J. G.
Hanko, E. M. Kuerner, J. D. Northcutt, G. A. Wall, in Network and Operating System Support for Digital Audio and Video, Proceedings, Second Intl. Workshop, Heidelberg, Germany, November 1992, R. G. Herrtwich (Ed.). Lecture Notes in Computer Science, Vol. 614, pp. 4-9, Springer-Verlag, Heidelbert, 1992.
(5)
Scheduling and IPC Mechanisms for Continuous Media
, Govindan, R., Anderson, D. P., Proc. ACM Symp. on Operating Systems Principles, ACM Operating Systems Review, Vol. 25, No. 5, October 1991, pp. 68-80.
(6)
Kernel Support for Live Digital Audio and Video
, K. Jeffay, D. L. Stone, F. D. Smith,
Computer Communications
, Vol. 15, No. 6. (July/August 1992) pp. 388-395.
(7)
Support for Continuous Media in the DASH System
, Anderson, D. P., Tzou, S. -Y., Wahbe, R., Govindan, R., Andrews, M., Proc,. Tenth Intl. Conf. on Distributed Computing Systems, Paris, France, May 1990, pp. 54-61.
However, although much research has been performed on the design of real-time operating systems, and much is on-going in the distributed multimedia domain, the vast majority of computers in use today use operating systems that provide no support for real-time computing beyond allowing tasks to manipulate their execution priority. Operating systems that (a) allow programs to specify their real-time performance requirements and (b) guarantee these requirements are met, have been, and are still, largely confined to academic and industrial research laboratories.
Previously, there have been two identifiable approaches to marrying real-time and non-real-time technologies.
First, there have been several attempts to add real-time features such as periodic tasks and priority-inversion-free interprocess communication mechanisms into existing general purpose operating systems such as Unix and Mach. These have been described in items (1), (3), and (4) above.
The second approach is to design a general purpose but dynamically configurable operating system kernel that is capable of accommodating user or application specific process, scheduling and memory management modules. This second approach has been described in
SPIN—An Extensible Microkernel for Application
-
Specific Operating System Services
, Bershad, B. N., Chambers, C., Egers, S., Maeda, C., McNamee, D., Pardyak, P.,Savage, S., Sirer, E. G., Op. Sys. Review, Vol. 29, No. 1, (January 1995), pp. 74-77.
Other related works include the design of IBM's VM operating system as described in VM/370
Asymmetric Multiprocessing
, Holley, L. H., Parmelee, R. P., Salisbury, C. A, Saul, D. N.,
IBM Systems Journal, Vol.
18, No. 1, (1979), pp. 47-70, and the general time-division multiplexing technique used in bus and communication protocols. Other attempts to directly embed real-time systems technology into general purpose operating systems include the HeiTS network communication system as described in
Implementing HeiTS: Architecture and Implementation Strategy of the Heidelberg High
-
Speed Transport System
, Hehmann D., Herrtwich, R. G., Schulz, W., Schutt, T., Steinmetz, R., Proc. Second Intl. Workshop on Network and Operating System Support for Digital Audio and Video, Springer-Verlag, LNCS, Vol, 614, 1992. In HeiTS, a real-time kernel is embedded into a network device driver and used to maintain real-time communication of multimedia data across a network.
SUMMARY OF THE INVENTION
It is an object of the present invention to provide improved support for real-time computing within general purpose operating systems.
It is another object of the invention to provide a system and method of supporting co-resident operating systems in a data processing system.
These and other objects of the invention are achieved as is now described. A method of supporting real-time computing within a general purpose operating system, according to the present invention, is described according to a third approach, differing from the two approaches above. This third approach is that of supporting co-resident operating systems. The interest here lies in developing a methodology for allowing existing, well-understood real-time systems technology to co-exist with commercial, general purpose operating systems to support applications such as desktop multimedia conferencing. Thus, the emphasis here is not so much on the development of raw real-time systems technology per se, but rather on developing a vehicle for the incorporation and use of existing technology in conventional desktop operating systems.
In this invention, the approach is to partition the central processor and other system resources into two virtual machines, first a machine running a largely unmodified general purpose operating system, and second a machine running a real-time kernel, then to multiplex access to the physical hardware by the virtual machines. By allowing the co-existence of two operating systems, this approach allows a clean separation of concerns between the requirements and desired solutions for non-real-time, general purpose computing services and those for real-time services. Thus, the computer programmer or system designer should be able to “mix-and-match” general purpose operating systems and real-time kernels to suit the needs of the system user.
The approach of this invention is based on a set of simple, small executives that execute on the bare machine and allow a general purpose operating system and a real-time kernel to share the hardware in such a fashion that (1) the real-time kernel executes in a predictable manner so that it is possible to analyze the conditions under which real-time tasks will be guaranteed to be feasible, and (2) the general purpose operating system can function correctly with few modifications. Two generic technologies are required to achieve these goals. The first is a facility for multiplexing the co-resident operating systems' execution on all shared devices. The second is a scheme for partitioning all shared, serially reusable resources such as disk sectors, network buffers, screen pixels, etc., between the operating systems.
Prototype executives for the CPU and a few other devices are described. The executives multiplex accesses to each shared device and partition device resources so that the above two goals are met. The most complex executive is that for the CPU. It operates by executing the general purpose system but preempts its execution at precise, constant intervals to execute the real-time system. Thus at a high-level, the overall system is similar to a cyclic executive
Bracewell & Patterson L.L.P.
Follansbee John A.
Ray-Yarletts Jeanine S.
LandOfFree
System and method for supporting real-time computing within... does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with System and method for supporting real-time computing within..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and System and method for supporting real-time computing within... will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-2997465