【Mitsubishi Electric】 UTS/VS

 UTS/VS was an operating system developed by Mitsubishi Electric for the COSMO series general-purpose computers announced in 1974. It succeeded and strengthened the operating systems of MELCOM-7000. In addition to the enhancement of batch processing, interactive time-sharing processing, remote processing that allowed an extensive computer network, and sensor-based critical real-time processing, all of which were notable features of MELCOM-7000, online transaction processing that allowed immediate access and updating of an online database was supported. These five modes of operation were simultaneously and concurrently executed by UTS/VS.

1. Processing modes
(1) Batch processing
Batch jobs were concurrently executed in up to 16 logical partitions created when the system was generated. Each partition had an independent virtual space. The switchover between partitions was based on time slicing.
(2) Time-sharing processing
Up to 128 interactive terminals were supported. Both of private lines and public lines were available for its communication. Users could use the same functions as those in batch processing. FORTRAN IV and COBOL programs could be used without change, and interactive debugging packages for them were additionally provided. The interactive processors included BASIC and APL. Submission of batch jobs and queries on their status and the communication with operators were also available.
(3) Remote processing
Standard remote batch terminals (RBT) as well as intelligent remote batch terminals (IRBT) that had data processing functions were supported. IRBT adopted the IBM HASP multi-leaving method, enabling establishment of a network with a computer that had an HASP transmission protocol.
(4) Real-time processing
It was possible for a real-time program to reside on the main memory and to start its execution in a few microseconds after hardware interrupts with a hardware mechanism; no intervention of a scheduler program is required.
(5) Transaction processing
The user could easily build a desired online system that automatically performed data collection, database search, updating, report creation, etc. simply by inputting a message from a terminal. In addition, the user could automatically acquire a journal of I/O messages at various stages of processing, and utilize the journal for failure recovery and statistical processing.
2. Functions of the operating system
(1) Storage management
User programs were stored in free areas on the main memory which were managed in pages (one page = 2,048 bytes). The memory address designated by the program was a virtual address. It was converted into a real address by a hardware mechanism called “Memory Map” when the program was executed.

Memory Map function of UTS

Memory Map function of UTS

The virtual space was based on a multi-virtual space method in which entire space is provided for each user program. The head area was occupied by the monitor (operating system), which also occupied the head with the real memory. The head area was followed by an area for tables and buffers used by the operating system or overlay routines of the operating system, which was further followed by a user program area.

Example of allocation of the virtual space in UTS

Example of allocation of the virtual space in UTS


(2) Reentrant processor
FORTRAN, BASIC, file utilities, debugger, etc. were implemented as reentrant programs. These were placed in the special processor area at the end of the virtual space. Because a single copy of a reentrant processor was able to be used among multiple users, it had the potential to increase the efficiency of main memory utilization.
(3) Task scheduling method
A program that had begun to be executed was managed as a task, connected with one of more than 30 types of task status queues according to its status, and executed based on the priority between queues and on the priority in the respective queue. If the program to be executed was not present in the main memory, it was swapped into the main memory from the secondary storage device. If the main memory had no free space, the lowest-priority program would swap out to the secondary storage device.
(4) File management
Files accessed by a program included consecutive files that had sequential structure, keyed files that had keys for each record and random files for which physically contiguous area was allocated and that was accessed using physical block numbers.

  
UTS/VS instruction manual