Claims Analysis
Total Claims: 31
Claim 1
Independent Claim
269 words
A method for operating a digital computer with an operating system program, said operating system program comprising a plurality of subroutines, said computer including memory, input-output devices, a system clock, initialization means to boot-up said computer, and a microprocessor, said microprocessor including a plurality of modes, a mode switch means capable of switching said microprocessor from a first mode to alternate modes but incapable of switching back to said first mode, and means for resetting said microprocessor, said resetting means causing said microprocessor to boot-up in said first mode, said method providing means for efficiently running on said computer applications programs adapted to said first mode concurrently with computer applications programs adapted to said alternate modes by switching between modes when necessary, said method comprising the steps of: (a) booting up said computer; (b) loading into said memory and said microprocessor operating system programs; (c) running a plurality of said applications programs on said microprocessor as required; (d) determining as each program is run whether a mode switch is required; (e) if a switch from said first mode to one of said alternate modes is required, activating said mode switch means; (f) if a switch from an alternate mode to said first mode is required, causing said microprocessor to reset by activating said resetting means by control means; (g) determining whether said resetting was triggered by said control means rather than by power-up, hardware faults, or a malfunction in the operation of the computer; and (h) if said resetting is determined to have been caused by said control means, causing said computer to bypass normal initialization routines during boot-up.
Claim 2
Independent Claim
269 words
A method for operating a digital computer with an operating system program, said operating system program comprising a plurality of subroutines, said computer including memory, input-output devices, a system clock, initialization means to boot-up said computer, and a microprocessor, said microprocessor including a plurality of modes, a mode switch means capable of switching said microprocessor from a first mode to alternate modes but incapable of switching back to said first mode, and means for resetting said microprocessor, said resetting means causing said microprocessor to boot-up in said first mode, said method providing means for efficiently running on said computer applications programs adapted to said first mode concurrently with computer applications programs adapted to said alternate modes by switching between modes when necessary, said method comprising the steps of: (a) booting up said computer; (b) loading into said memory and said microprocessor operating system programs; (c) running a plurality of said applications programs on said microprocessor as required; (d) determining as each program is run whether a mode switch is required; (e) if a switch from said first mode to one of said alternate modes is required, activating said mode switch means; (f) if a switch from an alternate mode to said first mode is required, causing said microprocessor to reset by activating said resetting means by control means; (g) determining whether said resetting was triggered by said control means rather than by power-up, hardware faults, or a malfunction in the operation of the computer; and (h) if said resetting is determined to have been caused by said control means, causing said computer to bypass normal initialization routines during boot-up.
Claim 3
Dependent Claim
49 words
The method of claim 1 wherein the memory of said computer includes volatile portions and the determination of step (g) comprises storing a value in a location in said volatile portions memory prior to the reset and examining said location during boot-up to determine whether that value is present.
Claim 4
Dependent Claim
53 words
The method of claim 1 wherein the memory of said computer includes a non-volatile portion and the determination of step (g) comprises reserving a location in said portion to serve as a mode switch reset flag, setting said flat prior to the reset, and examining said memory during boot-up to detect said flag.
Claim 5
Dependent Claim
63 words
The method of claim 1 wherein said computer includes a reset hardware latch, said method including the additional steps of setting the reset hardware latch if the resetting is triggered by other than said control means and clearing the reset hardware latch prior to resetting by said control means, and the determination of step (g) comprises examining said reset hardware latch during boot-up.
Claim 6
Dependent Claim
53 words
5 . In the method of claim 1, additionally including the steps of: prior to resetting said microprocessor in step (f), determining whether direct memory access operations between said memory and any of said input-output devices is occurring; if said operations are occurring, suspending such operations; and after said resetting, resuming such operations.
Claim 7
Dependent Claim
71 words
In the method of claim 1, wherein said computer includes means for conveying interrupts and other control transfer instructions to said microprocessor, the further steps of: disabling the conveying of said interrupts and other control transfer instructions prior to resetting said microprocessor in step (f); preserving the interrupts or other control transfer insuructions during said resetting; and enabling the conveying of said interrupts or other control transfer instructions after said resetting.
Claim 8
Dependent Claim
45 words
The method of claim 1 wherein said microprocessor includes two modes, the first mode constituting an emulation mode in which the microprocessor directly addresses memory loca- ti* q s and the alternate mode constituting a protected mode that provides for memory reallocation and memory protection.
Claim 9
Dependent Claim
82 words
The method of claim 1 wherein said microprocessor uses a direct means in the first mode to specify memory locations and uses a mapping means in at least one of said alternate modes to specify memory locations and said operating system program includes means for locating frequently utilized subroutines of the operating system in addresses that are common in both modes, thereby reducing the need to switch modes when an application program in one mode calls a subroutine of said operating system.
Claim 10
Dependent Claim
225 words
The method of claim 1 wherein said microprocessor operates in a first mode wherein memory locations within said computer are addressed by means of a binary address selector value that corresponds directly to a location in the physical memory of said computer, and a second mode wherein memory locations within said computer are addressed by means of a binary address selector value that designates a location in an intermediate mapping system where the desired physical memory address is located, said method comprising the steps of: (a) selecting a plurality of binary address selector values in said first mode which are compatible with said binary address selector values of said second mode that designate locations within said intermediate mapping system where operating system commands are located; (b) storing a value in the location within said intermediate mapping systems corresponding to each selected binary address selector value which will designate the same location in the physical memory of said computer in said second mode as the selected binary address value designates in said first mode; and (c) storing a plurality of operating system routines in the physical memory of said computer such that the entry points for the routines are designated by the address selector values selected in step (a), thereby enabling each of said routines to be designated in either mode using a common address system.
Claim 11
Dependent Claim
73 words
The method of claim 1 wherein said operating system includes device driver routines which interact with input/output devices in said computer, said method additionally including the steps of: examining the address of I/O locations designating by said device drivers routines during execution of said device driver routines; checking the current execution mode of said microprocessor; and generating an address designation in the current execution mode which will correspond to said I/O location address.
Claim 12
Dependent Claim
119 words
The method of claim 1 wherein said computer includes means for conveying interrupts to said microprocessor and said microprocessor additionally includes an interrupt vector table for storing the addresses of operating system routines or application system routines to service said interrupts, said method including the additional steps of: periodically examining said interrupt vector table to determine if any application programs have entered the address of their interrupt service routine in said interrupt vector table; and replacing any application program address located by said examination with the address of an operating system routine which will switch modes if necessary to execute the interrupt service routine of the application program and return control of the microprocessor to its pre-interrupt execution stream.
Claim 13
Dependent Claim
31 words
The method of claim 1, including the additional steps of: creating a list of valid input/output addresses; and checking each input/output operation attempted by said computer against said valid address list.
Claim 14
Dependent Claim
54 words
The method of claim 1, including the additional step of: creating a list of valid memory addresses for each program loaded in said computer; checking each memory address attempted by the microprocessor against the corresponding list for the currently executing program; and interrupting operation of the microprocessor if an invalid memory address is attempted.
Claim 15
Dependent Claim
168 words
An operating system for a digital computer with a microprocessor that includes two modes, one mode being a limited memory real mode with direct addressing of memory, and the other mode being an extended memory protected mode with addressing of memory by mapping, a mode switching means capable of switching said microprocessor only from the real mode to the protected mode, and means for resetting said microprocessor, said resetting causing said microprocessor to boot-up in said real mode, wherein the improvement comprises means for efficiently switching from real mode to protected mode and from protected mode to real mode, thereby enabling said computer to run concurrently applications programs adapted to the real mode and applications programs adapted to the protected mode, and means including means for activating said resetting means, means for determining whether such resetting was caused by such activating means, means for bypassing normal initialization routines in response to a positive determination, and means for suspending direct memory access operations and conveyance of interrupts during resetting.
Claim 16
Dependent Claim
168 words
An operating system for a digital computer with a microprocessor that includes two modes, one mode being a limited memory real mode with direct addressing of memory, and the other mode being an extended memory protected mode with addressing of memory by mapping, a mode switching means capable of switching said microprocessor only from the real mode to the protected mode, and means for resetting said microprocessor, said resetting causing said microprocessor to boot-up in said real mode, wherein the improvement comprises means for efficiently switching from real mode to protected mode and from protected mode to real mode, thereby enabling said computer to run concurrently applications programs adapted to the real mode and applications programs adapted to the protected mode, and means including means for activating said resetting means, means for determining whether such resetting was caused by such activating means, means for bypassing normal initialization routines in response to a positive determination, and means for suspending direct memory access operations and conveyance of interrupts during resetting.
Claim 17
Dependent Claim
43 words
In the operating system of claim 14, means for locating frequently utilized subroutines in addresses that are common to both modes, thereby reducing the need to switch modes when an application program running in one mode calls a subroutine from said operating system.
Claim 18
Dependent Claim
46 words
The operating system of claim 14, additionally including means for addressing memory locations above the limit of the real mode to allow an I/O device driver, running in real mode, to perform services for an application program or operating system component which runs in protected mode.
Claim 19
Dependent Claim
62 words
In the operating system of claim 14, means for converting to a low memory location references to memory locations above the memory limit of said real mode made by applications programs running in real mode, thereby causing such high level memory references to be wrapped to low memory as occurs when said programs are run on microprocessors having only a real mode.
Claim 20
Dependent Claim
103 words
In the operating system of claim 14, means for accommodating programs running in real mode that use hardware interrupts by storing addresses into a hardware vector table so that interrupt service routines in said programs may be called by the interrupt vector when the microprocessor is executing code in protected mode, said means including means for causing an interrupt vector to point to the portion of said operating system that causes a switch from protected mode to real mode, means for transferring to the proper address in the real mode program, and means for causing said microprocessor to return to the interrupt code.
Claim 21
Dependent Claim
51 words
In the operating system of claim 14, means for increasing the amount of memory available for application programs running in said real mode by placing less frequently utilized subroutines of the operating system in memory locations above the memory limit of the real mode, said subroutines being accessed by mode switching.
Claim 22
Dependent Claim
72 words
In the operating system of claim 14, means for increasing the amount of memory available for application programs running in real mode when said computer is so constructed _ to address in real mode less memory than said real mode is capsble of addressing, said means comprising placing a portion of said operating system in memory locations above the limit of said computer but below the memory limit in said real mode.
Claim 23
Independent Claim
234 words
A method of operating a computer system with a multi-mode microprocessor that contains means to switch from a first mode to an alternate mode but no means to switch from said alternate mode to said first mode, and resetting means that causes boot-up in said first mode and initialization of said system, said method being so adapted as to enable a mixture of applications programs designed to run in the various modes of said microprocessor to be efficiently executed,said method comprising the steps of: (1) creating a record as to each application program that is loaded into said computer system, said record including an indication of the mode in which said program must be executed; (2) when execution of an application program by said microprocessor is required, checking said record and the current mode of said microprocessor to determine whether a mode switch is required; (3) if a mode switch from first mode to alternate mode is required, activating said mode switch means; (4) if a mode switch from an alternate mode to first mode is required, (a) providing means to determine that a resetting of said microprocessor was for mode switching purposes, (b) resetting the microprocessor, (c) determining from the means of (a) whether said resetting was for mode switching purposes, (d) if the determination in (c) is affirmative, causing said computer system to bypass normal initialization routines, and (5) executing said program.
Claim 24
Independent Claim
234 words
A method of operating a computer system with a multi-mode microprocessor that contains means to switch from a first mode to an alternate mode but no means to switch from said alternate mode to said first mode, and resetting means that causes boot-up in said first mode and initialization of said system, said method being so adapted as to enable a mixture of applications programs designed to run in the various modes of said microprocessor to be efficiently executed,said method comprising the steps of: (1) creating a record as to each application program that is loaded into said computer system, said record including an indication of the mode in which said program must be executed; (2) when execution of an application program by said microprocessor is required, checking said record and the current mode of said microprocessor to determine whether a mode switch is required; (3) if a mode switch from first mode to alternate mode is required, activating said mode switch means; (4) if a mode switch from an alternate mode to first mode is required, (a) providing means to determine that a resetting of said microprocessor was for mode switching purposes, (b) resetting the microprocessor, (c) determining from the means of (a) whether said resetting was for mode switching purposes, (d) if the determination in (c) is affirmative, causing said computer system to bypass normal initialization routines, and (5) executing said program.
Claim 25
Independent Claim
246 words
A medium with a series of instructions recorded thereon in such fashion as to be machine-readable into the memory of a digital computer based on a multi-mode microprocessor that contains means to switch only from a first mode to an alternate mode and resetting means that causes boot-up in said first mode and initialization of said system, said instructions being so adapted as to constitute an operating system for said computer system, said system being so adapted as to enable a mixture of applications programs designed to run in the various modes of said microprocessor to be efficiently executed by: (1) creating a record as to each application program that is loaded into said computer system, said record including an indication of the mode in which said progr-am must be executed; (2) when execution of an application program by said microprocessor is required, checking said record and the current mode of said microprocessor to determine whether a mode switch is required; (3) if a mode switch from first mode to alternate mode is required, activating said mode switch means; (4) if a mode switch from an alternate mode to said first mode is required, (a) providing means to determine that a resetting of said microprocessor was for mode switching purposes, (b) resetting said microprocessor, (c) determining from the means of (a) whether said resetting was for mode switching purposes, (d) if the determination in (c) is affirmative, causing said computer system to bypass normal initialization routines.
Claim 26
Independent Claim
246 words
A medium with a series of instructions recorded thereon in such fashion as to be machine-readable into the memory of a digital computer based on a multi-mode microprocessor that contains means to switch only from a first mode to an alternate mode and resetting means that causes boot-up in said first mode and initialization of said system, said instructions being so adapted as to constitute an operating system for said computer system, said system being so adapted as to enable a mixture of applications programs designed to run in the various modes of said microprocessor to be efficiently executed by: (1) creating a record as to each application program that is loaded into said computer system, said record including an indication of the mode in which said progr-am must be executed; (2) when execution of an application program by said microprocessor is required, checking said record and the current mode of said microprocessor to determine whether a mode switch is required; (3) if a mode switch from first mode to alternate mode is required, activating said mode switch means; (4) if a mode switch from an alternate mode to said first mode is required, (a) providing means to determine that a resetting of said microprocessor was for mode switching purposes, (b) resetting said microprocessor, (c) determining from the means of (a) whether said resetting was for mode switching purposes, (d) if the determination in (c) is affirmative, causing said computer system to bypass normal initialization routines.
Claim 27
Independent Claim
234 words
A method of operating a digital computer that utilizes a multi-mode microprocessor, the microprocessor operating in a first mode wherein memory locations within the computer are addressed by means of a binary address selector value that corresponds directly to a location in the physical nemery of the computer, and a second mode wherein memory loca- ti ns within the computer are addressed by means of a binary address selector value that designates a location in an intermediate mapping system where the desired physical memory address is located, the method comprising the steps of: (a) selecting a plurality of binary address selector values in the first mode which are compatible with the binary address selector values of the second mode that designate locations within the intermediate mapping system where operating system commands are located; (b) storing a value in the location within the intermediate mapping systems corresponding to each- selected binary address selector value which will designate the same location in the physical memory of the computer in the second mode as the selected binary address value designates in the first mode; and (c) storing a plurality of operating system routines in the physical memory of the computer such that the entry points for the routines are designated by the address selector values selected in step (a), thereby enabling each of the routines to be designated in either mode using a common address selector value.
Claim 28
Independent Claim
234 words
A method of operating a digital computer that utilizes a multi-mode microprocessor, the microprocessor operating in a first mode wherein memory locations within the computer are addressed by means of a binary address selector value that corresponds directly to a location in the physical nemery of the computer, and a second mode wherein memory loca- ti ns within the computer are addressed by means of a binary address selector value that designates a location in an intermediate mapping system where the desired physical memory address is located, the method comprising the steps of: (a) selecting a plurality of binary address selector values in the first mode which are compatible with the binary address selector values of the second mode that designate locations within the intermediate mapping system where operating system commands are located; (b) storing a value in the location within the intermediate mapping systems corresponding to each- selected binary address selector value which will designate the same location in the physical memory of the computer in the second mode as the selected binary address value designates in the first mode; and (c) storing a plurality of operating system routines in the physical memory of the computer such that the entry points for the routines are designated by the address selector values selected in step (a), thereby enabling each of the routines to be designated in either mode using a common address selector value.
Claim 29
Independent Claim
246 words
A method of processing interrupts in a digital computer system including a processing unit, a memory, and a multi-tasking operating system, the processing unit including an interrupt vector table for storing the memory addresses of operating system routines or application program routines for servicing interrupts, the method including the steps of: (a) for each interrupt serviced by an operating system routine, storing the address of the corresponding operating system interrupt service routine in a corresponding client list in a dispatcher routine in the operating system; (b) for each operating system interrupt service routine, storing the address of the dispatcher in the corresponding interrupt vector; (c) periodically examining the interrupt vector table to determine if any application programs have edited interrupt vectors to replace the address of the dispatcher with the address of an application program service routine; (d) for any edits located in step (c), placing the address of the application program interrupt service routine on top of the client list for the corresponding interrupt and restoring the interrupt vector value to point to the dispatcher; (e) upon receipt of an interrupt, successively transferring control to the interrupt service routines until one of the routines services the interrupt; and (f) upon termination of an application program that has edited the interrupt vector table, deleting the addresses of the interrupt service routines of the terminated program from the client lists .of the dispatcher and restoring the values of the interrupts as necessary to point to the dispatcher.
Claim 30
Independent Claim
246 words
A method of processing interrupts in a digital computer system including a processing unit, a memory, and a multi-tasking operating system, the processing unit including an interrupt vector table for storing the memory addresses of operating system routines or application program routines for servicing interrupts, the method including the steps of: (a) for each interrupt serviced by an operating system routine, storing the address of the corresponding operating system interrupt service routine in a corresponding client list in a dispatcher routine in the operating system; (b) for each operating system interrupt service routine, storing the address of the dispatcher in the corresponding interrupt vector; (c) periodically examining the interrupt vector table to determine if any application programs have edited interrupt vectors to replace the address of the dispatcher with the address of an application program service routine; (d) for any edits located in step (c), placing the address of the application program interrupt service routine on top of the client list for the corresponding interrupt and restoring the interrupt vector value to point to the dispatcher; (e) upon receipt of an interrupt, successively transferring control to the interrupt service routines until one of the routines services the interrupt; and (f) upon termination of an application program that has edited the interrupt vector table, deleting the addresses of the interrupt service routines of the terminated program from the client lists .of the dispatcher and restoring the values of the interrupts as necessary to point to the dispatcher.
Claim 31
Dependent Claim
85 words
The method of claim 25 wherein new interrupt vectors are designated for each interrupt serviced by an operating system interrupt service routine and the new interrupt vectors are set to point to a first location within the dispatcher, and the address of a second entry point in the dispatcher is stored in the original interrupt vectors in step (b), thereby providing a means for distinguishing a true interrupt from an interrupt that has been examined and not dismissed by an application program interrupt service routine.