Knowledge (XXG)

Burroughs MCP

Source 📝

577:'s monitors and provide the opportunity for controlled mutual exclusion and synchronization between client processes, using MCP EVENTs and the Dahm locking technique. Libraries offer procedural entry-points to the client, which are checked for a compatible interface (all parameters and return types of imported procedures checked) before the client is linked to the library. The library and its client may be written in different languages. The advantage is that all synchronization is provided in the library and client code does not need to worry about this level of programming at all. This results in robust code since clients can't undermine the synchronization code in the library. (Some would call this a ' 300:
across several drives, as well as mirrored for recoverability of sensitive data. For added flexibility, each program can make volume substitutions, a volume name may be substituted with a primary and secondary alternate name. This is referred to as the process’ FAMILY. For instance, the assignment “FAMILY DISK = USERPACK OTHERWISE SYSPACK” stores files logically designated on volume DISK onto the volume USERPACK and will seek files first on volume USERPACK. If that search has no success, another search for the file is done on volume SYSPACK. DISK is the default volume name if none is specified.
749:
new versions of MCP for customers. Many customers developed niche expertise on the inner workings of the MCP, and customers often sent in the 'patches' (fragment pieces of source code with sequence numbers) as suggestions of new enhanced features or fault corrections (FTR - field trouble reports). Many of the suggested patches were included by the systems developers and integrated into the next version of the MCP release. Including a community of voluntary, self-professed experts, into mainstream technical work, is now widely practised and is the essence of
600:
this point, the library's stack was said to be frozen since nothing more would be run on this stack until the library became unfrozen, in which case clean-up and termination code would be run. When a client calls a routine in a library, that routine runs on top of the client stack, storing its locals and temporary variables there. This allows many clients to be running the same routine at the same time, being synchronized by the library routine, which accesses the data in the global environment of the library stack.
252:, Burroughs software only ever ran on Burroughs hardware due to a lack of compatible third party hardware. For this reason, Burroughs was free to distribute the source code of all software it sold, including the MCP, which was designed with this openness in mind. For example, upgrading required the user to recompile the system software and apply any needed local patches. At the time, this was common practice, and was necessary as it was not unusual for customers (especially large ones, such as the 367:
can be from 0 to 99 for user processes. System processes may be assigned the higher values. Note that this numerical priority is secondary to an overall priority, which is based on the task type. Processes that are directly part of the operating system, called Independent Runners, have the highest priority regardless of numeric priority value. Next come processes using an MCP lock, then Message Control Systems such as
1382: 256:) to modify the program to fit their specific needs. As a result, a Burroughs Users Group was formed, which held annual meetings and allowed users to exchange their own extensions to the OS and other parts of the system software suite. Many such extensions have found their way into the base OS code over the years, and are now available to all customers. As such, the MCP could be considered one of the earliest 726:
and EOJ for end of tasks and jobs. As well, all file and database open and closes can be logged. Logging many events contributes to an apparent slowness of the MCP operating environment compared to systems like Unix, since everything is logged with forced physical writes to the program log after every record, which is what systems like Unix don't do, even though they too keep many things in the system logs.
378:. Thus all processes waiting on a single resource wait on a single event. When the resource becomes available, the event is caused, which wakes up all the processes waiting on it. Processes may wait on multiple events for any one of them to happen, including a time out. Events are fully user programmable – that is, users can write systems that use the generalized event system provided by the MCP. 415:
force programmers to add code to check for the presence of files before accessing them, and thus extra code must be written in every case to provide recoverability, or process synchronization. Such code may be written in an MCP program when it is not desirable to have a task wait, but because of the operator-level recoverability, this is not forced and therefore makes programming much simpler.
296:
production environment it was found to be better to keep all files in a single directory, even though they retain the hierarchical naming scheme. Programmatically, this makes no difference. The only difference visible to users is that an entity file can have the same name as a directory. For example, "A/B" and "A/B/C" can both exist; "B" can be both a node in a file and a directory.
624:
system is available as a connection library, allowing other programs to use its services by exporting and importing functions. Upon linkage, each client gets a dedicated structure block to keep state information in. A program that uses the network might import a network-write function and export a network-read function. Thus, if you open a network connection (e.g., using
608:
is found in a table previously set up by an operator with 'SL' (system library) commands, for example 'SL system_support = *system/library/support'. MCP's fault tolerant attitude also works here – if a client tries accessing a library that is not present, the client is put in the 'waiting' tasks and the library could be made present, or the request redirected.
419:
faults (e.g., divide by zero) can be listed, or the catch-all 'anyfault' can be used. The statement or block following the 'ON' statement is recognized by the compiler as fault-handling code. During execution, if a recoverable fault occurs in scope of the 'on' statement, the stack is cut back and control transferred to the statement following it.
704:
available, CAUSE the EVENT that processes have been waiting on without further operator intervention. To pass textual information from an operator to a program, the accept command ‘3456AX MORE INFO’ can be used. Programs can pass information to operators using the DISPLAY mechanism, which causes DISPLAY messages to be added to the MSG display.
371:. Then Discontinued processes. Then Work Flow Language jobs. Finally come user processes. At a lower level, there is a Fine priority intended to elevate the priority of tasks that do not use their full processor slice. This allows an IO bound task to get processor time ahead of a processor bound task on the same declared priority. 311:). Other attributes have the file's record size (if fixed for commercial applications), the block size (in multiples of records that tells the MCP how many records to read and write in a single physical IO) and an area size in multiples of blocks, which gives the size of disk areas to be allocated as the file expands. 853:
The MCP was the first OS developed exclusively in a high-level language. Over its 50-year history, it has had many firsts in a commercial implementation, including virtual memory, symmetric multiprocessing, and a high-level job control language (WFL). It has long had many facilities that are only now
703:
An operator can force a task into the waiting entries with the stop command '3456ST' and make it active again with OK: '3456OK'. The OK command can also be used when an operator has made a resource available for a task, although more frequently than not, the MCP will detect that resources have become
623:
In the mid-1990s a new type of library was made available: Connection Libraries. These are programs in their own right that can execute independently as well as import and export data and functions to other programs in arrays of structure blocks. For example, the networking component of the operating
430:
To accomplish such enhanced protection, a newer mechanism was introduced in the mid 1990s. In a misguided attempt at compatibility, it was named after the then-proposed C++ language construct of the same name. Because the syntax and behavior of the two differ to such a large extent, choosing the same
414:
If the resource cannot be provided by the operator, the operator can DS the task as a last resort. This is different from other systems, which automatically terminate a task when a resource such as a file is not available. The MCP provides this level of operator recoverability of tasks. Other systems
263:
Burroughs was not the first manufacturer to distribute source code and was a late entry to electronic computing (compared to its traditional rivals NCR, IBM, and Univac). Now that MCP runs on commodity hardware, some elements of the MCP based software suite are no longer made available in source form
692:
Tasks are entered in the program 'mix' and identified by mix numbers, as are libraries. To execute a program, operators can use the 'EX' or 'RUN' command followed by the file name of the program. ODTs are run typically with ADM (Automatic Display Mode), which is a tailorable display of system status
684:
Large systems have dedicated operations terminals called ODTs (Operator Display Terminals), usually kept in a secure environment. For small systems, machines can be controlled from any terminal (provided the terminal and user have sufficient privileges) using the MARC program (Menu Assisted Resource
607:
Libraries could also be accessed 'by title' and 'by function'. In 'by title' the client specified the file name of the library. 'By function' was an indirect method where a client would just specify the function name of the library, for example 'system_support' and the actual location of the library
599:
If this was the first invocation of the library, the library would run its main program (outer block in an ALGOL program) to initialize its global environment. Once initialization was complete, it would execute a freeze, at which point all exported entry points would be made available to clients. At
595:
Shared by rununit is a sharing mechanism in between these two sharing schemes. It was designed specifically for COBOL, where a rununit is defined as the original initiating client program and all the libraries it has linked to. Each rununit gets one instance of the library and different rununits get
418:
In addition to the ability to dynamically remap file (or database) requests to other files (or databases), before or during program execution, several mechanisms are available to allow programmers to detect and recover from errors. One way, an 'ON' statement, has been around for many years. Specific
366:
Running processes are those that use a processor resource and are marked as 'running'. Processes that are ready to be assigned to a processor, when there is no free processor are placed in the ready queue. Processes may be assigned a “Declared” or “Visible” priority, generally 50 as the default, but
299:
Files are stored on named volumes, for example 'this/is/a/filename on myvol', 'myvol' being the volume name. This is device independent, since the disk containing 'myvol' can be moved or copied to different physical disk drives. Disks can also be concatenated so that a single volume can be installed
520:
While the task is ALIVE, MCP functions are run on top of that particular process, thus CPU resources are automatically charged to the task causing the MCP overhead. Also, much of the MCP work is being performed with that particular stack's security rights. Only before BIRTH and after DEATH does the
445:
As with file attributes, tasks have attributes as well, such as the task priority (which is assigned at compile time or execution time, or can be changed while the task is running), processor time, wait time, status, etc. These task attributes can be accessed programmatically as can file attributes
748:
Beyond the many technical innovations in the MCP design, the Burroughs Large Systems had many management innovations now being used by the internet community at large. The system software was shipped to customers inclusive of source code and all the editing and compilation tools needed to generate
725:
All actions in the system are logged, for example all messages displayed to the operator, and all operator actions. All significant program actions are optionally logged in a system log and a program log, for example BOJ for beginning of a WFL job, BOT for beginning of a task within a WFL job, EOT
591:
Shared by all is more interesting. When a client starts up, it can run for a while until it requires the services in the library. Upon first reference of a library entry-point, the linkage is initiated. If an instance of the library is already running, the client is then linked to that instance of
434:
Syntactically, 'try' statements look like 'if' statements: 'try', followed by a statement or block, followed by 'else' and another statement or block. Additional 'else' clauses may follow the first. During execution, if any recoverable termination occurs in the code following the 'try' clause, the
406:
Tasks waiting on a resource are listed under the waiting entries and the reason for waiting. All waiting tasks may be listed with the 'W' command. The reason for waiting is also listed and more information about a task may be seen with the 'Y' command. It may be that a task is waiting for operator
295:
nodes were represented by separate files with directory entries, as other systems did. However, since about 1970, MCP internally uses a 'FLAT' directory listing all file paths on a volume. This is because opening files by visiting and opening each directory in a file path was inefficient and for a
729:
The logs can be used for forensics to find out why programs or systems may have failed, or for detecting attempts to compromise system security. System logs are automatically closed after a system-settable period and a new one opened. System logs contain a huge amount of information, which can be
615:
Function libraries also implemented a very important security feature, linkage classes. All normal libraries have a linkage class of zero. Libraries used by the MCP or other privileged system modules may not be usable from normal programs. They are accessed by function and forced in linkage class
422:
One problem with the handling logic behind the ON statement was that it would only be invoked for program faults, not for program terminations having other causes. Over time, the need for guaranteed handling of abnormal terminations grew. In particular, a mechanism was needed to allow programs to
362:
An MCP Process goes through a life cycle from the time it enters the system until it leaves. The initial state for a Job is "Queued." There is a period of time while the Job resides in one of several user defined Job Queues. The next state is "Scheduled" as the Job moves from a queue into memory.
320:
Another security mechanism is that code files can only be created by trusted compilers. Malicious programmers cannot create a program and call it a compiler – a program could only be converted to be a compiler by an operator with sufficient privileges with the 'mc' make compiler operator command.
603:
Freeze could also be in three forms – temporary, permanent and controlled. Temporary meant that once the client count dropped to zero, the library would be unfrozen and terminated. Permanent meant that the library remained available for further clients even if the client count dropped to zero –
537:
looks at the way dependent processes could be asynchronously run so that many processes could share common data (with the mechanisms to provide synchronized update). Such a family of related processes had to be written as a single program unit, processing procedures at higher lex levels as the
410:
Tasks waiting on user input or file reads would not normally be listed as waiting entries for operator attention. Another reason for a task to be waiting is waiting on a file. When a process opens a file, and the file is not present, the task is placed in the waiting entries, noting that it is
391:
Terminated tasks are displayed as completed tasks with the reason for termination, EOT for normal 'end of task', and DSed with a reason for a process failure. All processes are assigned a mix number, and operators can use this number to identify a process to control. One such command is the DS
916:
The common form for software would be sources on tape or a disk pack generally you would have to recompile for your hardware from the common machine independent sources. This is in stark contrast to the common distribution of binaries only by IBM and others who generally closely guarded these
680:
The MCP also provides a sophisticated yet simple operator environment. For large installations, many operators might be required to make physical resources, such as printers (loading paper, toner cartridges, etc.) available. Low-end environments for small offices or single user may require an
516:
A task goes through various states starting with NASCENT. At DELIVERY the event BIRTH is caused and the task's state changes to ALIVE. When PROCESSKILL is called upon, the state changes into DISEASED. When DEATH is caused the task gets put into the queue structure the MORGUE, after which all
411:
waiting on a certain file. An operator (or the user that owns the process) has the opportunity either to copy the file to the expected place, or to redirect the task to read the file from another place, or the file might even be created by an independent process that hasn't yet completed.
464:
not only handle memory space, they also allocate or deallocate the disk space where non memory resident data may be overlaid. Memory may be SAVE (i.e., memory resident), OVERLAYABLE (i.e., virtual memory) or STICKY (meaning memory resident, but movable). They are called upon e.g. by
359:." A Job contains one or more tasks. Tasks within a job can run sequentially or in parallel. Logic can be implemented at the Job level, typically in the MCP's job control language WFL, to control the flow of a job. Once all tasks in a job are complete, the job itself is completed. 363:
Tasks within a job do not wait in queue; instead going directly to the 'Scheduled' state when initiated. Once a Job or Task is started, it can transition between "Active," "Waiting" and "Scheduled" as it progresses. Once a Job or Task completes, it moves to the 'Completed' state.
667:
A server listening for incoming connections declares a port file (a file with the KIND attribute equal to PORT). Each connection that is made from a client creates a subfile with an index, so each port file represents multiple connections to different clients around the network.
688:
Operator commands are mostly two letters (as with Unix), and some are just one letter. This means that the operator interface must be learned, but it is very efficient for experienced operators who run a large mainframe system from day to day. Commands are case insensitive.
671:
A server process receives client requests from anywhere on the network by issuing a read on the port file (subfile = 0 to read from any subfile). It issues a response to the client that issued the request by writing to the particular subfile from which the request was read.
628:), when data arrives for you to read, the networking component can directly call your function to consume it, without having to first copy the data to a buffer and do a context switch. Likewise, you can write data to the network by directly calling a network-write function. 699:
If a task becomes waiting on some operator action, the operator can find out what the task needs by entering its mix number followed by the 'Y' command. (Note the object-oriented style of commands, selecting the object first, followed by the command.) For example, '3456Y'.
616:
one. A client in linkage class zero cannot link to linkage class one entry-points. A library with linkage class one that needs to offer entry-points to normal programs can do so if it is designated as ‘trusted’. It can offer selected entry-points in linkage class zero.
604:
permanent libraries could be unfrozen by an operator with a THAW command. A controlled freeze meant that the library actually kept running, so that it could execute monitoring functions and perform data initialization and cleanup functions for each linking client.
648:, except that they are generalized to be multiway and bidirectional. Since these are an order of magnitude slower than other IPC techniques such as libraries, it is better to use other techniques where the IPC is between different processes on the same machine. 392:
command (which stands for either Delete from Schedule, DiScontinue, or Deep Six, after the influence of Navy personnel on early computer projects, depending on who you talk to). Tasks terminated by the operator are listed in the complete entries as O-DS.
438:
Most events that would result in task termination are recoverable. This includes stack overflow, array access out-of-bounds, integer over/under flow, etc. Operator (or user) DS is not recoverable except by privileged tasks using an UNSAFE form of try.
275:
architecture since its inception. This scheme is unique in the industry, as it stores and retrieves compiler-defined objects rather than fixed-size memory pages, as a consequence of its overall non-von Neumann and uniformly stack-based architecture.
588:. MCP libraries can be 'shared by all', ‘shared by rununit’ or 'private'. The private case is closest to libraries on other systems – for each client a separate copy of the library is invoked and there is no data sharing between processes. 733:
The DUMPANALYZER analyzes memory dumps that were originally written to tape. As all compilers added LINEINFO into the code-files, the DUMPANALYZER is able to pinpoint exactly which source statement was being executed at the time of error.
388:, the change from ready to running and back is so quick that distinguishing ready and running tasks is pointless because they will all get a slice of the processor within a second). All active tasks can be displayed with the 'A' command. 631:
Connection Libraries allow a significant degree of control over linkages. Each side of a linkage can optionally approve a linkage and can sever the linkage as desired. State can be easily maintained per linkage as well as globally.
328:, providing fault tolerance in case of disk failure, loss of power, etc. It is not possible to corrupt the file system (except by the operating system or other trusted system software with direct access to its lower layers) . 611:
Libraries can also be updated on the fly, all that needs to be done is to 'SL' the new version. Running clients will continue to use the old version until they terminate and new clients will be directed to the new version.
435:
stack is cut back if required, and control branches to the code following the first 'else'. In addition, attributes are set to allow the program to determine what happened and where (including the specific line number).
619:
The entire database system is implemented with libraries providing very efficient and tailored access to databases shared between many clients. The same goes for all networking functionality and system intrinsics.
651:
The most advantageous use of port files is therefore for distributed IPC. Port files were introduced with BNA (Burroughs Network Architecture), but with the advent of standard networking technologies such as
216:
The MCP was a leader in many areas, including: the first operating system to manage multiple processors, the first commercial implementation of virtual memory, and the first OS written exclusively in a
446:
of files. The parent task is available programmatically as a task attribute that is of type task. For example, 'myself.initiator.name' gives the name of the process that initiated the current process.
423:
invoke plug-ins written by customers or third parties without any risk should the plug-in behave badly. In addition to general plug-in mechanisms, the new form of dynamic library linkage (
456:
are the two main procedures handling memory allocation and deallocation. Memory needs to be allocated at process initiation and whenever a block is entered that uses arrays, files, etc.
407:
input, which is sent to a task via the accept 'AX' command (note that operator input is very different from user input, which would be input from a network device with a GUI interface).
1146: 693:
usually set up to display the active, waiting, and completed mix entries, as well as system messages to the operator for notifications or situations requiring operator action.
384:
Operationally, the status of all tasks in the system is displayed to the operator. All running and ready processes are displayed as 'Active' tasks (since the system implements
317:
Files are protected by the usual security access mechanisms such as public or private, or a file may have a guard file where the owner can specify complex security rules.
707:
As well as tasks and processes, operators also have control over files. Files can be listed using the FILE command, copied using COPY, removed using REMOVE, and renamed.
1432: 241:
and successors) were unique in that they were designed with the expectation that all software, including system software, would be written in an HLL rather than in
566:
So clean and radical was the library mechanism that much system software underwent major rewrites resulting in a better structured systems and performance boosts.
917:
software assets at the source level. This actually was necessary because this is the means by which the code accommodated local site differences in hardware, etc.
513:
is the procedure that decides which process is the next one to receive CPU resources and is thus one of the few processes that uses the MoveStack instruction.
307:
about a file, most importantly its name and its type (which tells the system how to handle a file, like the more limited four-character file type code on the
1139: 826: 206: 71: 1417: 1386: 1132: 1412: 1407: 710:
The operating environment of the MCP is powerful, yet simple and usually only requires a fraction of the number of operators of other systems.
1242: 549: 737:
Also a normal program dump, where just one program was dumped, contains information on source-code sequence number and variable names.
168: 1422: 1207: 314:
The file type indicates if the file is character data, or source code written in particular languages, binary data, or code files.
1113: 875: 1227: 854:
appearing in other widespread operating systems, and together with the Burroughs large systems architecture, the MCP provides a
696:
Complete listing of these displays are given by the 'A' (active), 'W' (waiting), 'C' (completed), and 'MSG' (message commands).
1232: 1202: 1347: 1317: 1237: 1222: 1169: 796: 657: 625: 31: 1098: 1073: 1057: 1041: 1025: 1009: 993: 977: 961: 945: 1297: 1187: 814: 641: 118: 830: 427:) allows programs to import and export functions and data, and hence one program runs code supplied by another. 1307: 1247: 1217: 775: 279:
Unisys stopped producing the hardware in the early 2010s, and the operating system is now run under emulation.
569:
Libraries were introduced to MCP systems in the early 1980s, having been developed by Roy Guck and others at
1182: 534: 521:
MCP need to be operating out of some other stack. If none is available, the system maintains an idle stack.
385: 272: 234: 192: 188: 131: 1119: 538:
asynchronous processes, which could still access global variables and other variables at lower lex levels.
1427: 1332: 1267: 325: 1352: 1292: 570: 507:
is the main security guardian of the system, called upon at process start, file open, user log on, etc.
442:
MCP thus provides a very fault-tolerant environment, not the crash-and-burn core-dump of other systems.
292: 185: 55: 762: 257: 158: 66: 1312: 530: 400: 348: 230: 218: 146: 819: 714: 553: 761:
Unisys MCP has had several generations of compilers in its history supporting a wide variety of
339:
unless quotes are added around the name in which case it is case-sensitive and case-preserving.
17: 661: 578: 242: 30:"Master Control Program" redirects here. For the fictional villain from the film "Tron", see 1282: 1158: 356: 332: 181: 153: 93: 903: 501:
or the like while cleaning up and releasing resources declared and used within that block.
395:
Tasks can also terminate due to program faults, marked as F-DS or P-DS, for faults such as
303:
Each file in the system has a set of file attributes. These attributes record all sorts of
750: 645: 585: 504: 396: 352: 336: 253: 574: 375: 268: 139: 374:
Processes that are waiting on other resources, such as a file read, wait on the EVENT
1401: 1099:
http://public.support.unisys.com/aseries/docs/clearpath-mcp-17.0/pdf/86001047-515.pdf
1074:
http://public.support.unisys.com/aseries/docs/clearpath-mcp-17.0/pdf/86000304-307.pdf
1058:
http://public.support.unisys.com/aseries/docs/clearpath-mcp-17.0/pdf/86000544-103.pdf
1042:
http://public.support.unisys.com/aseries/docs/clearpath-mcp-17.0/pdf/86000080-103.pdf
1026:
http://public.support.unisys.com/aseries/docs/clearpath-mcp-17.0/pdf/86002003-407.pdf
1010:
http://public.support.unisys.com/aseries/docs/clearpath-mcp-17.0/pdf/39576053-003.pdf
994:
http://public.support.unisys.com/aseries/docs/clearpath-mcp-17.0/pdf/86001518-316.pdf
978:
http://public.support.unisys.com/aseries/docs/clearpath-mcp-17.0/pdf/86000296-209.pdf
962:
http://public.support.unisys.com/aseries/docs/clearpath-mcp-17.0/pdf/86002268-206.pdf
946:
http://public.support.unisys.com/aseries/docs/clearpath-mcp-17.0/pdf/86000098-515.pdf
1155: 209:(Executive Systems Problem Oriented Language). In the 1970s, MCP was converted to 1124: 596:
a different instance. This is the only dynamic implementation of COBOL rununits.
545:
Libraries and independent processes are written as independent programming units
288: 249: 753:. This management innovation of community development dated back to the 1970s. 1197: 927: 50: 584:
Libraries are more sophisticated forms of libraries on other systems such as
517:
remaining resources are freed to the system by a process called PROCESSKILL.
403:, etc. Completed entries can be listed by the operator with the 'C' command. 653: 308: 304: 541:
Libraries completely inverted this scenario with the following advantages:
213:
which was a better structured, more robust, and more secure form of ESPOL.
876:"ClearPath MCP Software: Software Release Announcement ClearPath MCP 20.0" 685:
Control). Operator commands can also be used by users familiar with them.
1257: 858:, high performance, multitasking and transaction processing environment. 533:
provide a way of sharing data and code between processes. The article on
740:
The two analyzers are major diagnostic tools for all kinds of purposes.
1327: 1322: 1277: 1252: 801: 786: 291:
with hierarchical directory structures. In early MCP implementations,
1362: 1357: 1302: 1287: 1272: 1212: 882: 493:
is called upon by a task exiting a block. BLOCKEXIT may in turn call
196: 59: 1054:
Report Program Generator (RPG) Programming Reference Manual Volume 1
248:
Unlike IBM, which faced hardware competition after the departure of
1367: 1337: 1262: 780: 769: 713:
An important part of the operations environment is the high-level
681:
operator-free environment (especially the laptop implementation).
368: 238: 548:
Libraries completely controlled access to shared resources (data
1342: 1084:
Burroughs B6700/B7700 System software handbook (form no 5000722)
834: 791: 210: 75: 1128: 559:
Libraries and clients could be written in different languages
229:
In 1961, the MCP was the first OS written exclusively in a
845:
There is no assembler on the Unisys MCP operating system.
730:
filtered and analyzed with programs such as LOGANALYZER.
562:
Process switching was not required to safely access data
381:
Processes that have terminated are marked as completed.
1116:– Free access but may require copyright acknowledgement 664:, port files can be used with these networks as well. 469:
when a process addresses an uninitialized array or by
424: 245:, which was a unique and innovative approach in 1961. 1095:
Work Flow Language (WFL) Programming Reference Manual
431:
name has only led to confusion and misunderstanding.
990:
COBOL ANSI-85 Programming Reference Manual Volume 1
974:
COBOL ANSI-74 Programming Reference Manual Volume 1
164: 152: 138: 127: 117: 99: 89: 81: 65: 49: 592:the library. All clients share the same instance. 267:The MCP was the first commercial OS to provide 479:handles hardware interrupts and may call upon 1140: 8: 1038:Pascal Programming Reference Manual Volume 1 44: 942:ALGOL Programming Reference Manual Volume 1 772:, including DCALGOL, BDMSALGOL and DMALGOL. 1147: 1133: 1125: 43: 958:C Programming Reference Manual Volume 1 867: 1433:Computer-related introductions in 1961 1006:Fortran77 Programming Reference Manual 904:"Burroughs B5000 Information Brochure" 205:MCP was originally written in 1961 in 1203:Compatible Time-Sharing System (CTSS) 7: 1070:Binder Programming Reference Manual 27:Mainframe computer operating system 1097:. (Unisys publication 8600 1047). 1072:. (Unisys publication 8600 0304). 1056:. (Unisys publication 8600 0544). 1040:. (Unisys publication 8600 0080). 1024:. (Unisys publication 8600 2003). 1008:. (Unisys publication 3957 6053). 992:. (Unisys publication 8600 1518). 976:. (Unisys publication 8600 0296). 960:. (Unisys publication 8600 2268). 944:. (Unisys publication 8600 0098). 783:which includes COBOL74 and COBOL85 271:, which has been supported by the 134:including the Unisys Clearpath/MCP 25: 1022:NEWP Programming Reference Manual 825:Compilers previously existed for 642:inter-process communication (IPC) 525:Software components and libraries 1381: 1380: 180:(Master Control Program) is the 18:Unisys MCP programming languages 1218:Cray Time Sharing System (CTSS) 1418:Time-sharing operating systems 1: 1413:Proprietary operating systems 1408:Burroughs mainframe computers 1170:Time-sharing system evolution 644:is port files. They are like 1188:Berkeley Timesharing System 1093:Unisys Corporation (2009). 1068:Unisys Corporation (2009). 1052:Unisys Corporation (2008). 1036:Unisys Corporation (2009). 1020:Unisys Corporation (2008). 1004:Unisys Corporation (2008). 988:Unisys Corporation (2009). 972:Unisys Corporation (2008). 956:Unisys Corporation (2008). 940:Unisys Corporation (2008). 815:Network Definition Language 105:; 63 years ago 1449: 829:, COBOL(68), Fortran(66), 573:. They are very much like 29: 1376: 1178: 1165: 1423:Unisys operating systems 807:Other products include: 32:Master Control Program ( 1183:BBN Time-Sharing System 535:Burroughs large systems 386:preemptive multitasking 273:Burroughs large systems 132:Burroughs large systems 1114:MCP 19.0 Documentation 640:Another technique for 326:Journaling file system 235:Burroughs Large System 763:programming languages 676:Operating environment 324:The MCP implements a 425:Connection Libraries 193:B6500 and successors 928:"The Mainframe Six" 331:The file system is 287:The MCP provides a 231:high-level language 219:high-level language 147:Text user interface 46: 820:Work Flow Language 715:Work Flow Language 343:Process management 1395: 1394: 1159:operating systems 579:Trusted Computing 477:HARDWAREINTERRUPT 467:HARDWAREINTERRUPT 243:assembly language 189:B5000/B5500/B5700 174: 173: 16:(Redirected from 1440: 1384: 1383: 1283:ORVYL and WYLBUR 1149: 1142: 1135: 1126: 1120:Unisys ClearPath 1101: 1091: 1085: 1082: 1076: 1066: 1060: 1050: 1044: 1034: 1028: 1018: 1012: 1002: 996: 986: 980: 970: 964: 954: 948: 938: 932: 931: 924: 918: 914: 908: 907: 900: 894: 893: 891: 890: 880: 872: 857: 512: 500: 496: 492: 486: 482: 478: 472: 468: 463: 459: 455: 451: 401:numeric overflow 333:case-insensitive 195:, including the 182:operating system 169:Unisys ClearPath 165:Official website 113: 111: 106: 94:Source available 47: 41:Operating system 21: 1448: 1447: 1443: 1442: 1441: 1439: 1438: 1437: 1398: 1397: 1396: 1391: 1372: 1174: 1161: 1153: 1110: 1105: 1104: 1092: 1088: 1083: 1079: 1067: 1063: 1051: 1047: 1035: 1031: 1019: 1015: 1003: 999: 987: 983: 971: 967: 955: 951: 939: 935: 926: 925: 921: 915: 911: 902: 901: 897: 888: 886: 878: 874: 873: 869: 864: 855: 851: 843: 759: 751:open innovation 746: 723: 678: 638: 527: 510: 498: 494: 490: 484: 480: 476: 470: 466: 461: 457: 453: 449: 345: 337:case-preserving 285: 254:Federal Reserve 227: 141: 123:20.0 / May 2021 109: 107: 104: 100:Initial release 42: 39: 28: 23: 22: 15: 12: 11: 5: 1446: 1444: 1436: 1435: 1430: 1425: 1420: 1415: 1410: 1400: 1399: 1393: 1392: 1390: 1389: 1377: 1374: 1373: 1371: 1370: 1365: 1360: 1355: 1350: 1345: 1340: 1335: 1330: 1325: 1320: 1315: 1310: 1305: 1300: 1295: 1290: 1285: 1280: 1275: 1270: 1265: 1260: 1255: 1250: 1245: 1240: 1235: 1230: 1225: 1220: 1215: 1210: 1205: 1200: 1195: 1190: 1185: 1179: 1176: 1175: 1173: 1172: 1166: 1163: 1162: 1154: 1152: 1151: 1144: 1137: 1129: 1123: 1122: 1117: 1109: 1108:External links 1106: 1103: 1102: 1086: 1077: 1061: 1045: 1029: 1013: 997: 981: 965: 949: 933: 919: 909: 895: 866: 865: 863: 860: 850: 847: 842: 839: 823: 822: 817: 812: 805: 804: 799: 794: 789: 784: 778: 773: 758: 755: 745: 742: 722: 719: 677: 674: 637: 634: 581:Initiative'.) 575:C. A. R. Hoare 564: 563: 560: 557: 546: 526: 523: 505:J_EDGAR_HOOVER 376:data structure 344: 341: 284: 281: 269:virtual memory 226: 223: 172: 171: 166: 162: 161: 156: 150: 149: 144: 142:user interface 136: 135: 129: 125: 124: 121: 119:Latest release 115: 114: 101: 97: 96: 91: 87: 86: 83: 79: 78: 69: 63: 62: 53: 40: 26: 24: 14: 13: 10: 9: 6: 4: 3: 2: 1445: 1434: 1431: 1429: 1428:1961 software 1426: 1424: 1421: 1419: 1416: 1414: 1411: 1409: 1406: 1405: 1403: 1388: 1379: 1378: 1375: 1369: 1366: 1364: 1361: 1359: 1356: 1354: 1351: 1349: 1346: 1344: 1341: 1339: 1336: 1334: 1331: 1329: 1326: 1324: 1321: 1319: 1316: 1314: 1311: 1309: 1306: 1304: 1301: 1299: 1296: 1294: 1291: 1289: 1286: 1284: 1281: 1279: 1276: 1274: 1271: 1269: 1266: 1264: 1261: 1259: 1256: 1254: 1251: 1249: 1246: 1244: 1241: 1239: 1236: 1234: 1231: 1229: 1226: 1224: 1221: 1219: 1216: 1214: 1211: 1209: 1206: 1204: 1201: 1199: 1196: 1194: 1193:Burroughs MCP 1191: 1189: 1186: 1184: 1181: 1180: 1177: 1171: 1168: 1167: 1164: 1160: 1157: 1150: 1145: 1143: 1138: 1136: 1131: 1130: 1127: 1121: 1118: 1115: 1112: 1111: 1107: 1100: 1096: 1090: 1087: 1081: 1078: 1075: 1071: 1065: 1062: 1059: 1055: 1049: 1046: 1043: 1039: 1033: 1030: 1027: 1023: 1017: 1014: 1011: 1007: 1001: 998: 995: 991: 985: 982: 979: 975: 969: 966: 963: 959: 953: 950: 947: 943: 937: 934: 929: 923: 920: 913: 910: 905: 899: 896: 884: 877: 871: 868: 861: 859: 848: 846: 840: 838: 836: 832: 828: 821: 818: 816: 813: 810: 809: 808: 803: 800: 798: 795: 793: 790: 788: 785: 782: 779: 777: 774: 771: 768: 767: 766: 765:, including: 764: 756: 754: 752: 743: 741: 738: 735: 731: 727: 720: 718: 716: 711: 708: 705: 701: 697: 694: 690: 686: 682: 675: 673: 669: 665: 663: 659: 655: 649: 647: 643: 635: 633: 629: 627: 621: 617: 613: 609: 605: 601: 597: 593: 589: 587: 582: 580: 576: 572: 567: 561: 558: 555: 551: 550:encapsulation 547: 544: 543: 542: 539: 536: 532: 524: 522: 518: 514: 508: 506: 502: 488: 487:or the like. 474: 447: 443: 440: 436: 432: 428: 426: 420: 416: 412: 408: 404: 402: 398: 397:invalid index 393: 389: 387: 382: 379: 377: 372: 370: 364: 360: 358: 354: 350: 342: 340: 338: 334: 329: 327: 322: 318: 315: 312: 310: 306: 301: 297: 294: 290: 282: 280: 277: 274: 270: 265: 261: 259: 255: 251: 246: 244: 240: 236: 232: 224: 222: 220: 214: 212: 208: 203: 201: 200:Clearpath/MCP 198: 194: 190: 187: 183: 179: 170: 167: 163: 160: 157: 155: 151: 148: 145: 143: 137: 133: 130: 126: 122: 120: 116: 102: 98: 95: 92: 88: 84: 82:Working state 80: 77: 73: 70: 68: 64: 61: 57: 54: 52: 48: 37: 35: 19: 1192: 1156:Time-sharing 1094: 1089: 1080: 1069: 1064: 1053: 1048: 1037: 1032: 1021: 1016: 1005: 1000: 989: 984: 973: 968: 957: 952: 941: 936: 922: 912: 898: 887:. Retrieved 870: 852: 844: 824: 806: 760: 747: 739: 736: 732: 728: 724: 712: 709: 706: 702: 698: 695: 691: 687: 683: 679: 670: 666: 650: 639: 630: 622: 618: 614: 610: 606: 602: 598: 594: 590: 583: 568: 565: 540: 528: 519: 515: 509: 503: 489: 475: 448: 444: 441: 437: 433: 429: 421: 417: 413: 409: 405: 394: 390: 383: 380: 373: 365: 361: 351:are called " 346: 330: 323: 319: 316: 313: 302: 298: 286: 278: 266: 262: 247: 228: 215: 204: 199: 177: 175: 90:Source model 33: 856:very secure 744:Innovations 499:FORGETSPACE 462:FORGETSPACE 454:FORGETSPACE 289:file system 283:File system 264:by Unisys. 258:open-source 250:Gene Amdahl 233:(HLL). The 159:Proprietary 1402:Categories 1198:CDC Kronos 889:2021-08-14 885:. May 2021 862:References 646:Unix pipes 636:Port files 260:projects. 67:Written in 841:Assembler 787:Fortran77 757:Compilers 571:Burroughs 531:libraries 495:FILECLOSE 491:BLOCKEXIT 485:IO_FINISH 349:processes 309:Macintosh 305:meta data 293:directory 202:systems. 186:Burroughs 128:Platforms 56:Burroughs 51:Developer 1387:Category 1258:MUSIC/SP 481:GETSPACE 471:FILEOPEN 458:GETSPACE 450:GETSPACE 335:and not 191:and the 1328:TOPS-20 1323:TOPS-10 1278:OpenVMS 1253:Multics 849:Summary 721:Logging 355:" and " 225:History 184:of the 154:License 140:Default 108: ( 85:Current 1385:  1363:VPS/VM 1358:VP/CSS 1303:RSTS/E 1288:OS4000 1273:NOS/VE 1213:CP/CMS 883:Unisys 833:, and 811:Binder 797:Pascal 554:hiding 511:GEORGE 197:Unisys 60:Unisys 1368:WAITS 1338:TSS/8 1308:TENEX 1263:NLTSS 1243:MCTSS 879:(PDF) 827:ESPOL 781:COBOL 770:ALGOL 369:CANDE 357:Tasks 239:B5000 207:ESPOL 72:ESPOL 1343:Unix 1318:TSOS 1293:Pick 1238:LTSS 1228:EMAS 1223:DTSS 835:PL/I 792:NEWP 656:and 586:DLLs 552:and 529:MCP 460:and 452:and 353:Jobs 347:MCP 211:NEWP 176:The 110:1961 103:1961 76:NEWP 34:Tron 1348:UTS 1333:TSS 1313:TSO 1298:RAX 1268:NOS 1248:MTS 1233:ITS 1208:COS 831:APL 802:RPG 658:TCP 654:OSI 626:TCP 178:MCP 45:MCP 1404:: 1353:VM 881:. 837:. 717:. 662:IP 497:, 483:, 473:. 399:, 221:. 74:, 58:/ 1148:e 1141:t 1134:v 930:. 906:. 892:. 776:C 660:/ 556:) 237:( 112:) 38:. 36:) 20:)

Index

Unisys MCP programming languages
Master Control Program (Tron)
Developer
Burroughs
Unisys
Written in
ESPOL
NEWP
Source available
Latest release
Burroughs large systems
Default
user interface

Text user interface
License
Proprietary
Unisys ClearPath
operating system
Burroughs
B5000/B5500/B5700
B6500 and successors
Unisys
ESPOL
NEWP
high-level language
high-level language
Burroughs Large System
B5000
assembly language
Gene Amdahl
Federal Reserve

Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.