NEC developed MOD IV with an enhanced multiprogramming function in order to maximize the processing capability of medium-to-large machines such as the NEAC-series 2200 models 400 and 500. Using the memory protection function of the hardware, this OS was capable of executing up to 20 independent programs.
The operating system consisted of a control program (System Monitor), a language processor and service programs including utility programs.
MOD IV had the following features:
- Simultaneous execution of 20 independent programs
- Dynamic allocation of memory and I/O devices
- Memory protection between running programs and of the monitor
- Protection of files and records on the I/O device shared among multiple programs
- 4-stage job priority
- Independence of input/output files on the device
- Creation of various types of accounting information
- Catalogued procedure
- Real-time processing using a communication circuit
- Failure handling
- Optionalization of functions and automatic system generation with a modular structure
- Compatibility with MOD I and MOD III
- Multiple language translation programs and a broad range of utility programs
- A broad range of debugging tools
(1) Control Program (System Monitor)
The control program consisted of the following functions: a resident monitor serving as the core of the OS, an IOFCS (Input Output File Control System) that controlled the I/O devices, a communication subsystem that controlled communication messages, a scheduler that scheduled jobs, a transitional monitor that allocated I/O devices used in job steps, an input reader and an output writer. The resident monitor, IOFCS and communication subsystems resided on the system resident area of the main memory, and the rest are programs that were non-resident, and started and executed in partitions in the user operating area when necessary, as user programs.
(2) Language Processor
Provided programming languages included an assembler language, COBOL for business processing, FORTRAN and ALGOL for scientific and engineering computation and BPL for system program description. BPL was utilized in the development of control systems because it was a language that was more adaptable than COBOL and FORTRAN and more descriptive than assemblers. COBOL was based on CODASYL COBOL1965. It covered most language elements of the original JIS COBOL proposal at that time, and enabled the use of katakana characters in order to meet Japanese needs.
(3) Service Programs
A selection of utility programs were provided as tools to smooth processing between the OS and the user program, and to supplement the system. The following utilities were provided: Basic Utility for creating, deleting and backing up volumes and files; Data File Utility for creating, updating and maintaining user data; Program File Utility for maintaining programs; Sort/Merge Utility for classifying user data; and the statistical processing language STAGE for creating reports.
With the completion of MOD IV, the basis of OSs for large general-purpose computers was established and subsequently MOD IV EX, which supported word-type instructions and a 21-bit address space for in NEAC-series 2200 models 575 and 700, was developed.