Options for Defining File Storage Units

by Craig T. Dedo

October 30, 1998

Currently the Fortran standard has defined the unit of measure for file operations (file storage units) to be processor-dependent. This has allowed vendors of Fortran compilers, even on the same or similar platforms, to define the file storage units differently. This is a useless and needless irreguarlity. The lack of a common definition that is the same from one processor to the next is a hindrance to portability, with consequent costs to developers of applications.

The main objection to selecting a specific definition of file storage units is that it could be a hindrance to technological development in the future. Although the 8-bit byte is the most common storage unit in current practice, by no means is it the only one. In the past, several popular machines (e.g., Control Data Corporation and Univac) had word sizes that were not integral multiples of bytes. It is possible that some future machines could be ternary (base 3) rather than binary in nature. It would be harmful to the Fortran language and to the development of software technology in general to define file storage units in a way that did not allow for unforseen technological developments.

Following are four (4) possible options for consideration of what the Fortran 2000 standard should define for file storage units.

1.	Require that file storage units be 8-bit bytes.

2.	If the hardware and operating system define and use 8-bit bytes, require that the file storage units be 8-bit bytes; otherwise the file storage units are processor-dependent.

3.	Recommend, but not require, that the file storage units be 8-bit bytes.

4.	Do nothing. This would continue the current practice of defining file storage units to be completely processor-dependent.

[End of J3 / 98-215r1]