Linked Dictionaries
User dictionaries may be linked together and with the system dictionary.
When a user requests a system resource (including I/O) he is enqueued until it becomes available. Thus, the queue is used to resolve conflicts among users. Timesharing the computer is implicit in this treatment of the user. Once a user is established - and this requires only that core be available - he becomes a natural part of the system, indistinguishable from preexisting parts. User swapping may take place every time there is an interrupt or the current user enqueues and requires only that a very small amount of system information be changed.
No attempt is made to overlap or otherwise optimize I/O. A user's requests are satisfied as expedient with due regard for priority. Although this may be inefficient from the standpoint of his elapsed time, there are other uses and to expedite one is to penalize others. Every effort is made to minimize the impact of any user upon the system. For example, sorting algorithm are usually designed to minimize elapsed time. FORTH's sorting algorithm minimizes core and disk, and is free to run as long as necessary. The problem of cpu-bound verbs is solved by handling the timer interrupt in the same way as an I/O finish.