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:
(1) Management of Main memory (function to share/allocate the main memory from 2 CPUs)
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.
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.
(2) Management of I/O Devices (function to share/exclusively use from 2 CPUs)
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.
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.
(3) Selection of a Central Processing Unit (function to select a CPU during job execution)
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.
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.
(4) Management of Event Synchronization and Sequentially Used Resources
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 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).
(5) Reentrant Program between the CPU and the Processing Mode
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 .
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 .
(6) Input of a Job and Output of the Result
Enhancements were made to enable simultaneous operation of multiple input readers and output writers through queues on the memory shared between the CPUs.
Enhancements were made to enable simultaneous operation of multiple input readers and output writers through queues on the memory shared between the CPUs.
(7) Placement of System Files
The cross-call mechanism enabled optimization of performances through optimum arrangement and pooling of shared SRV (system resident volume) and SPFL (system program file).
The cross-call mechanism enabled optimization of performances through optimum arrangement and pooling of shared SRV (system resident volume) and SPFL (system program file).
(8) Configuration Control/Recovery System
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.
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.