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

Avoidance of deadlocks in a demand paged video adapter

Assignee: Microsoft Technology Licensing LLC
•
Filing: 1992-11-02
•
Granted: 1997-01-07
•
Expires: 2012-11-02
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract Deadlocks are avoided in an operating system that provides a demand paged memory. A process is granted access to only one page frame in the memory. As the memory is demand paged, a potential for a deadlock arises. The deadlocks may be avoided by determining whether a page currently in the page frame has been accessed. If the page in the page frame has not yet been accessed, a deadlock is imminent.

Inventors

  • 👤 Richard A. Pletcher

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-06 16:16
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/46; G06F9/52; G06F9/524; G06F9/30; G06F9/30003; G06F9/30007; G06F9/30032; G06F9/38; G06F9/3861

Claims Analysis

Total Claims: 39
Claim 1
Independent Claim 162 words
In a data processing system including a processor and a memory having a plurality of pages and a plurality of page frames, each page and page frame for holding a page of information wherein the processor executes an instruction requiring a piece of information from a first page of the memory and a second page of the memory in order to complete the instruction, the location of the first page of the memory being different from the second page of the memory, and during the execution of the instruction the processor has access to only one page frame in the memory, a method comprising the steps of: a) storing the page of information from the first page of the memory in the page frame; b) determining whether the page of information stored in the page frame has been accessed; and c) where the page of information stored in the page frame has yet to be accessed, detecting that a deadlock is imminent.
Claim 2
Dependent Claim 162 words
In a data processing system including a processor and a memory having a plurality of pages and a plurality of page frames, each page and page frame for holding a page of information wherein the processor executes an instruction requiring a piece of information from a first page of the memory and a second page of the memory in order to complete the instruction, the location of the first page of the memory being different from the second page of the memory, and during the execution of the instruction the processor has access to only one page frame in the memory, a method comprising the steps of: a) storing the page of information from the first page of the memory in the page frame; b) determining whether the page of information stored in the page frame has been accessed; and c) where the page of information stored in the page frame has yet to be accessed, detecting that a deadlock is imminent.
Claim 3
Dependent Claim 59 words
A method as recited in claim 1, further comprising the step of storing in the memory an indication of whether the page of information stored in the page frame has been accessed, and the step of determining whether the page of information stored in the page frame has been accessed, further comprising the step of examining the stored indication.
Claim 4
Dependent Claim 61 words
A method as recited in claim 1, further comprising the step of storing an entry in a table for the first page that specifies whether the page of information from the first page has been accessed and storing an entry in the table for the second page that specifies whether the page of information from the second page has been accessed.
Claim 5
Dependent Claim 14 words
A method as recited in claim 3 wherein the table is a page table.
Claim 6
Dependent Claim 29 words
A method as recited in claim 1 wherein the instruction is an instruction for moving the piece of information to a location in the second page of the memory.
Claim 7
Dependent Claim 16 words
A method as recited in claim 1 wherein the page frame is in a video memory.
Claim 8
Dependent Claim 37 words
A method as recited in claim 1, further comprising the steps of detecting the absence of a deadlock, where the page of information stored in the page frame has been accessed, and completing execution of the instruction.
Claim 9
Dependent Claim 19 words
A method as recited in claim 1, further comprising the step of taking preventive measures to avoid the deadlock.
Claim 10
Dependent Claim 34 words
A method as recited in claim 8 wherein the step of taking preventive measures to avoid the deadlock further comprises the step of granting the processor access to at least one additional page frame.
Claim 11
Dependent Claim 171 words
In a data processing system having a memory including a video memory comprised of at least one page frame and a processor executing a process that has access to only one page frame of the video memory, said process requiring access to a page of information from a first page of the memory and a page of information from a second page of the memory, a method, comprising the steps of: a) mapping the page of information from the first page into the page frame to gain access to the page of information from the first page; b) determining whether the page of information mapped into the page frame has been accessed; c) where the page of information mapped into the page frame has been accessed, mapping the page of information from the second page into the page frame; and d) where the page of information from the first page mapped into the page frame has yet to be accessed, detecting a potential deadlock and taking measures to avoid the deadlock.
Claim 12
Dependent Claim 171 words
In a data processing system having a memory including a video memory comprised of at least one page frame and a processor executing a process that has access to only one page frame of the video memory, said process requiring access to a page of information from a first page of the memory and a page of information from a second page of the memory, a method, comprising the steps of: a) mapping the page of information from the first page into the page frame to gain access to the page of information from the first page; b) determining whether the page of information mapped into the page frame has been accessed; c) where the page of information mapped into the page frame has been accessed, mapping the page of information from the second page into the page frame; and d) where the page of information from the first page mapped into the page frame has yet to be accessed, detecting a potential deadlock and taking measures to avoid the deadlock.
Claim 13
Dependent Claim 33 words
A method as recited in claim 10, further comprising the step of storing an indication regarding whether the page of information from the first page mapped into the page frame has been accessed.
Claim 14
Dependent Claim 16 words
A method as recited in claim 11 wherein the indication is stored in a page table.
Claim 15
Dependent Claim 56 words
A method as recited in claim 11 wherein the step of determining whether the page of information from the first page mapped into the page frame has been accessed, further comprises the step of examining the stored indication regarding whether the page of information from the first page mapped into the page frame has been accessed.
Claim 16
Dependent Claim 33 words
A method as recited in claim 10 wherein the step of taking measures to avoid the deadlock, further comprises the step of granting the process access to at least one additional page frame.
Claim 17
Dependent Claim 179 words
In a data processing system having a memory including a video memory, and having a processor concurrently running a first process and a second process, the memory having a plurality of pages and the video memory having a plurality of page frames, each page and page frame for holding a page of information, a method comprising the steps of: a) granting the first process access to several page frames of the video memory; b) granting the second process access to a single page frame of the video memory; c) when executing an operation for the second process wherein the operation requires access to at least two different page frames of the video memory, i) transferring a page of information from a first page of the memory into the single page frame; ii) determining whether the first page of information in the single page frame has been accessed; and iii) where the first page of information in the single page frame has yet to be accessed, detecting that a deadlock is imminent; and d) taking steps to avoid the deadlock.
Claim 18
Dependent Claim 179 words
In a data processing system having a memory including a video memory, and having a processor concurrently running a first process and a second process, the memory having a plurality of pages and the video memory having a plurality of page frames, each page and page frame for holding a page of information, a method comprising the steps of: a) granting the first process access to several page frames of the video memory; b) granting the second process access to a single page frame of the video memory; c) when executing an operation for the second process wherein the operation requires access to at least two different page frames of the video memory, i) transferring a page of information from a first page of the memory into the single page frame; ii) determining whether the first page of information in the single page frame has been accessed; and iii) where the first page of information in the single page frame has yet to be accessed, detecting that a deadlock is imminent; and d) taking steps to avoid the deadlock.
Claim 19
Dependent Claim 64 words
A method as recited in claim 15 wherein the step of detecting that the deadlock is imminent further comprises the step of determining whether the first page of information in the single page frame has been accessed, when the first page of information from the first page is in the single page frame and the page of information from the second page is demanded.
Claim 20
Dependent Claim 64 words
A method as recited in claim 15 wherein the step of taking steps to avoid the deadlock, further comprises the steps of granting the second process access to at least one additional page frame among the several page frames and denying the first process access to the at least one additional page frame among the several page frames previously granted to the first process.
Claim 21
Dependent Claim 50 words
A method as recited in claim 17 wherein the at least one additional page frame comprises all of the several page frames granted to the first process, and the at least one additional page frame and the single page frame comprise all of the page frames in the video memory.
Claim 22
Dependent Claim 173 words
In a computer system including a processor and a memory containing a plurality of pages and a plurality of page frames with each page and page frame holding a page of information, a method of detecting a deadlock comprising the steps of: executing an instruction requiring access to a piece of information from a first page of the memory and a piece of information from a second page of the memory, the location of the first page of the memory being different from the second page of the memory, wherein during the execution of the instruction the processor has access to only one page frame in the memory; retrieving the page of information from the first page of the memory into the only one page frame accessible by the processor; determining whether the page of information retrieved into the only one page frame has been accessed by the processor; and where the page of information retrieved into the only one page frame has yet to be accessed, detecting that a deadlock is imminent.
Claim 23
Dependent Claim 173 words
In a computer system including a processor and a memory containing a plurality of pages and a plurality of page frames with each page and page frame holding a page of information, a method of detecting a deadlock comprising the steps of: executing an instruction requiring access to a piece of information from a first page of the memory and a piece of information from a second page of the memory, the location of the first page of the memory being different from the second page of the memory, wherein during the execution of the instruction the processor has access to only one page frame in the memory; retrieving the page of information from the first page of the memory into the only one page frame accessible by the processor; determining whether the page of information retrieved into the only one page frame has been accessed by the processor; and where the page of information retrieved into the only one page frame has yet to be accessed, detecting that a deadlock is imminent.
Claim 24
Dependent Claim 76 words
A method as recited in claim 19 wherein the computer system includes a page table having an entry for storing an indication of whether the page of information retrieved into the only one page frame has been accessed by the processor, and the step of determining whether the page of information retrieved into the only one page frame has been accessed includes the step of examining the stored indication in the entry of the page table.
Claim 25
Dependent Claim 233 words
In a computer system having a processor and a memory containing a plurality of pages and a plurality of page frames with each page and page frame holding a page of information, the processor concurrently running a first process and a second process, a method of avoiding a deadlock comprising the steps of: granting the first process access to several page frames of the memory; granting the second process access to a single page frame of the memory other than the several page frames granted to the first process; and when executing the second process, executing an instruction requiring access to a piece of information from a first page of the memory and a piece of information from a second page of the memory, the location of the first page of the memory being different from the second page of the memory; retrieving the page of information from the first page of the memory into the single page frame granted to the second process; determining whether the page of information retrieved into the single page frame has been accessed by the processor; where the page of information retrieved into the single page frame has yet to be accessed, detecting that a deadlock is imminent; and to avoid the imminent deadlock, granting the second process access to at least one additional page frame other than the single page frame granted to the second process.
Claim 26
Dependent Claim 233 words
In a computer system having a processor and a memory containing a plurality of pages and a plurality of page frames with each page and page frame holding a page of information, the processor concurrently running a first process and a second process, a method of avoiding a deadlock comprising the steps of: granting the first process access to several page frames of the memory; granting the second process access to a single page frame of the memory other than the several page frames granted to the first process; and when executing the second process, executing an instruction requiring access to a piece of information from a first page of the memory and a piece of information from a second page of the memory, the location of the first page of the memory being different from the second page of the memory; retrieving the page of information from the first page of the memory into the single page frame granted to the second process; determining whether the page of information retrieved into the single page frame has been accessed by the processor; where the page of information retrieved into the single page frame has yet to be accessed, detecting that a deadlock is imminent; and to avoid the imminent deadlock, granting the second process access to at least one additional page frame other than the single page frame granted to the second process.
Claim 27
Dependent Claim 179 words
A computer readable storage medium for use in a data processing system including a processor and a memory having a plurality of pages and a plurality of page frames, each page and page frame for holding a page of information wherein the processor executes an instruction requiring a piece of information from a first page of the memory and a second page of the memory in order to complete the instruction, the location of the first page of the memory being different from the second page of the memory, and during the execution of the instruction the processor has access to a single page frame in the memory, the content of the computer readable storage medium causing the processor to perform the steps of: a) storing the page of information from the first page of the memory in the page frame; b) determining whether the page of information stored in the page frame has been accessed; and c) where the page of information stored in the page frame has yet to be accessed, detecting that a deadlock is imminent.
Claim 28
Dependent Claim 179 words
A computer readable storage medium for use in a data processing system including a processor and a memory having a plurality of pages and a plurality of page frames, each page and page frame for holding a page of information wherein the processor executes an instruction requiring a piece of information from a first page of the memory and a second page of the memory in order to complete the instruction, the location of the first page of the memory being different from the second page of the memory, and during the execution of the instruction the processor has access to a single page frame in the memory, the content of the computer readable storage medium causing the processor to perform the steps of: a) storing the page of information from the first page of the memory in the page frame; b) determining whether the page of information stored in the page frame has been accessed; and c) where the page of information stored in the page frame has yet to be accessed, detecting that a deadlock is imminent.
Claim 29
Dependent Claim 77 words
The computer readable storage medium according to claim 22, the content of the computer readable storage medium causing the processor to further perform the steps of: storing an entry in a page table for the first page that specifies whether the page of information from the first page has been accessed; and storing an entry in the page table for the second page that specifies whether the page of information from the second page has been accessed.
Claim 30
Dependent Claim 51 words
The computer readable storage medium according to claim 22, the content of the computer readable storage medium causing the processor to further perform the steps of: detecting the absence of a deadlock, where the page of information stored in the page frame has been accessed; and completing execution of the instruction.
Claim 31
Dependent Claim 43 words
The computer readable storage medium according to claim 22, the content of the computer readable storage medium causing the processor to further perform the step of granting the processor access to at least one additional page frame when the imminent deadlock is detected.
Claim 32
Dependent Claim 189 words
A computer readable storage medium for use in a data processing system having a memory including a video memory, and having a processor concurrently running a first process and a second process, the memory having a plurality of pages and the video memory having a plurality of page frames, each page and page frame for holding a page of information, the content of the computer readable storage medium causing the processor to perform the steps of: granting the first process access to several page frames of the video memory; granting the second process access to a single page frame of the video memory; when executing an operation for the second process wherein the operation requires access to at least two different page frames of the video memory, transferring a page of information from a first page of the memory into the single page frame; determining whether the first page of information in the single page frame has been accessed; and where the first page of information in the single page frame has yet to be accessed, detecting that a deadlock is imminent; and taking steps to avoid the deadlock.
Claim 33
Dependent Claim 189 words
A computer readable storage medium for use in a data processing system having a memory including a video memory, and having a processor concurrently running a first process and a second process, the memory having a plurality of pages and the video memory having a plurality of page frames, each page and page frame for holding a page of information, the content of the computer readable storage medium causing the processor to perform the steps of: granting the first process access to several page frames of the video memory; granting the second process access to a single page frame of the video memory; when executing an operation for the second process wherein the operation requires access to at least two different page frames of the video memory, transferring a page of information from a first page of the memory into the single page frame; determining whether the first page of information in the single page frame has been accessed; and where the first page of information in the single page frame has yet to be accessed, detecting that a deadlock is imminent; and taking steps to avoid the deadlock.
Claim 34
Dependent Claim 66 words
The computer readable storage medium according to claim 26 wherein the step of detecting that the deadlock is imminent further comprises the step of determining whether the first page of information in the single page frame has been accessed, when the first page of information from the first page is in the single page frame and the page of information from the second page is demanded.
Claim 35
Dependent Claim 66 words
The computer readable storage medium according to claim 26 wherein the step of taking steps to avoid the deadlock further comprises the steps of: granting the second process access to at least one additional page frame among the several page frames; and denying the first process access to the at least one additional page frame among the several page frames previously granted to the first process.
Claim 36
Dependent Claim 52 words
The computer readable storage medium according to claim 28 wherein the at least one additional page frame comprises all of the several page frames granted to the first process, and the at least one additional page frame and the single page frame comprise all of the page frames in the video memory.
Claim 37
Dependent Claim 184 words
A computer readable storage medium for use in a data processing system having a memory including a video memory comprised of at least one page frame and a processor executing a process that has access to only one page frame of the video memory, the process requiring access to a page of information from a first page of the memory and a page of information from a second page of the memory, the content of the computer readable storage medium causing the processor to perform the steps of: mapping the page of information from the first page into the page frame to gain access to the page of information from the first page; determining whether the page of information mapped into the page frame has been accessed; where the page of information mapped into the page frame has been accessed, mapping the page of information from the second page into the page frame; and where the page of information from the first page mapped into the page frame has yet to be accessed, detecting a potential deadlock and taking measures to avoid the deadlock.
Claim 38
Dependent Claim 184 words
A computer readable storage medium for use in a data processing system having a memory including a video memory comprised of at least one page frame and a processor executing a process that has access to only one page frame of the video memory, the process requiring access to a page of information from a first page of the memory and a page of information from a second page of the memory, the content of the computer readable storage medium causing the processor to perform the steps of: mapping the page of information from the first page into the page frame to gain access to the page of information from the first page; determining whether the page of information mapped into the page frame has been accessed; where the page of information mapped into the page frame has been accessed, mapping the page of information from the second page into the page frame; and where the page of information from the first page mapped into the page frame has yet to be accessed, detecting a potential deadlock and taking measures to avoid the deadlock.
Claim 39
Dependent Claim 35 words
The computer readable storage medium according to claim 30 wherein the step of taking measures to avoid the deadlock, further comprises the step of granting the process access to at least one additional page frame.

References Cited (Backward Citations)

US4422145A Cited
US4494193A Cited
US5016167A Cited
US5113180A Cited
US5006980A Cited
US5133074A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2000-01-07 2000-07-08 2001-01-07 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2004-01-07 2004-07-08 2005-01-07 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2008-01-07 2008-07-08 2009-01-07 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag