Jump to content
 







Main menu
   


Navigation  



Main page
Contents
Current events
Random article
About Wikipedia
Contact us
Donate
 




Contribute  



Help
Learn to edit
Community portal
Recent changes
Upload file
 








Search  

































Create account

Log in
 









Create account
 Log in
 




Pages for logged out editors learn more  



Contributions
Talk
 



















Contents

   



(Top)
 


1 Structure  



1.1  Identify required IOCS services  





1.2  Create control blocks for individual files  





1.3  Process files  







2 See also  





3 Notes  





4 References  





5 External links  














Input/Output Control System






Azərbaycanca
 

Edit links
 









Article
Talk
 

















Read
Edit
View history
 








Tools
   


Actions  



Read
Edit
View history
 




General  



What links here
Related changes
Upload file
Special pages
Permanent link
Page information
Cite this page
Get shortened URL
Download QR code
Wikidata item
 




Print/export  



Download as PDF
Printable version
 
















Appearance
   

 






From Wikipedia, the free encyclopedia
 

(Redirected from IOCS)

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 1960s packages from other vendors, e.g., File Control Processor (FCP)[1] in RCA 3301 Realcom Operating System, GEFRC[2]inGECOS, and to the later Record Management Services[3] (RMS) in DEC VAX/VMS (later OpenVMS.)

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 run time I/O support for several compilers.

Computers of this era often did not have operating systems in the modern sense. Application programs called IOCS routines in a resident monitor, or included macro instructions that expanded to IOCS routines.

In some cases[4] IOCS was designed to coexist with Simultaneous Peripheral Operations On-line (SPOOL)[5] 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, primarily because the systems for which it was designed didn't support it. Versions of IOCS existed for the IBM 705 III,[6] 1401/1440/1460, 1410/7010, 7070/7072/7074,[7][8][9] 7080[10] and 7040/7044/7090/7094.[11] These systems heavily influenced the data management components of the operating systems[12] for the System/360; the name IOCS was carried through in DOS/360 through z/VSE,[13] with a distinction between Logical IOCS (LIOCS)[14] and Physical IOCS (PIOCS).[14]

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.[7][8] Also, multiple continuation lines will be shown as ellipses (...) when they don't serve to illustrate the narrative.

Structure

[edit]

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

For the 7070 these are done using 7070 Autocoder[15][16] declarative statements and macro instructions.

Identify required IOCS services

[edit]

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 DIOCS[7]: 16–19 [15]: 22–25  statements:[b]

              11   22
     6        56   01
     GENERAL   DIOCSgeneral parameters
     TAPE      DIOCSD729,tape parameters
     DISK      DIOCSD1301,disk parameters
     END       DIOCS

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.

Create control blocks for individual files

[edit]

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[7]: 19–26 [15]: 26–28  statement, or separate control blocks generated by DDF[8]: 31–37 [15]: 29–30  or DUF[7]: 44–47 [15]: 31–33  statements.

              11   22
     6        56   01
               DTF  OUT
     FCHANNEL       2
               ...  ...
     DAFILE    DDF
     IODEVICE       5
     DREFMODE       4
               ...  ... 
               DUF  CONSFILE,1,4,CARDRDW,CARDIX,CONSEOF,CONSERR

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

Process files

[edit]

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.[b]

              11   22
     6        56   01
               OPEN CONSFILE,OUT
     LOOP      GET  CONSFILE
               PUT  OUT
               B    LOOP
     CONSEOF   CLOSECONSFILE,OUT

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

See also

[edit]

Notes

[edit]
  1. ^ IBM did not support the 90-column cards used by UNIVAC
  • ^ a b Note that operands in 7070 Autocoder always start in column 21.
  • References

    [edit]
    1. ^ RCA 3301 Realcom Training Manual (PDF). RCA EDP Division. November 1964. 94-06-000.
  • ^ GE-635 File and Record Control Reference Manual. GE. CPB-1003.
  • ^ VAX-11 Record Management Services Reference Manual (PDF). DEC. February 1979. AA-D031B-TE.
  • ^ IBM 7070 SPOOL System. IBM. J28-6047-1.
  • ^ "SPOOL System", 7070-IO-076
  • ^ Reference Manual Input/Output Control System for the IBM 705 III. IBM. C28-6109.
  • ^ a b c d e IBM 7070/7074 Input/Output Control System for IBM 729 Magnetic Tape Units, Unit Record Equipment (7070-IO-904). IBM. C28-6175-3.
  • ^ a b c IBM 7070/7074 Input/Output Control System for IBM 1301 and 1302 Disk Storage (7070-IO-940). IBM. C28-6272-1.
  • ^ IBM Programming Systems Analysis Guide 7070 Input/Output Control System (PDF). IBM. 1961. C28-6119.
  • ^ 7080 Input/Output Control System for use with 729 Magnetic Tape Units (PDF). IBM. C28-6237.
  • ^ Reference Manual, IBM 709/7090 Input/output Control System (PDF). IBM. C28-6100-2.
  • ^ IBM Operating System/360 Concepts and Facilities (PDF). IBM. C28-6535-0.
  • ^ IBM z/VSE Version 6 Release 1 System Macros User's Guide (PDF). IBM. 2015. SC34-2709-00.
  • ^ a b DOS Supervisor and I/O Macros (PDF). IBM. GC24-S037-12.
  • ^ a b c d e IBM 7070 Programming Series Autocoder. IBM. C28-6121-3.
  • ^ IBM 7070 Four Tape Autocoder. IBM. J28-6055.
  • [edit]
    Retrieved from "https://en.wikipedia.org/w/index.php?title=Input/Output_Control_System&oldid=1070317461"

    Categories: 
    IBM operating systems
    IBM 700/7000 series
    IBM 1400 series
    IBM mainframe operating systems
    System software
    Hidden categories: 
    Articles with short description
    Short description matches Wikidata
    Use dmy dates from August 2020
     



    This page was last edited on 6 February 2022, at 21:20 (UTC).

    Text is available under the Creative Commons Attribution-ShareAlike License 4.0; additional terms may apply. By using this site, you agree to the Terms of Use and Privacy Policy. Wikipedia® is a registered trademark of the Wikimedia Foundation, Inc., a non-profit organization.



    Privacy policy

    About Wikipedia

    Disclaimers

    Contact Wikipedia

    Code of Conduct

    Developers

    Statistics

    Cookie statement

    Mobile view



    Wikimedia Foundation
    Powered by MediaWiki