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

Memory management system improving the efficiency of fork operations

Assignee: CVSI Inc
•
Filing: 1985-10-24
•
Granted: 1989-03-14
•
Expires: 2005-10-24
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract Methods and apparatus for implementing fork operations on UNIX or UNIX-emulating operating systems, particularly in multi-user environments reduce the copy time, the number of page faults and, consequently the input-output ("I/O") operations between the central processing unit, main memory and auxilliary memory. In one aspect of the invention, fork operations are executed by redefining those pages of the parent process image resident in main memory as pages of a child process image and modifying the page maps accordingly. Page faults are thereby eliminated for pages located in auxiliary memory. Additional improvements in performance are obtained by monitoring the level of main memory utilization and selecting optical procedures based on the amount of excess capacity in main memory.

Inventors

  • 👤 Carl Chan
  • 👤 Edwar A. Feustel

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-30 23:26
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/46; G06F9/48; G06F9/4806; G06F9/4843; G06F12/00; G06F12/02; G06F12/08

Claims Analysis

Total Claims: 12
Claim 1
Independent Claim 176 words
A method of copying a parent process (or task) having pages of information to a child process (or task) during a fork operation in a data processing system which employs virtual addressing to reference a physical memory, at least one page map to define the relationship between virtual addresses and their physical locations, and demand paging to allocate a logic address space, defining a process, between a main memory and a lower density auxiliary memory, the pages of the parent process distributed in the main memory and the auxiliary memory wherein said pages resident in the main memory comprise modified and unmodified pages, the method comprising; a. redefining the unmodified pages of the parent process resident in main memory as pages of a child process; b. modifying the page map to indicate the pages resident in main memory redefined from the parent process to the child process; and c. copying pages of the parent process not resident in main memory from the auxiliary memory to create pages for the child process in said logic address space.
Claim 2
Independent Claim 176 words
A method of copying a parent process (or task) having pages of information to a child process (or task) during a fork operation in a data processing system which employs virtual addressing to reference a physical memory, at least one page map to define the relationship between virtual addresses and their physical locations, and demand paging to allocate a logic address space, defining a process, between a main memory and a lower density auxiliary memory, the pages of the parent process distributed in the main memory and the auxiliary memory wherein said pages resident in the main memory comprise modified and unmodified pages, the method comprising; a. redefining the unmodified pages of the parent process resident in main memory as pages of a child process; b. modifying the page map to indicate the pages resident in main memory redefined from the parent process to the child process; and c. copying pages of the parent process not resident in main memory from the auxiliary memory to create pages for the child process in said logic address space.
Claim 3
Dependent Claim 59 words
The method of claim 1 further includes determining whether an excess of main memory capacity exists; copying the modified parent pages to create new child pages in main memory if excess capacity exists; and redefining the modified parent pages as pages of the child process after copying the modified pages to auxiliary memory if excess capacity does not exist.
Claim 4
Dependent Claim 23 words
The method of claim 2 wherein the step of determining whether excess memory capacity exists is conducted by polling a page availability counter.
Claim 5
Dependent Claim 80 words
The method of claim 1 wherein the step of copying the auxiliary memory pages of the parent process further includes determining whether an excess of main memory capacity exists; reading the parent pages into main memory and copying the parent pages to create new child pages in main memory if excess capacity exists; and copying the parent pages to child pages in auxiliary memory after reading the parent pages in from auxiliary memory if excess memory capacity does not exist
Claim 6
Dependent Claim 23 words
The method of claim 4 wherein the step of determining whether excess memory capacity exists is conducted by polling a page availability counter.
Claim 7
Dependent Claim 76 words
The method of claim 1 wherein the step of copying the auxiliary memory pages of the parent process further includes determining whether an excess of main memory capacity exists; reading the parent pages into main memory and then redefining the parent pages as child pages if excess capacity exists; and copying the parent pages to child pages in auxiliary memory after reading the parent pages in from auxiliary memory if excess memory capacity does not exist.
Claim 8
Dependent Claim 23 words
The method of claim 6 wherein the step of determining whether excess memory capacity exists is conducted by polling a page availability counter.
Claim 9
Dependent Claim 210 words
A process image copying system for copying a parent process having pages of information into a child process during a fork operation in a data processing system which employs virtual addressing to reference a physical memory, at least one page map to define the relationship between virtual addresses and their physical locations, and demand paging to allocate a logic address space, which address space defines a process (or task), distributed between a main memory and a lower density auxiliary memory, the pages of the parent process distributed in the main memory and the auxiliary memory wherein said pages resident in the main memory comprise modified and unmodified pages, the process copying system comprising; a. redefining means for redefining the unmodified pages of the parent process resident in main memory as pages of the child process; b. map modifying means for modifying the page map in response to page redefinitions by the redefining means; c. copying means for copying pages of the parent process not resident in the main memory to create pages for the child process in said logic address space; and d. central processing means connected to said redefining means, said map modifying means, and said copying means for controlling and coordinating the activities of each of said means.
Claim 10
Dependent Claim 210 words
A process image copying system for copying a parent process having pages of information into a child process during a fork operation in a data processing system which employs virtual addressing to reference a physical memory, at least one page map to define the relationship between virtual addresses and their physical locations, and demand paging to allocate a logic address space, which address space defines a process (or task), distributed between a main memory and a lower density auxiliary memory, the pages of the parent process distributed in the main memory and the auxiliary memory wherein said pages resident in the main memory comprise modified and unmodified pages, the process copying system comprising; a. redefining means for redefining the unmodified pages of the parent process resident in main memory as pages of the child process; b. map modifying means for modifying the page map in response to page redefinitions by the redefining means; c. copying means for copying pages of the parent process not resident in the main memory to create pages for the child process in said logic address space; and d. central processing means connected to said redefining means, said map modifying means, and said copying means for controlling and coordinating the activities of each of said means.
Claim 11
Dependent Claim 25 words
The system of claim 8 wherein the system further includes a memory capacity monitoring means for determining whether an excess of main memory capacity exists.
Claim 12
Dependent Claim 14 words
The system of claim 9 wherein the monitoring means is a page availability counter.

References Cited (Backward Citations)

US4104718A Cited
US4589093A Cited
US4577274A Cited
US4584639A Cited
US4758951A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1992-03-13 1992-09-12 1993-03-14 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 1996-03-13 1996-09-12 1997-03-14 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2000-03-13 2000-09-12 2001-03-14 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag