MOD VII was developed as an operating system that could support multiple processors (dual systems sharing the main memory) for model 700 of the NEAC-series 2200. Its basic functions were compatible with MOD IV and MOD IV EX, and the following enhancements were introduced to provide the functionality to support multiple processors and a large-scale system:
The main memory consisted of a resident monitor area and a user operating area. The user operating area was divided into sets: one shared by the two CPUs, the other occupied by each CPU. For the set to be shared, it was possible to dynamically allocate the CPUs using the scheduler for each partition included in the set.
A cross-call mechanism enabled allocation of the I/O devices shared among multiple jobs independently of the CPU and exclusive use of volumes, files and blocks between jobs. In addition, the scope of channel scheduling was expanded to sectors in order to avoid bias of the I/O bus and the line.
As the CPU selection criterion, the OS had a function to enable the scheduler to automatically select a CPU based on whether or not the resources designated by the user or used by a job included a resource belonging to the CPU.
The OS provided a function to consistently enable synchronization between, and exclusive use of, system tasks by providing the WAIT/POST and SUSPEND/UNSUSPEND functions of the ECB (event control block) and the TCB (task control block) between the CPUs and between the processing modes (interrupt, processing priority).
The OS enabled reentry of processing routines allocated from the CPU to the shared resident area of the system monitor, and ensured consistency in cases where updating and reference of the shared field between the CPU and the processing mode .
Enhancements were made to enable simultaneous operation of multiple input readers and output writers through queues on the memory shared between the CPUs.
The cross-call mechanism enabled optimization of performances through optimum arrangement and pooling of shared SRV (system resident volume) and SPFL (system program file).
For configuration control, the OS provided functions for managing memory blocks such as connection, disconnection and change, controlling and managing connection and disconnection between the trunk port and the sector port, and controlling communication between the two CPUs using connection, disconnection and configuration control interrupt of the CPUs, in order to allow the system configuration to be flexibly modified. The recovery system achieved 4-stage recovery processing consisting of automatic retry in the event of failure detection, automatic separation of the failed region, diagnostic maintenance and restart from the failed region in order to prevent a single fault from leading to system-down. These functions were provided in the form of control programs operating in the resident area of MOD VII.