World Library  
Flag as Inappropriate
Email this Article

Input/Output Control System

Article Id: WHEBN0027463736
Reproduction Date:

Title: Input/Output Control System  
Author: World Heritage Encyclopedia
Language: English
Subject: IBM Basic Programming Support, IBM 700/7000 series, Timeline of United States inventions (1946–91)
Publisher: World Heritage Encyclopedia

Input/Output Control System

Input/Output Control System (IOCS) is any of several packages on early IBM entry-level and mainframe computers that provided low level access to records on peripheral equipment. IOCS provides functionality similar to File Control Processor (FCP)[1] in RCA 3301 Realcom Operating System and GEFRC[2] in GECOS.

Computers in the 1950s and 1960s typically dealt with data that were organized into records either by the nature of the media, e.g., lines of print, or by application requirements. IOCS was intended to allow Assembler language programmers to read and write records without having to worry about the details of the various devices or the blocking of logical records into physical records. IOCS provided the I/O support for several compilers.

In some cases[3] IOCS was designed to coexist with Simultaneous Peripheral Operations On-line (SPOOL)[4] software. The level of access is at a higher level than that provided by BIOS and BDOS in the PC world; in fact, IOCS has no support for character-oriented I/O. Versions of IOCS existed for the IBM 705 III,[5] 1401/1440/1460, 1410/7010, 7070/7072/7074,[6][7] 7080[8] and 7040/7044/7090/7094.[9] These systems heavily influenced the data management components of the operating systems[10] for the System/360; the name IOCS was carried through in DOS/360 through z/VSE,[11] with a distinction between Logical IOCS (LIOCS) and Physical IOCS (PIOCS).

Although some technical details and nomenclature are different among the various IOCS packages, the fundamental concepts are the same. For concreteness, the discussion and examples in this article will mostly be in terms of 7070 IOCS.[6][7] Also, multiple continuation lines will be shown as ellipses (...) when they don't serve to illustrate the narrative.


An IOCS program must do three things, each discussed in a subsection below.

For the 7070 these are done using 7070 Autocoder[12][13] declarative statements and Macro instructions.

Identify required IOCS services

IOCS supported several classes of I/O equipment

  • Disk drives
  • Tape drives
  • Unit record equipment. The record length was dictated by the physical media, which were
    • Lines of print on paper
    • Punched 80-column[nb 1] cards

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 DIOCS[6](pp16-19)[12](pp22-25) statements:

GENERAL   DIOCSgeneral parameters
TAPE      DIOCSD729,tape parameters
DISK      DIOCSD1301,disk parameters

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 firm is used.

In some other IOCS packages similar functions are provided by control cards.

Create control blocks for individual files

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 DTF[6](pp19-26)[12](pp26-28) statement, or separate control blocks generated by DDF [7](pp31-37)[12](pp29-30) or DUF[6](pp44-47)[12](pp31-33) statements.

          DTF  OUT
FCHANNEL       2
...            ...
IODEVICE       5
DREFMODE       4
...            ...

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.

In some other IOCS packages similar functions are provided by control cards.

Process files

Any IOCS program must specify the actions that it wishes to perform. In 7070 IOCS this is done with processing macros.

         PUT  OUT
         B    LOOP

In some other IOCS packages similar functions are provided by explicit subroutine calls.


  1. ^ RCA EDP Division (November 1964), RCA 3301 Realcom Training Manual, 94-06-000. 
  2. ^ GE, GE-635 File and Record Control Reference Manual, CPB-1003. 
  3. ^ IBM, IBM 7070 SPOOL System, J28-6047-1. 
  4. ^ "SPOOL System", 7070-IO-076
  5. ^ IBM, Reference Manual Input/Output Control System for the IBM 705 III, C28-6109. 
  6. ^ a b c d e IBM, IBM 7070/7074 Input/Output Control System for IBM 729 Magnetic Tape Units, Unit Record Equipment (7070-IO-904), C28-6175-3. 
  7. ^ a b c IBM, IBM 7070/7074 Input/Output Control System for IBM 1301 and 1302 Disk Storage (7070-IO-940), C28-6272-1. 
  8. ^ IBM, 7080 Input/Output Control System for use with 729 Magnetic Tape Units, C28-6237. 
  9. ^ IBM, Reference Manual, IBM 709/7090 Input/output Control System, C28-6100-2. 
  10. ^ IBM, IBM Operating System/360 Concepts and Facilities, C28-6535-0. 
  11. ^ IBM, z/VSE V4R2.0 System Macros User's Guide, SC33-8407-00. 
  12. ^ a b c d e IBM, IBM 7070 Programming Series Autocoder, C28-6121-3. 
  13. ^ IBM, IBM 7070 Four Tape Autocoder, J28-6055. 

External links

  • "RCA 3301 Realcom Training Manual", 94-06-000, November 1964
  • history of operating systems
  • Operating Systems - History of Operating System [Article]
  • History of Modern Computing Section 3
  • Computer Hardware and System Software Concepts


  1. ^ IBM did not support the 90-column cards used by UNIVAC
This article was sourced from Creative Commons Attribution-ShareAlike License; additional terms may apply. World Heritage Encyclopedia content is assembled from numerous content providers, Open Access Publishing, and in compliance with The Fair Access to Science and Technology Research Act (FASTR), Wikimedia Foundation, Inc., Public Library of Science, The Encyclopedia of Life, Open Book Publishers (OBP), PubMed, U.S. National Library of Medicine, National Center for Biotechnology Information, U.S. National Library of Medicine, National Institutes of Health (NIH), U.S. Department of Health & Human Services, and, which sources content from all federal, state, local, tribal, and territorial government publication portals (.gov, .mil, .edu). Funding for and content contributors is made possible from the U.S. Congress, E-Government Act of 2002.
Crowd sourced content that is contributed to World Heritage Encyclopedia is peer reviewed and edited by our editorial staff to ensure quality scholarly research articles.
By using this site, you agree to the Terms of Use and Privacy Policy. World Heritage Encyclopedia™ is a registered trademark of the World Public Library Association, a non-profit organization.

Copyright © World Library Foundation. All rights reserved. eBooks from World Library are sponsored by the World Library Foundation,
a 501c(4) Member's Support Non-Profit Organization, and is NOT affiliated with any governmental agency or department.