Method and operating system for executing programs in a multi-mode microprocessor
First Claim
1. A method for accessing a segment in a multi-mode computer having segmented addressing, the computer having a memory, the computer having a segment selector to select the segment, the segment having a base address, the computer having a first mode wherein the base address of the segment is addressed by the segment selector and a second mode wherein the base address of the segment is addressed indirectly by the segment selector which points to a memory location within a mapping system where the base address of the segment is stored, the method allowing the segment to be accessed by the same segment selector value in both the first and second modes, the method comprising the steps of:
- (a) selecting an address that is a multiple of 16 to be the base address of the segment;
(b) when the computer is in either the first mode or the second mode,(1) setting the segment selector to a value so that the segment selector addresses the base address of the segment when the computer is in the first mode;
(2) storing at a selected memory location within the mapping system the base address of the segment, the memory location being selected so that it is pointed to by the segment selector as set in step (1) when the computer is in the second mode; and
(3) loading the segment into the memory at the base address; and
(c) accessing the segment in both the first and second modes using the segment selector.
1 Assignment
0 Petitions
Accused Products
Abstract
Improved methods and operating systems for use with a multi-mode microprocessor enable efficient operation in a multi-mode environment. Preferred embodiments for use with microprocessors which were not designed to switch from each mode to another mode enable multi-tasking of a mixture of programs written for different modes using the mode switching methods of the present invention. Frequently used portions of the operating system are stored in memory at locations which can be commonly addressed in all modes. Means for handling device drivers and interrupts in all modes are also provided. Preferred embodiments for use with computer systems using microprocessors such as the Intel 80286 include means for storing the operating system routines to maximize performance of the system in real mode. Auxiliary protection hardware and I/O masking hardware are also provided in alternate preferred embodiments to enhance protection during real mode operation of such systems. Means for handling interrupts in a mode switching environment and alternate embodiments to eliminate problems caused by hooking programs in a multi-tasking environment are also provided.
-
Citations
21 Claims
-
1. A method for accessing a segment in a multi-mode computer having segmented addressing, the computer having a memory, the computer having a segment selector to select the segment, the segment having a base address, the computer having a first mode wherein the base address of the segment is addressed by the segment selector and a second mode wherein the base address of the segment is addressed indirectly by the segment selector which points to a memory location within a mapping system where the base address of the segment is stored, the method allowing the segment to be accessed by the same segment selector value in both the first and second modes, the method comprising the steps of:
-
(a) selecting an address that is a multiple of 16 to be the base address of the segment; (b) when the computer is in either the first mode or the second mode, (1) setting the segment selector to a value so that the segment selector addresses the base address of the segment when the computer is in the first mode; (2) storing at a selected memory location within the mapping system the base address of the segment, the memory location being selected so that it is pointed to by the segment selector as set in step (1) when the computer is in the second mode; and (3) loading the segment into the memory at the base address; and (c) accessing the segment in both the first and second modes using the segment selector. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A method for accessing a segment in a computer, the computer having a memory and the computer based on an Intel 80286 or compatible microprocessor, the microprocessor having segmented addressing and a segment selector to select the segment, the segment having a base address, the microprocessor having a real mode wherein the base address of the segment is addressed by the segment selector and a protected mode wherein the base address of the segment is addressed indirectly by the segment selector which points to a memory location within a descriptor table where the base address of the segment is stored, the method allowing the segment to be accessed by the same segment selector value in both the real and protected modes, the method comprising the steps of:
-
(a) selecting an address that is a multiple of 16 to be the base address of the segment; (b) when the computer is in either the real mode or the protected mode, (1) setting the segment selector to a value so that the segment selector addresses the base address of the segment when the computer is in the real mode; (2) storing at a selected memory location within the descriptor table the base address of the segment, the memory location being selected so that it is pointed to by the segment selector as set in step (1) when the computer is in the protected mode; and (3) loading the segment into the memory at the base address; and (c) accessing the segment in both the real and protected modes using the segment selector. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21)
-
Specification