Browse Prior Art Database

Task Scheduling Method for Multi-Task System

IP.com Disclosure Number: IPCOM000015883D
Original Publication Date: 2002-Jun-01
Included in the Prior Art Database: 2003-Jun-21
Document File: 2 page(s) / 86K

Publishing Venue

IBM

Abstract

Disclosed is a system for scheduling method implemented in multi-task system such as multi-task operating system. This method is specialized to use input/output (I/O) events invoked by a system processor as a task switching trigger comparing with using timer events which is implemented in other multi-task system. This task scheduling method realizes low cost, fast switching, and easy implementation for multi-task system. A task switching triggered by I/O events is the key feature of this scheduling method. Figure 1 shows the system overview of this scheduling method. A solid square expresses a hardware device and a dotted square expresses software codes. I/O access codes, which are expressed as io_read() or io_write(), are managed by I/O control program although processing of a task 1 is performed on the main processor. It also investigates the status of I/O access control table while it registers the I/O access entry into I/O access control table. Moreover, it also performs moving control to task 2 by the same method as a function call. The I/O access control table keeps every I/O events and the results until the status is checked by the I/O control program. Since every I/O events are kept in I/O access control table, they are not lost during a change of a task. The status check timing is adjusted to the degree of I/O events because it is not efficient to check a status of I/O access control table in every I/O events. Task 1 io_read(); io_write();

This text was extracted from a PDF file.
At least one non-text object (such as an image or picture) has been suppressed.
This is the abbreviated version, containing approximately 55% of the total text.

Page 1 of 2

Task Scheduling Method for Multi-Task System

Disclosed is a system for scheduling method implemented in multi-task system such as multi-task operating system. This method is specialized to use input/output (I/O) events invoked by a system processor as a task switching trigger comparing with using timer events which is implemented in other multi-task system. This task scheduling method realizes low cost, fast switching, and easy implementation for multi-task system.

A task switching triggered by I/O events is the key feature of this scheduling method. Figure 1 shows the system overview of this scheduling method. A solid square expresses a hardware device and a dotted square expresses software codes. I/O access codes, which are expressed as io_read() or io_write(), are managed by I/O control program although processing of a task 1 is performed on the main processor. It also investigates the status of I/O access control table while it registers the I/O access entry into I/O access control table. Moreover, it also performs moving control to task 2 by the same method as a function call. The I/O access control table keeps every I/O events and the results until the status is checked by the I/O control program. Since every I/O events are kept in I/O access control table, they are not lost during a change of a task. The status check timing is adjusted to the degree of I/O events because it is not efficient to check a status of I/O access control table in every I/O events.

Task 1

io_read(); io_write();

I/O scheduling

Task 2

io_read(); io_write();

I/O Control

Program

I/O request

Status check Read result

I/O Access

registeringDevice

I/O Access

Table

Control

Status

Interrupt int_read(); int_write();

 (Switching task with registering I/O event to the tableļ¼‰

Bypass for immediate access

I/O access

to

I/O access result

peripheral

device

Main Processor

Figure 1. Task Scheduling Method triggered by I/O events

Figure 2 shows an example of the scheduling procedure and resources to help I/O control program. In this example, the task switching is performed by setjmp() and longjmp() which are the standard function defined in American National Standard for Information Systems - Programing Language C. When I/O access function (io_read() or io_write()) appears during execution of a current assigned task, I/O control program is called. I/O cont...