is called BUMP. It receives all input messages, including input from users. Simple requests which can be executed without delay and do not involve any I/O such as disk access are handled immediately. Other requests are added to a work queue and handled by one of the worker processes. The worker process is called GRIND; there can be one or more instances at any time. Each GRIND process has by default five pseudo-threads which actually carry out the work. The internal threading model for context switching selects one of the worker pseudo-threads per GRIND process and makes it the executing context. This is achieved by copying it to the top of the stack. When the worker process needs to execute I/O or other asynchronous activity, it initiates the action, marks what it is waiting for, and calls the context-switching function, which selects a different context for execution. CANDE operates without internal locks, by careful separation of data. Each possible user connection (or station) is assigned an index into a main array called the station array, or STA ("stay"). The current station index is named STAX (pronounced "stay-x"). There are multiple words of state data per station, but they are stored with all of the first words together, followed by all of the second words, etc. This allows CANDE to index into the array using only addition, not multiplication (which made for faster operation on the hard-wired CPUs of the era). CANDE was originally written in 1973 by Darrel F. High. It was taken over by Randall Gellens in 1984, at which point the library maintenance (file copying, moving, renaming, and deleting) routines were rewritten to allow for significantly expanded capabilities, a slew of utilities were added using the "?" syntax (allowing them to be used even while a program was running), and several architectural improvements were made. It was later transferred to the Santa Barbara plant, and eventually to India. The "?" syntax, originally allowing for control during program execution (when input would normally be directed to the program), grew to include a number of utilities. See also Comparison of command shells Work Flow Language External links Burroughs B5500 Quick CANDE Reference Card for B5500 TSS 1042710 circa 1970 B6700, B7700 CANDE Reference card 5001050 July 1975 at bitsavers.org B7000, B6700 CANDE Reference card 5011349 October 1979 at bitsavers.org Burroughs mainframe computers Command shells Text editors Mainframe computer software