Newsgroups: comp.robotics
Path: brunix!cat.cis.Brown.EDU!agate!library.ucla.edu!europa.eng.gtefsd.com!MathWorks.Com!yeshua.marcam.com!charnel.ecst.csuchico.edu!csusac!csus.edu!netcom.com!imagecft
From: imagecft@netcom.com (Richard Man)
Subject: multitasking lib for ICC11
Message-ID: <imagecftCv33yr.7un@netcom.com>
Organization: NETCOM On-line Communication Services (408 261-4700 guest)
X-Newsreader: TIN [version 1.2 PL1]
Date: Thu, 25 Aug 1994 09:35:14 GMT
Lines: 33

Simple Multitasking Kernel for ICC11
====================================

libtask.a is a simple multitasking library for use with the icc11 HC11 
compiler. It uses about 600 bytes of code space, less if you don't use
some of its functions. It does use the standard function calloc() so 
the memory allocation routines will take up additional space as well.
Storage allocation is dynamic so you may allocate as many tasks, each
with its own stack as your system's memory allow. Tasks are created
dynamically from any C (or assembly) functions. Due to the dynamic
memory usage, this package probably does not work well under a single
chip mode HC11 system (e.g., a miniboard).

These routines are similar to the multitasking routines provided by the 
Interactive C from MIT. Communication between tasks are done using
global variables only. 

The package can be ftp from ftp.netcom.com:pub/imagecft/icc11/task/*.

The routines are:

int create_process(void (*func)(), int arg, int ticks, int stack_size);
void defer(void);
void hog_processor(void);
int kill_process(int pid);
void start_scheduler(void);
void system_interrupt(void);
// richard imagecft@netcom.com
-- 
/(o\    Richard F. Man, imagecft@netcom.com
\o)/    Write for info on low-cost C Compiler for HC11 and behavior-based
        real-time executive
"Small Rovers, Big Dreams"
