Browse Prior Art Database

Deterministic Priority Inversion Method for Personal Computers

IP.com Disclosure Number: IPCOM000115510D
Original Publication Date: 1995-May-01
Included in the Prior Art Database: 2005-Mar-30
Document File: 6 page(s) / 232K

Publishing Venue

IBM

Related People

Macon Jr, JF: AUTHOR [+2]

Abstract

Described is a software implementation to provide Personal Computers (PCs) with a deterministic priority inversion method. The implementation is designed to provide deterministic priority inversion for mutually exclusive system resources in a priority preemptive operating system, such as multi-tasking OS/2* functions. Run Ready Blocked Comments (L) (H) (M) The low priority is running. It executes a kernel which requires a mutually exclusive system resource. The resource is obtained. (L) (H) (M) The high and medium priority threads become ready before the low priority finishes.

This text was extracted from an ASCII text file.
This is the abbreviated version, containing approximately 19% of the total text.

Deterministic Priority Inversion Method for Personal Computers

      Described is a software implementation to provide Personal
Computers (PCs) with a deterministic priority inversion method.  The
implementation is designed to provide deterministic priority
inversion for mutually exclusive system resources in a priority
preemptive operating system, such as multi-tasking OS/2* functions.
  Run       Ready     Blocked   Comments
  (L)       (H)       (M)       The low priority is running.  It
                                 executes a kernel which requires a
                                 mutually exclusive system resource.
                                 The resource is obtained.
  (L)       (H)       (M)       The high and medium priority threads
                                 become ready before the low priority
                                 finishes.
  (H)       (M)       (L)       The low priority thread is preempted
                                 by the high priority thread.  The
low
                                 priority thread owns the mutually
                                 exclusive system resource.  The high
                                 priority thread makes a kernel call
                                 which requires the same mutually
                                 exclusive system resource.
  (M)       (L)       (H)       The high priority thread becomes
                                 blocked waiting on the resource
owned
                                 by the low priority thread.  The
                                 compute bound medium priority thread
                                 runs indefinitely.  Therefore, a
                                 deadlock has occurred.
  Legend :
    (L) Low priority thread
    (M) Medium priority thread
    (H) High priority thread

      The intent of the implementation is to reduce, or eliminate,
the processing time required to resolve priority inversions of
mutually exclusive system resources.  The method gives special state
chain handling and temporary priority adjustments for vital mutually
exclusive system resources and insures that there is minimal overhead
processing when resolving mutually exclusive system resources.  Vital
system resources can then be quickly reused, instead of waiting in a
state chain for an indeterminate period of time. ...