Browse Prior Art Database

Real-Time Operating System for Digital Processors

IP.com Disclosure Number: IPCOM000105713D
Original Publication Date: 1993-Sep-01
Included in the Prior Art Database: 2005-Mar-20
Document File: 4 page(s) / 125K

Publishing Venue

IBM

Related People

Medan, Y: AUTHOR [+2]

Abstract

Disclosed is an outline of the novel concepts of a Real-Time Operating System (RTOS) for digital signal processors that provides an efficient multitasking hard real-time environment for concurrent execution of multiple programmable signal processing tasks. Tasks can be dynamically reconfigured without stopping, reducing scheduling overhead for a minor processing overhead.

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

Real-Time Operating System for Digital Processors

      Disclosed is an outline of the novel concepts of a Real-Time
Operating System (RTOS) for digital signal processors that provides
an efficient multitasking hard real-time environment for concurrent
execution of multiple programmable signal processing tasks.  Tasks
can be dynamically reconfigured without stopping, reducing scheduling
overhead for a minor processing overhead.

      Digital Signal Processors (DSPs) are characterized by a
specialized computer architecture, aimed at applications which
involve real-time processing of data and sampled analog signals.  To
allow efficient implementation and maximum throughput, the DSP
architecture supports concurrent execution of ALU, Multiplier and I/O
functions concurrently.  Typical applications include data
transmission (modems), filtering, spectrum analysis,
compression/decompression, encryption, pattern matching and
recognition.  Because DSP is programmable it allows modification of
existing applications and development of new ones, using software on
existing DSP based hardware.

      Most DSPs are used to run a single application kernel at a
time.  Only recently have DSP OS kernels that allow execution of
several applications concurrently become commercially available [1].
With the advent of such OS kernels, the DSP can be utilized more
efficiently, allowing more complex applications to be developed.
Software development can be decomposed into smaller modules, allowing
modular software development methodologies with improved productivity
and quality.  The major problem encountered with conventional
real-time OS kernels is associated with their processing overhead
that grows almost linearly with the number of active tasks that are
present in the system and need to be scheduled for execution which
limit their scope and usability to a small number of active
tasks/applications.  Another limitation is that once a DSP function
is created and loaded (a function may be comprised of multiple DSP
tasks), it is not possible to dynamically load another function
without halting the normal execution of the DSP, even if the DSP
resources are available to run both functions concurrently.

      RTOS was designed to cope with the problem of scheduling many
tasks concurrently with a minor processing overhead.  This was
accomplished by employing a novel hierarchical, tree-like, task
linking structure.  In this manner, RTOS scheduling kernel needs to
handle directly only the few tasks at the root of the tasks tree
rather than the full number of tasks as is the case with conventional
OS.  The tasks that reside in the branches and leaves of the tree are
scheduled automatically whenever their parent task is scheduled for
execution.  Thus, the overhead processing load grows much more
moderately, depending on the span of the tree.  The tree is
organized in a descending order of execution frequency.  Therefore,
RTOS needs to handle di...