Browse Prior Art Database

BUILDING OF HIGH PERFORMANCE OPERATING SYSTEMS (OS) FOR LARGE NUMBERS OF TASKS HAVING RESTRICTED BEHAVIOR

IP.com Disclosure Number: IPCOM000009093D
Original Publication Date: 1999-Jun-01
Included in the Prior Art Database: 2002-Aug-07
Document File: 3 page(s) / 120K

Publishing Venue

Motorola

Related People

Alexander Semjonov: AUTHOR

Abstract

This proposal relates to the technology of build- ing network software from independent tasks in a multitask OS and to ways for improving the OS. In this approach, each task represents an entire layer (connection, session, etc.). The common task per- formance is improved by (i) passing data from task to task with and without copying a pointer; (ii) scheduling ready tasks according to their priority or and in a Round Robin Policy if the tasks have equal priority; and (iii) locking the task if needed resources are busy.

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 50% of the total text.

Page 1 of 3

MOTOROLA Technical Developments

BUILDING OF HIGH PERFORMANCE OPERATING SYSTEMS (OS) FOR LARGE NUMBERS OF :TASKS HAVING RESTRICTED BEHAVIOR

by Alexander Semjonov

INTRODUCTION

  This proposal relates to the technology of build- ing network software from independent tasks in a multitask OS and to ways for improving the OS. In this approach, each task represents an entire layer (connection, session, etc.). The common task per- formance is improved by (i) passing data from task to task with and without copying a pointer; (ii) scheduling ready tasks according to their priority or and in a Round Robin Policy if the tasks have equal priority; and (iii) locking the task if needed resources are busy.

PROBLEM

  The large number of tasks in network software makes a practical implementation difficult. An OS should support message passing, locking (e.g., by semaphores), task switching and scheduling mecha- nisms. Applying these mechanisms decreases the efficiency of the software running on the OS in comparison to software with equal functionality run- ning without OS. The large number of different control blocks belonging to above-mentioned mech- anisms reduces memory usage.

SOLUTION

  A single universal control block (Figure 1) is used as task, message or semaphore. Depending on the time, the OS considers the control block either as a task or as a message. The control block has an input queue (1) for accumulating other control blocks, which are required during processing. If the input queue (1) of the control block is not empty, the task belonging to the control block is ready to be executed. In such a case, the control block is placed into a scheduler queue (2), which is based on a pointer array (3). In the pointer array (3), every ele- ment points to the control block of the first ready

task and which has a priority equal to an index of the element. If the scheduler queue does not have a control block with given priority, the element in the pointer array points to the control block with the next priority. The fast element of the pointer array always points to the control block of the task ready to be executed. In case that no task is ready, all ele- ments point to a special terminal control block (STCB, 4).

  The restricted task behavior is implemented, for example, as follows: During the execution of a task, this task receives...