This MedLibrary.org supplementary page on CANDE is provided directly from the open source Wikipedia as a service to our readers. Please see the note below on authorship of this content, as well as the Wikipedia usage guidelines. To search for other content from our encyclopedia supplement, please use the form below:
Related Sponsors
| This article needs additional citations for verification. Please help improve this article by adding reliable references. Unsourced material may be challenged and removed. (July 2008) |
- This article refers the mainframe text editor. For the IEEE technical society, see Computer-Aided Design Technical Committee.
CANDE (Command AND Edit) is a command line shell and text editor on the MCP (Master Control Program) operating system which runs on the Unisys Clearpath series of mainframes. Originally implemented on Burroughs large systems, it was first deployed in the mid-1960s. It has a range of features for changing the OS environment, programming and the like.
Its full name is CANDE MCS. MCS, or Message Control Subsystem is the general form of a systems program in the Burroughs architecture (other than MCP the control program). As an MCS CANDE is more than just an editor as it provides overall control for a network of users.
The editing capabilities of CANDE are anachronistic for casual (as opposed to scripted) editing as they predate full screen and graphical editors.
Contents |
Features
CANDE provides a command line interpreter and line editor. Other notable features and functions include:
- Create, edit, and maintain (copy, remove, print) data and program files
- Compile and execute programs
- Access and display information about the data communication network including lines and remote devices
- Dynamically alter the communication network
- Access and display job and task information
In addition to these features CANDE has an on-line help facility.
Implementation
For extra speed, CANDE implemented user context switching by swapping a block at the top of the stack. This novel method broke several assumptions built into the design of Burroughs large systems, in particular the handling of virtual memory descriptors, and meant that CANDE itself had to be written in DCALGOL with system-level privileges.
Architecturally, CANDE is split into two main sections: a primary, single-instanced main process, and one or more worker stacks. The main process 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 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 called STAX (or "stay-x"). There are multiple words of 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. For example, the "?CALC" command allowed both general calculator and a number of programming debugging functionality. "Using ?CALC," a programmer could execute many system intrinsics and see the results in a variety of formats (such as decimal, hex, EBCDIC).
See also
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
Wikipedia content modification information:
- This page was last modified on 14 October 2008, at 17:15.
Wikipedia Authorship and Review
Wikipedia content provided here is not reviewed directly by MedLibrary.org. Wikipedia content is authored by an open community of volunteers and is not produced by or in any way affiliated with MedLibrary.org.
Wikipedia Usage Guidelines
This article is licensed under the GNU Free Documentation License. It uses material from the Wikipedia article on "CANDE".
The URL for this specific entry is:
All Wikipedia text is available under the terms of the GNU Free Documentation License. (See Copyrights for details). Wikipedia® is a registered trademark of the Wikimedia Foundation, Inc.
