Multiple protected mode execution environments using...

Electrical computers and digital processing systems: support – Multiple computer communication using cryptography – Protection at a particular protocol layer

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C713S168000, C713S193000, C713S152000

Reexamination Certificate

active

06751737

ABSTRACT:

BACKGROUND OF THE INVENTION
1. Field of the Invention
The present invention relates generally to a method of employing multiple execution environments within a computer system and, more particularly, to a method that utilizes meta protected instructions to switch the entire context of a microprocessor between multiple hardware execution environments.
2. Description of the Related Art
Originally, computers were custom designed to perform a single task such as accounting, inventory control or trajectory calculation. Each system was sold to fit a particular purpose and was programmed with software that was not suited for use with any other computer or task. The advantages of hardware and software standardization soon became apparent.
When the early computer companies began producing multiple processing devices based upon the same design, it became possible to reuse portions of computer software as well. This development lead to the creation of operating systems (OSs), a collection of software that handles elementary computer functions such as reading keyboard input, producing video display output and reading and writing instructions and data from memory. In short, the OS is the program that “runs” the computer.
The standardization of OSs enabled multiple applications to be written that could run on the same computer. The early computers were very expensive, so designers developed methods to allow multiple users to share the expense. This cooperation, or “timesharing,” was informal and procedural at first, for example sales staff using the computer during the day for point-of-sale (POS) transactions and the accounting department using the computer at night for billing. It was not long before computers and OSs were developed to support more advanced timesharing schemes.
Operating systems, such as UNIX developed by AT&T Bell Laboratories of Murray Hill, N.J., enable multiple users and multiple programs to access computer resources by means of a process called “multitasking” in a fashion that appears simultaneous to users. Multitasking is typically accomplished by a method called task switching, which often utilizes “time slicing.” The UNIX OS divides the available processor time into slices and allows each application or user a slice. If a program has reached the end of its time slice without finishing its processing, hardware and software variables such as instruction and data registers are saved so that they can be restored when the interrupted application's turn comes around again and it resumes processing. The entire process is also called “context switching” although this term also can refer to the practice of switching between active applications on a computer desktop windowing system such as the Windows OS published by Microsoft Corporation of Redmond, Wash.
One problem that arises on a multitasking computer system is incompatibility of programs. For example, although a computer can run multiple programs, it is difficult to simultaneously run one program designed for the Windows OS and another program designed for UNIX. Typically, a computer system must be running one OS or another but not both. If two OS-incompatible programs need to be run at the same time, an “emulator” is often used. An emulator translates commands for one OS to another. One problem is that a program utilizing an emulator typically runs much slower than it would otherwise.
Another problem that arises in a multitasking environment is memory management. A multitasking OS should ensure that an application does not inadvertently corrupt the memory space of another application or the OS itself. Early personal computers (PCs) ran only one program at a time and operated in “real” mode. In “real” mode, a memory request contains only the address that needs to be accessed and the OS retrieves the requested memory directly. Current OSs typically operate in a “protected” mode, which means that a memory request does not point to a specific area of memory but contains an index into a “descriptor” table. A descriptor table entry contains the actual address of the requested memory. Included within a descriptor table entry are “access” bits that specify an access level, typically a value between 0 and 3, that a requesting process is required to have to access that specific memory location. The OS compares the access bits sent with the memory request with the access bits in the descriptor table entry. For example, a memory request with the access bits set to a 3 cannot access a memory space that has an access level of 0. An access level of 3 may also indicate to the operating system that the requesting application is not allowed to access memory that is owned by another application, thus preventing one application from corrupting the memory space of another with the same access level.
SUMMARY OF THE INVENTION
Briefly, a microprocessor provides a process that switches the microcontroller between multiple protected mode execution contexts or environments by employing “meta protected” instructions (“meta instructions”) and multiple registers sets. Although some processors such as the Z80 manufactured by Zilog Corporation of Campbell, Calif., contain multiple data register sets, current microprocessors have only a single set of control registers and active descriptors, limiting the microprocessor to maintaining a single execution environment at any particular time. Here, a meta virtual machine (MVM) is provided to emulate multiple protected mode sessions by managing the time between different protected mode execution contexts. The system thereby appears to provide multiple processors existing at the same time.
A meta protected instruction contains information indicating to a microprocessor that a specific execution context is required or preferred. Upon receipt of the meta instruction, the microprocessor switches to a special context called a meta virtual machine (MVM). The MVM then executes a series of instructions that switch the microprocessor to the required or preferred execution context, thus enabling the microprocessor to execute the instruction in the proper execution context.
One advantage of this technique is that instructions that either cannot execute or execute inefficiently in one execution environment can be supported in an efficient manner by a different execution environment, eliminating the need for an emulator. For example, a user might run Microsoft Word published by Microsoft Corporation using the Microsoft Windows OS on a UNIX-based web server. Utilizing the context switch, each operating system views itself as the only operating system.


REFERENCES:
patent: 5109413 (1992-04-01), Comerford et al.
patent: 5946674 (1999-08-01), Nordin et al.
patent: 5974142 (1999-10-01), Heer et al.
Protected Mode Basics, Robert Collins, ©1991-1999, 10 pgs.
The virtual machine, http://www.object-tools.com/dm/dmvirtua.htm, Apr. 9, 1999.
Enhanced Am486®DX Microprocessor Family, Advanced Micro Devices, Inc., Mar. 1997, 2pgs.
The Z80 Microprocessor, http://www.geocities.com/Silcon Valley/5711/z80.html, Dec. 2, 1998, 6 pgs.
PIC16C84: 8-Bit CMOS EEPROM Microcontroller, Microchip Technology, Inc., ©1996, pp. 1-116.
comp.emulators.misc Frequently Asked Questions(FAQ) [1/3], Adam Roach, ©1995, 1996, 1997, http://www.cis.ohio-state.edu/hypertext/faq/usenet/emulators-faq/part1/faq.html, [1/3] 34 pgs.; [2/3] 34 pgs.; [3/3] 31 pgs.
Am486™DX/DX2 Microprocessor, Hardware Reference Manual, E86™ Family, Advanced Micro Devices, Inc. , Rev. 1, 1993, pp. 3-1 through 3-3, 4-1 through 4-35, 5-1 through 5-6, and 6-1.

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

Multiple protected mode execution environments using... does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Multiple protected mode execution environments using..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Multiple protected mode execution environments using... will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-3296438

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.