MONITOR II was the control program for Fujitsu’s large general-purpose computer FACOM 230-50, and was completed in 1966. MONITOR II was the world’s first OS which introduced a dynamic relocation mechanism. Subsequently, MONITOR III, which was additionally equipped with a job stacking function, and MONITOR IV, which incorporated a real-time processing function, were completed in 1968.
The following describes the brief history of the control programs for the large general-purpose computer FACOM 230-50, and provides an overview of MONITOR II, MONITOR III and MONITOR IV.
In July 1962, Fujitsu, Oki Electric Industry Co., Ltd. and NEC established the Electric Computer Technology Research Consortium of Japan in order to develop domestic large computers that could compete with foreign-made large computers. With a subsidy from the Ministry of International Trade and Industry, the consortium developed FONTAC (Fujitsu-Oki-Nippondenki-Triple-Allied Computer). Fujitsu was responsible for the development of FONTAC Central, which was the core of FONTAC, and commercialized the large-scale general-purpose computer FACOM 230-50 based on successful development of FONTAC Central. The company improved the software developed for FONTAC, and provided improved software for FACOM 230-50 in 1966.
Control program MONITOR II was developed based on FONTAC MONITOR, which realized multiple program processing and dynamic relocation. The company also developed other software, including compilers of FORTRAN, ALGOL, COBOL and PL/I. These compilers were compliant with international codes, in addition to providing program compatibility not only between the FACOM 230 series computers but also with IBM computers.
In 1968, MONITOR III, which increased batch processing efficiency by adding a job stacking function, and MONITOR IV, which enabled concurrent execution of large-scale real-time processing and batch processing, were completed.
|Realized multiple program processing and dynamic relocation.
|First control program for FACOM 230-50, developed through improving FONTAC MONITOR. for batch processing based on a magnetic tape.
|Control program for batch processing based on a magnetic drum unit. Job stacking function was added to achieve increased batch processing efficiency.
|Realized concurrent execution of large-scale real-time processing and batch processing.
In comparison to the speedup of I/O devices, the increase in CPU speed was remarkably greater, so CPUs became idle during I/O processing. According to an estimate at that time, the ratio between the time in which data was transferred and the time in which the CPU processed the data was 8 to 1 with a magnetic tape device, while that with a card reader was estimated at 150 to 1. Therefore it was important to increase the use efficiency of the CPU or, in other words, to realize “multiple processing”. In multiple processing, unrelated multiple programs are placed in the memory, and another program is executed when the current program cannot proceed due to I/O conditions. FONTAC MONITOR realized the following functions, which served as the basis of MONITOR II:
At that time, programs in absolute address form were operable only in specified places of the memory. Before a program run, some delay time was necessary for moving the program to the operable address place of the memory. However, FACOM 230-50 was capable of continuous operation by instantaneously transferring a program to the operable address place of the memory. To realize this capability, FACOM 230-50 had special addressing manner which consisted of an indexed portion and a location-independent portion. The index for indexed portion was called base register. And the control program of FACOM 230-50 was capable of identifying the places where a location-dependent portion and a location-independent portion were stored (i.e., hardware was provided with SXJ and SSJ instructions). Additionally, MONITOR II (FONTAC MONITOR) adopted the dynamic relocation mechanism, in which discrete areas occupied by unfinished programs were re-allocated. MONITOR II was the world’s first OS to adopt this mechanism, ahead of IBM’s System 360.
Use of this mechanism made MONITOR II (FONTAC MONITOR) capable of efficiently operating up to 28 programs in a time-division manner.
To perform multiple programs processing, it was necessary to avoid allocating one I/O device to multiple programs at the same time. However, it was impossible to create a program while considering irrelevant programs. For MONITOR II, Fujitsu introduced two concepts: “logical unit” (specifying the type of I/O devices) and “physical unit” (specifying the connection path and model number in addition to “logical unit”) for I/O devices. The “logical unit” name was assigned for each program, and MONITOR II was designed to allocate an actual physical unit immediately before or during the execution of a program. In addition, Fujitsu established a “logical data channel” concept for those programs to which processing time mattered, and provided a method of designating a device that corresponded to the device connected to a specific data channel as a logical unit.
Additionally, for large-capacity random access storage devices, the company defined the size of a logical unit in the number of logical blocks, and designed MONITOR II to identify a device that had a free space of that size and to allocate it. The size of one logical block was set at 4,000 words.
The primary purpose of the control program was to increase the operating efficiency of the computer. In order to attain this purpose, in developing MONITOR II, the company judged that it is unavoidable to put some burden on operators. For MONITOR III, however, Fujitsu added a job stacking function to increase batch processing efficiency and minimize the need for operator intervention. MONITOR III read information on jobs to be processed from the input device for the system (normally a card reader) and stored it in a large-capacity random access device (a magnetic drum unit or magnetic disk unit). It was called INCONTROL function. The OS made operable up to 28 high-priority jobs among those jobs, to the extent permitted by resources (ALLOCATOR function). And, EXECUTOR performed multiple program control.
In parallel with the development of MONITOR III for batch processing, MONITOR IV, which enabled concurrent execution of real-time processing and batch job processing, was developed. MONITOR IV achieved real-time processing by handling the programs stored in the memory in advance. The programs were for data processing such as telegraph exchange, data collection/distribution, seat reservation and banking, and data provided from terminal units were processed immediately.