Що таке файл і файлова структура?

Розміри даних об’єктів

У будь-який момент часу файл може мати розмір, зазвичай виражається числом байтів, який вказує, скільки пам’яті пов’язане з ним. У більшості сучасних операційних систем розмір може бути будь-яким невід’ємним цілим числом байтів, аж до системного межі. Багато старі ОС відстежували тільки кількість блоків або доріжок, займаних файлом на фізичному пристрої зберігання. В таких системах в програмному забезпеченні використовувалися інші методи для відстеження точної кількості байтів (наприклад, CP/M використовувала спеціальний керуючий символ Ctrl-Z для позначення кінця текстових файлів).

Однак загальне визначення файлу у файловій структурі не вимагає, щоб його розмір мав якесь реальне значення, якщо тільки дані в ньому не відповідають інформації в пулі постійного зберігання. Особливий випадок – файл з нульовим байтом. Такі об’єкти можуть бути знову створеними файлами, які ще не було записано ніяких даних, або вони можуть служити в якості якогось прапора в файловій системі, або є випадковими (результати перерваних операцій з диском).

Дивіться також:  $WINDOWS.~BT - що це і як видалити?

Наприклад, файл, на який вказує посилання /bin/ls в типовій Unix-подібній системі, ймовірно, має певний розмір, який рідко змінюється. У порівнянні з ним, /dev/null може мати невизначений розмір. Це вводить в оману, тому що останній об’єкт насправді не є файлом. В Unix-подібних системах всі ресурси, включаючи пристрої, доступні як файли. Але все ж існує реальна відмінність між ними – по суті, вони ведуть себе по-різному). Та невизначеність розміру є одним з проявів цього.