Browse Prior Art Database

Posting and Waiting for Multiple Events on a Microprocessor using a Control Program

IP.com Disclosure Number: IPCOM000108076D
Original Publication Date: 1992-Apr-01
Included in the Prior Art Database: 2005-Mar-22
Document File: 2 page(s) / 92K

Publishing Venue

IBM

Related People

Crunden, GR: AUTHOR [+3]

Abstract

Multi-tasking environments require the ability to suspend tasks to wait on an event. Some control programs such as PDOS (a control program for the 32-bit Motorola 68000 processor family) support waiting on only two events, restricting a programmer in his definition of more activities. Proposed is a software implementation which extends that capability to 16 or more events, depending on implementation. A field in the suspended task's parameter area indicates the number of events implemented.

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

Posting and Waiting for Multiple Events on a Microprocessor using a Control Program

       Multi-tasking environments require the ability to suspend
tasks to wait on an event.  Some control programs such as PDOS (a
control program for the 32-bit Motorola 68000 processor family)
support waiting on only two events, restricting a programmer in his
definition of more activities.  Proposed is a software implementation
which extends that capability to 16 or more events, depending on
implementation.  A field in the suspended task's parameter area
indicates the number of events implemented.

      Events are identified by a four-character name.  A given event
can be posted before a corresponding wait or it can be waited upon
before the corresponding post.  Either way, events are maintained in
the Event List Table (Table 1).  This table contains an entry for
each event.  An entry contains the event name, the address of the
parameter associated with the event, an event indicator and the task
number.  The parameter address points to one of two areas. If a Post
occurs first, it is the address of the parameters to be passed to the
waiting task.  If a Wait occurs first, it is the address of the
waiting task's parameter area. When a task waits on multiple events,
a different bit in each entry's event indicator is set to identify
that event. The task number is used as an index into the Logical
Event Table (Table 2).

      The Logical Event Table contains an entry for each task.  Each
entry contains an event task and a PDOS physical event bit.  The
event mask is used when a task's events have been satisfied by one or
more posted events.  This field indicates which events have been
posted and is transferred to the waiting task via its parameter area.
The PDOS physical event bit is identified to PDOS as a physical
event.  It is this bit that is altered when corresponding posts and
waits are identified.  PDOS monitors the bit to determine which task
to schedule for activation.

  ...