Browse Prior Art Database

Preemptive Background Scheduling

IP.com Disclosure Number: IPCOM000119218D
Original Publication Date: 1991-Jan-01
Included in the Prior Art Database: 2005-Apr-01
Document File: 3 page(s) / 99K

Publishing Venue

IBM

Related People

Erwin Jr, PD: AUTHOR [+2]

Abstract

Disclosed is an algorithm that permits a round robin, run to completion task scheduling structure to alter task scheduling without relying on: - Dedicated microprocessors and/or control circuitry to manage critical time-driven events. - System level knowledge in individual tasks so that they give up control periodically to an operating system that, in turn, distributes control as needed. - A time slicing scheduler that periodically switches control between tasks.

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

Preemptive Background Scheduling

      Disclosed is an algorithm that permits a round robin, run
to completion task scheduling structure to alter task scheduling
without relying on:
-    Dedicated microprocessors and/or control circuitry to manage
critical time-driven events.
-    System level knowledge in individual tasks so that they give up
control periodically to an operating system that, in turn,
distributes control as needed.
-    A time slicing scheduler that periodically switches control
between tasks.

      The algorithm alters the round-robin scheduler (referred to as
the Sleep Processor) and introduces an intermediate level in
interrupt control flow to allow an interrupting event to interrupt
the execution of the interrupted task with the execution of an
Interrupt Service Routine (ISR)-specified task.

      The first level ISR resides in the Operating System. It
receives the interrupt, issues the RFI to clear the interrupt level,
and conditionally invokes Preemptive Background Scheduling (PBS).
The second level ISR resides in the "responsible" task.  It processes
the interrupt and optionally requests Preemptive Background
Scheduling.

      If the second level ISR does not request Preemptive Background
Scheduling, the two level structure functions as a normal ISR.

      If the second level ISR requests Preemptive Background
Scheduling, the PBS routine marks Task A as "Anesthetized", marks
Task B as "PBS", and sets the "PBS Requested" flag in the Sleep
Control Block.  The "PBS Requested" flag will cause the first level
ISR to clear the interrupt level with a Return from Interrupt to
itself, and sleep.  The Sleep Processor then transfers control to
Task B.

      When Task B sleeps, the Sleep Processor revives Task A by
returning to the first level ISR which in turn returns to Task A.

      Task States
The Operating System manages the flow of control by moving tasks in
and out of the following non-disjoint states.
Suspended      A task is suspended when it does not require control
from round-robin scheduling.
Ready          A task that is not suspended is Ready.
Active         One and only one task is the currently active task.
Background control resides in the active task.  Interrupt pr...