← Back to Patent Explorer
US5371871A Expired / Lapsed US ⏱️ 0.0 years remaining

System for swapping in and out of system memory TSR programs by trapping interrupt calls for TSR and simulating system interrupt

Assignee: McAfee LLC
•
Filing: 1992-09-28
•
Granted: 1994-12-06
•
Expires: 2012-09-28
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A method for the allocation of RAM memory space in a microcomputer environment allows for one or more terminate and stay resident (TSR) or other programs to be stored on a remote memory device in a way that preserves their accessability. The method includes the installation of a supervisory program which traps calls for a displaced program and transfers a portion of another program, such as an application-type program, in RAM to remote memory while retrieving the called displaced program from remote memory into the RAM space previously occupied by the transferred portion. The swap function is performed in a manner which preserves the integrity of the swapped program, and which allows operation of the application program to be halted such that it may be restarted without loss upon return from remote memory. In another aspect of the invention a communication TSR is simulated to allow data transfers to the TSR to be processed even if the TSR is in remote memory.

Inventors

  • 👤 Michael L. Spilo

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-29 06:21
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/44; G06F9/445

Claims Analysis

Total Claims: 5
Claim 1
Independent Claim 393 words
A method for allocating RAM space in a computer system for active programs, comprising the steps of: (a) loading a first program into RAM in a manner which would allow execution thereof from another storage medium; (b) identifying the RAM space occupied by said first program and the interrupt vector table associated therewith; (c) transferring said first program to system storage prior to execution thereof with said associated interrupt vector table upon occurrence of a system processing event external to execution of said first program; (d) loading a second program into at least the RAM space previously utilized by said first program and running said second program; (e) monitoring the computer operating system while said second program is running for a call for said first program, and trapping said call; (f) suspending processing of said second program in a manner allowing subsequent restart; (g) passing the portion of said second program in the identified RAM space of said first program to system storage with its associated interrupt vector table in a manner allowing subsequent restart of said second program upon return of the portion of said second program to RAM; (h) returning said first program and interrupt vector table a first time to at least the RAM space made available by said passing of said portion of said second program; (i) generating a system interrupt to pass the trapped call to said first program while simulating a non-operable environment for said first program, whereby said first program and its then current interrupt vector table are immediately returned to storage and said second program portion is returned to the RAM space of first program to institute execution thereof; (j) processing said interrupt, whereby at the end of which the computer system has ceased all active processing; (k) passing the portion of said second program in the RAM space of said first program back to storage in a manner allowing subsequent restart; (l) returning said first program and its interrupt vector table to its RAM space a second time; (m) allowing said first program to resume execution; (n) terminating processing of said first program; (o) returning said first program to storage with its current interrupt vector table; (p) returning the portion of said second program and its interrupt vector table previously passed to storage to its former RAM space; and (q) restarting said second program.
Claim 2
Independent Claim 393 words
A method for allocating RAM space in a computer system for active programs, comprising the steps of: (a) loading a first program into RAM in a manner which would allow execution thereof from another storage medium; (b) identifying the RAM space occupied by said first program and the interrupt vector table associated therewith; (c) transferring said first program to system storage prior to execution thereof with said associated interrupt vector table upon occurrence of a system processing event external to execution of said first program; (d) loading a second program into at least the RAM space previously utilized by said first program and running said second program; (e) monitoring the computer operating system while said second program is running for a call for said first program, and trapping said call; (f) suspending processing of said second program in a manner allowing subsequent restart; (g) passing the portion of said second program in the identified RAM space of said first program to system storage with its associated interrupt vector table in a manner allowing subsequent restart of said second program upon return of the portion of said second program to RAM; (h) returning said first program and interrupt vector table a first time to at least the RAM space made available by said passing of said portion of said second program; (i) generating a system interrupt to pass the trapped call to said first program while simulating a non-operable environment for said first program, whereby said first program and its then current interrupt vector table are immediately returned to storage and said second program portion is returned to the RAM space of first program to institute execution thereof; (j) processing said interrupt, whereby at the end of which the computer system has ceased all active processing; (k) passing the portion of said second program in the RAM space of said first program back to storage in a manner allowing subsequent restart; (l) returning said first program and its interrupt vector table to its RAM space a second time; (m) allowing said first program to resume execution; (n) terminating processing of said first program; (o) returning said first program to storage with its current interrupt vector table; (p) returning the portion of said second program and its interrupt vector table previously passed to storage to its former RAM space; and (q) restarting said second program.
Claim 3
Dependent Claim 47 words
The method of claim 1, wherein said processing-suspending step for subsequent restart of said second program includes the steps of determining if said second program includes the generation of a video image to be saved and, if so, saving said video image with said second program portion.
Claim 4
Dependent Claim 55 words
The method of claim 1 further comprising the steps of: monitoring the operation of said first program to determine the termination thereof; transferring said first program back to storage with its then-associated interrupt vector table; returning the portion of said second program in storage to the RAM space; and reinstituting operation of said second program.
Claim 5
Dependent Claim 19 words
The method of claim 3, wherein said second program return step includes the return of stored video associated therewith.

References Cited (Backward Citations)

US3594732A Cited
US3618045A Cited
US4524415A Cited
US4825358A Cited
US5032981A Cited
US5056057A Cited
US5189733A Cited
US5146580A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1997-12-05 1998-06-06 1998-12-06 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2001-12-05 2002-06-06 2002-12-06 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2005-12-05 2006-06-06 2006-12-06 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag