Normal I/O is indicated when direct files and direct arrays are not used. Normal I/O includes many automatic facilities provided by the operating system, such as the following:
-
Buffering: the automatic overlap of program processing and I/O traffic to and from the peripheral units
-
Blocking: more than one logical record per physical block
-
Translation as needed between the character set of the unit and that required by the program
The amount of buffering between the I/O statements and program execution depends on the number of buffers allocated for the file. Refer to FILE Declaration for information on how to specify the number of buffers.
In normal I/O, a READ statement causes the automatic testing of the availability of the needed record. The program is suspended in the READ statement until the record is actually available for use.
In normal I/O, a WRITE statement transfers the specified data to a buffer; the program is immediately released to begin execution of the next statement. If all the buffers are full when the WRITE statement is executed, the program is suspended until a buffer is available.

