Hardware manual
3.13. Junta
This section describes some procedures and conventions that can be used to permit exceptionally large
programs to run on the Alto, and yet to return cleanly to the operating system. The basic idea is to let a
program deactivate various operating system facilities, and thereby recover the memory devoted to the
code and data used to implement the facilities. To this end, the system has been organized in a series of
"levels:"
levBasic Basic resident, including parity interrupt processing, time-of-day
maintenance, the resident interface to the Swat debugger, and
the initial processing for OsFinish. Important system state is
saved here: EventVector, UserName, UserPassword,
OsFinishCode. (Approximate size: 1000 words. This portion of
the operating system is guaranteed not to extend below address
175000B.)
levBuffer The system keyboard buffer (see section 4.6). (Approximate size:
100 words)
levFilePointers File hints. This region contains "file pointers" for frequently
referenced files. (Approximate size: 70 words)
levBcpl Bcpl runtime routines. (Approximate size: 300 words)
levStatics Storage for most of the system statics. (Approximate size: 300
words)
levBFSbase Basic file system "base" functions, miscellaneous routines.
(Approximate size: 1500 words)
levBFSwrite Basic file system "write" functions, the disk descriptor (used to
mark those pages on the disk which are already allocated),
interface to the time-of-day clock. (Approximate size: 1850
words)
levAlloc The Alloc storage allocation package. (Approximate size: 660
words)
levStreams Disk stream procedures. (Approximate size: 2400 words)
levScan Disk stream extension for overlapping disk transfers with
computation. (Approximate size: 400 words)
levDirectory Directory management procedures. (Approximate size: 1400
words)
levKeyboard Standard keyboard handler. (Approximate size: 500 words)
levDisplay Display driver (although the storage for the display bitmap and
for the system font lie below). (Approximate size: 1600 words)
levMain The "Main" operating system code, including utilities,
CallSubsys, and the Junta procedure. (Approximate size: 1000
words)
----- Below levMain, where the stack starts, the system free-storage
pool is located. Here are kept stream data structures, the system
font, and the system display bitmap. (Approximate size: 6000
words)
Alto Operating System May 5, 1980 18
For Xerox Internal Use Only -- December 15, 1980










