Он содержит байты данных организованных в линейный массив который называется патокам байт.
Байты могут иметь любые значения и следовать в нутрии файла в любом порядке. На системном уровне от обычных файлов не требуется никакой структуризации. Любой байт из файла можно считать и в любой байт можно записать значение. Выполнение операций с файлом начинается на определенном байте, представлявшем месторасположение в нутрии файла. Это местоположение называется позицией в файле или смещением в файле. С каждым открытым файлом операционная система связывает позицию и когда файл открывается впервые позиция в файле равна 0. Переместить позицию можно находясь за концом файла и в эту позицию произвести запись данных, при этом пропущенные не занятые места заполнятся нулями. Но нельзя сместить позицию файла за начало.
Максимальное значение позиции в файле ограничено только размером типа данных языка С, который применен для ее хранения (64 бита). Размер файла определяется количеством байтов и называется длиной файла.
Длину файла можно изменить при помощи операции усечения файла.
Один и тот же файл может быть открыт несколько раз, причем другими или тем же самым процессом каждое открытие экземпляра файла присваивает уникальный дескриптор файла. Несколько процессов могут использовать один и тот же дескриптор файлов. Работа с файлом производится через индексный дескриптор.