Browse Prior Art Database

Portable Real Time Scheduler

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

Publishing Venue

IBM

Related People

Perkins, CG: AUTHOR

Abstract

The portable real-time scheduler provides scheduling capabilities to programs executing on an operating system through the IEEE 1003.1 standard system calls of open, close, and ioctl. The interface is enhanced by packaging the system calls in procedures with functionally descriptive names such as "wait_for_schedule". These procedures can be installed in C language shared libraries or Ada language procedures which provide the Ada to C binding to the standard system call.

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

Portable Real Time Scheduler

       The portable real-time scheduler provides scheduling
capabilities to programs executing on an operating system through the
IEEE 1003.1 standard system calls of open, close, and ioctl.  The
interface is enhanced by packaging the system calls in procedures
with functionally descriptive names such as "wait_for_schedule".
These procedures can be installed in C language shared libraries or
Ada language procedures which provide the Ada to C binding to the
standard system call.

      The capabilities provided allow a process to schedule its own
execution rate or the execution rate of other processes.  If the
process requires inputs to be read prior to its execution, the input
transaction is scheduled at that rate and the process execution is
linked to the completion of the input transaction.  The scheduler
assigns the priority of each process and associated input and outputs
based on the required rate of execution in accordance with rate
monotonic scheduling algorithms.

      Certain processes require a cyclic output write of derived data
based on the input read and must also meet a defined transport lag
requirement.  The scheduler uses a unique method of scheduling a bus
reservation for such output transactions pending the actual release
of the output from the application.  The output reservation and
output transaction are given the same priority as the application
itself.  The scheduler also provides the capability to issue on
demand inputs and outputs.  The scheduler supports de-scheduling of a
single process and a shutdown of all processes.

      The functions of a portable real-time scheduler consist of the
following: o    OPEN interface

      This module is used to satisfy IEEE 1003.1 interface
requirements for communication with special devices via the OPEN
system call. Initialization is done on the first open call. o
CLOSE interface

      This module is used to satisfy IEEE 1003.1 interface
requirements for communication with special devices via the CLOSE
system call.  Termination and release of allocated resources are
performed. o    IOCTL interface

      This module is used to satisfy IEEE 1003.1 interface
requirements for communication with special devices via the IOCTL
system call.  This interface supports a command interface and data
transfer between the application and the device driver.
      The IOCTL procedure supports the following operations:
      - Schedule: This code accepts arguments from the application to
define its rate of execution, required inputs, and required output.
It uses the process id (an IEEE 1003.1 supported feature) as the
identifier of the process that will be scheduled with these
attributes.  This allows a single process to schedule several
processes by their unique process ids.

      - De-schedule: Remove the process from scheduling operations.

      - Initialize: Initialize schedule tables and hardware...