An IOCS program must do three things, each discussed in a subsection below.
For the 7070 these are done using 7070 Autocoder1819 declarative statements and macro instructions.
IOCS supported several classes of I/O equipment
Some services offered by IOCS were not needed by all applications, e.g., checkpoints, label processing. An IOCS program must identify the particular devices types and services it uses. A 7070 IOCS program must specify one or more DIOCS21: 16–19 22: 22–25 statements:23
These declarative statements identify index registers reserved for the use of IOCS, indicate channels used, indicate whether the program is to coexist with SPOOL and provide processing options. The END DIOCS statement causes the assembly of IOCS unless a preassembled version is requested. The first (general) form is omitted when the D729 form is used.
In some other IOCS packages similar functions are provided by control cards.
An IOCS program must create a control block for each file, specifying information unique to the file. For 7070 IOCS these are entries in the File Specification Table for tape files, each of which is generated by a DTF24: 19–26 25: 26–28 statement, or separate control blocks generated by DDF26: 31–37 27: 29–30 or DUF28: 44–47 29: 31–33 statements.
The above code defines a tape file on channel 1 called OUT, a sequential 1301/1302 disk file called DAFILE and a card file called CONSFILE.
Any IOCS program must specify the actions that it wishes to perform. In 7070 IOCS this is done with processing macros.30
In some other IOCS packages similar functions are provided by explicit subroutine calls.
RCA 3301 Realcom Training Manual (PDF). RCA EDP Division. November 1964. 94-06-000. http://www.bitsavers.org/pdf/rca/3301/94-06-000_3301_Realcom_Training_Man_Nov64.pdf ↩
GE-635 File and Record Control Reference Manual. GE. CPB-1003. /wiki/General_Electric ↩
VAX-11 Record Management Services Reference Manual (PDF). DEC. February 1979. AA-D031B-TE. http://bitsavers.org/pdf/dec/vax/vms/1.5/3/AA-D031B-TE_VAX-11_Record_Management_Services_Reference_Manual_Feb79.pdf ↩
IBM 7070 SPOOL System. IBM. J28-6047-1. /wiki/IBM ↩
"SPOOL System", 7070-IO-076 ↩
Reference Manual Input/Output Control System for the IBM 705 III. IBM. C28-6109. /wiki/IBM ↩
IBM 7070/7074 Input/Output Control System for IBM 729 Magnetic Tape Units, Unit Record Equipment (7070-IO-904). IBM. C28-6175-3. /wiki/IBM ↩
IBM 7070/7074 Input/Output Control System for IBM 1301 and 1302 Disk Storage (7070-IO-940). IBM. C28-6272-1. /wiki/IBM ↩
IBM Programming Systems Analysis Guide 7070 Input/Output Control System (PDF). IBM. 1961. C28-6119. http://bitsavers.org/pdf/ibm/7070/C28-6119_7070_IOCS_System_Analysis_Guide_Sep61.pdf ↩
7080 Input/Output Control System for use with 729 Magnetic Tape Units (PDF). IBM. C28-6237. http://www.bitsavers.org/pdf/ibm/7080/C28-6237_7080_IOCS80_1962.pdf ↩
Reference Manual, IBM 709/7090 Input/output Control System (PDF). IBM. C28-6100-2. http://www.bitsavers.org/pdf/ibm/7090/C28-6100-2_7090_IOCS.pdf ↩
IBM Operating System/360 Concepts and Facilities (PDF). IBM. C28-6535-0. http://www.bitsavers.org/pdf/ibm/360/os/R01-08/C28-6535-0_OS360_Concepts_and_Facilities_1965.pdf ↩
IBM z/VSE Version 6 Release 1 System Macros User's Guide (PDF). IBM. 2015. SC34-2709-00. http://publibfp.dhe.ibm.com/epubs/pdf/iesmge40.pdf ↩
DOS Supervisor and I/O Macros (PDF). IBM. GC24-S037-12. http://bitsavers.org/pdf/ibm/360/dos/GC24-5037-12_DOS_Supervisor_and_IO_Macros_Oct73.pdf ↩
IBM 7070 Programming Series Autocoder. IBM. C28-6121-3. /wiki/IBM ↩
IBM 7070 Four Tape Autocoder. IBM. J28-6055. /wiki/IBM ↩
IBM did not support the 90-column cards used by UNIVAC ↩
Note that operands in 7070 Autocoder always start in column 21. ↩