CANDE
   HOME

TheInfoList



OR:

CANDE (Command AND Edit) is a
command line A command-line interface (CLI) is a means of interacting with software via command (computing), commands each formatted as a line of text. Command-line interfaces emerged in the mid-1960s, on computer terminals, as an interactive and more user ...
shell Shell may refer to: Architecture and design * Shell (structure), a thin structure ** Concrete shell, a thin shell of concrete, usually with no interior columns or exterior buttresses Science Biology * Seashell, a hard outer layer of a marine ani ...
and
text editor A text editor is a type of computer program that edits plain text. An example of such program is "notepad" software (e.g. Windows Notepad). Text editors are provided with operating systems and software development packages, and can be used to c ...
on the MCP (Master Control Program)
operating system An operating system (OS) is system software that manages computer hardware and software resources, and provides common daemon (computing), services for computer programs. Time-sharing operating systems scheduler (computing), schedule tasks for ...
which runs on the
Unisys Unisys Corporation is a global technology solutions company founded in 1986 and headquartered in Blue Bell, Pennsylvania. The company provides cloud, AI, digital workplace, logistics, and enterprise computing services. History Founding Unis ...
Clearpath series of
mainframe A mainframe computer, informally called a mainframe or big iron, is a computer used primarily by large organizations for critical applications like bulk data processing for tasks such as censuses, industry and consumer statistics, enterpris ...
s. Originally implemented on
Burroughs large systems The Burroughs Large Systems Group produced a family of large 48-bit computing, 48-bit mainframe computer, mainframes using stack machine instruction sets with dense Syllable (computing), syllables.E.g., 12-bit syllables for B5000, 8-bit syllables f ...
, it has a range of features for interacting with the operating system execution environment, focused on executing, editing and compiling programs, and creating, copying, moving, renaming, and deleting files in general. 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 Master Control Program or core OS). 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. CANDE was also used on the Burroughs CMS (mini computer) range, with very similar syntax. In contemporary MCP, CANDE is primarily used thru the ODT (Operator Display Terminal) and MARC (Menu Assisted Resource Control) on emulators of the original character oriented terminals as with other legacy mainframe interfaces such as
ISPF In computing, Interactive System Productivity Facility (ISPF) is a software product for many historic IBM mainframe operating systems and currently the z/OS and z/VM operating systems that run on IBM mainframes. It includes a Text editor, screen e ...
.


Features

CANDE provides a
command-line interpreter A command-line interface (CLI) is a means of interacting with software via commands each formatted as a line of text. Command-line interfaces emerged in the mid-1960s, on computer terminals, as an interactive and more user-friendly alternativ ...
and
line editor In computing, a line editor is a text editor in which each editing command applies to one or more complete lines of text designated by the user. Line editors predate screen-based text editors and originated in an era when a computer operator typic ...
, although unlike the modern interpretation of an operating system command line interpreter, the CANDE commands are compiled into the CANDE MCS, as shell-like capabilities are provided by WFL. Other notable features and functions include: *Create, edit, and maintain (copy, move, remove, print, rename) data and program files *Compile and execute programs *Access and display information about the data communication network including terminal communication lines and remote devices *Dynamically alter the communication network *Access and display job and task information *Utility functions (calculator, system utility test, etc.) 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 The Burroughs Large Systems Group produced a family of large 48-bit computing, 48-bit mainframe computer, mainframes using stack machine instruction sets with dense Syllable (computing), syllables.E.g., 12-bit syllables for B5000, 8-bit syllables f ...
, 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 originally supporting up to 255 simultaneous users, 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 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 This article catalogs comparable aspects of notable operating system shell (computing), shells. General characteristics {, class="wikitable sortable sticky-header sort-under" style="width: auto; text-align: center; font-size: smaller;" , - ...
* Work Flow Language


References


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, B670
CANDE Reference card 5011349 October 1979
at bitsavers.org {{Authority control Burroughs mainframe computers Command shells Text editors Mainframe computer software