Browse Prior Art Database

Conventional Locking

IP.com Disclosure Number: IPCOM000099215D
Original Publication Date: 1990-Jan-01
Included in the Prior Art Database: 2005-Mar-14
Document File: 2 page(s) / 80K

Publishing Venue

IBM

Related People

Chang, A: AUTHOR [+5]

Abstract

Disclosed is a conventional lock for a preemptable system. The conventional lock is implemented by the and unlockl services.

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

Conventional Locking

       Disclosed is a conventional lock for a preemptable system.
The conventional lock is implemented by the and unlockl services.

      Traditional UNIX systems have a non-preemptable kernel. means
that system calls can be coded without having to about being
preempted by another process except when explicitly sleep.  The
disadvantage of this is that it dispatch latency and decreases
concurrency.

      In a preemptable UNIX kernel the lockl and unlockl serialize
access to shared data.  These services especially designed to have
the following  No control blocks need to be allocated by kernel when
a lock is created.  The lock structure for deadlock detection.  The
owner of a lock executes the priority of the most favored waiter.
The lock call be terminated by a signal.  The lock service has a
option.

      The lock services require that the caller provide a word of
storage.  Typically, the caller will include word in the data
structure that represents the object the lock controls access to.
For example, the file has a lock control word in each open file table
 This eliminates the requirement for a create lock destroy lock call.
 It also allows the lockl and unlockl to execute faster since they do
not have to convert identifier into an address.

      The lock word contains the process identifier of the of the
lock or LOCK_AVAIL, if it is not owned.  The of all processes waiting
on a lock owned by this is anchored in the owner's process table
entry and together all of the waiting processes' process table
Putting the owner's process identifier in the lock allows for easy
determination of the owner of the lock. allows for a fast test for
nested locks.  Having a list all processes that are waiting on any
lock owned by this provides the means for crea...