Browse Prior Art Database

Fig-Forth Multiprogramming

IP.com Disclosure Number: IPCOM000061617D
Original Publication Date: 1986-Aug-01
Included in the Prior Art Database: 2005-Mar-09
Document File: 1 page(s) / 13K

Publishing Venue

IBM

Related People

Reynolds, DC: AUTHOR [+2]

Abstract

This article describes a set of FORTH program modules (screens) providing a multiprogramming environment for fig-FORTH programs. Multiprogramming is a technique for using a single system to handle more than one program, seemingly simultaneously by interleaving their execution, permitting control by each program in turn for predetermined short intervals of time. When several users' programs are involved, it is usually referred to as time sharing. The screens set forth below were implemented on an IBM Personal Computer (PC), but they can be used on any target hardware. The number of independent programs or modules that can be handled is limited only by memory size. Switching from one program (or module) to another is very rapid, taking only 20 microseconds in the IBM PC for a task switch.

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 54% of the total text.

Page 1 of 1

Fig-Forth Multiprogramming

This article describes a set of FORTH program modules (screens) providing a multiprogramming environment for fig-FORTH programs. Multiprogramming is a technique for using a single system to handle more than one program, seemingly simultaneously by interleaving their execution, permitting control by each program in turn for predetermined short intervals of time. When several users' programs are involved, it is usually referred to as time sharing. The screens set forth below were implemented on an IBM Personal Computer (PC), but they can be used on any target hardware. The number of independent programs or modules that can be handled is limited only by memory size. Switching from one program (or module) to another is very rapid, taking only 20 microseconds in the IBM PC for a task switch. A background task in FORTH is created using the word TASK, which sets up a task control block containing the state of the task (AWAKE = /, ASLEEP = 1), the current parameter stack pointer (SP), current return stack pointer (RP), the top of parameter stack (Sø), top of return stack (Rø), and instruction pointer IP). A dictionary pointer (DP) is also stored if the user needs a separate area to format numbers for output to terminals. A task is created by typing 500 200 TASKNAME where 500 is the size of the parameter stack and 200 is the size of the return stack. Larger or smaller stack sizes may be designated depending on the amount of work the task must pe...