Главная

Популярная публикация

Научная публикация

Случайная публикация

Обратная связь

ТОР 5 статей:

Методические подходы к анализу финансового состояния предприятия

Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века

Ценовые и неценовые факторы

Характеристика шлифовальных кругов и ее маркировка

Служебные части речи. Предлог. Союз. Частицы

КАТЕГОРИИ:






Разновидности файлов




В Linux понятие файла является универсальной абстракцией, позволяющей работать с обычными файлами, с устройствами, с информацией и т.д. Для поддержки этих возможностей единообразным способом файловые системы Linux поддерживают несколько типов файлов.

Обычные файлы

Обычные (или регулярные) файлы реально представляют собой набор блоков (возможно, пустой) на диске. Такие файлы могут содержать как текстовую информацию (обычно в формате ASCII), так и произвольную двоичную информацию. Файловая система не предписывает обычным файлам какую-либо структуру, обеспечивая на уровне пользователей представление обычного файла как последовательности байтов. Но для некоторых файлов Linux поддерживает фиксированную структуру, например для файлов, являющихся объектными и выполняемыми. Структура этих файлов поддерживается компиляторами, редакторами связей и загрузчиком. Однако, эта структура неизвестна файловой системе. Для нее такие файлы по-прежнему являются обычными файлами.

Файлы-каталоги

Каталоги представляют собой особый вид файлов, которые хранятся на диске подобно обычным файлам, но структура которых поддерживается самой файловой системой. Структура файла-каталога очень проста. Фактически, каталог - это таблица, каждый элемент которой состоит из двух полей: номера i-узла данного файла в его файловой системе и имени файла, которое связано с этим номером (конечно, этот файл может быть и каталогом). Если просмотреть содержимое текущего рабочего каталога с помощью команды ls -ai, то можно увидеть, что в любом каталоге содержатся два стандартных имени – «.» и «..». Имени «.» соответствует i-узел, отвечающий самому этому каталогу, а имени «..» - i-узел, соответствующий "родительскому" каталогу данного каталога.

Специальные файлы

Специальные файлы не хранят данные, а обеспечивают механизм отображения физических внешних устройств в имена файлов файловой системы. Каждому устройству, поддерживаемому системой, соответствует, по меньшей мере, один специальный файл. Специальные файлы создаются при выполнении системного вызова mknod, каждому специальному файлу соответствует драйвер соответствующего устройства. При выполнении чтения или записи по отношению к специальному файлу, производится прямой вызов соответствующего драйвера, программный код которого отвечает за передачу данных между процессом пользователя и соответствующим физическим устройством.

Различаются два типа специальных файлов - блочные и символьные. Символьные специальные файлы используются для моделирования последовательных устройств ввода-вывода. Если процесс откроет фал /dev/tty и прочитает его, он получит символы, введенные с клавиатуры. Если открыть фал /dev/lp и записать в него данные, то эти данные будут распечатаны на принтере. Блочные специальные файлы (такие как /dev/hd1) используются для чтения и записи необработанных дисковых разделов, минуя файловую систему. Необработанные блочные устройства используются для страничной подкачки и свопинга программами установки файловой системы (например, mkfs) и программами, исправляющими ломанные файловые системы (например, fsck). Файловые системы всегда находятся на блочных устройствах, так что в команде mount обязательно указывается некоторое блочное устройство.

При обмене данными с блочным устройством система буферизует данные во внутреннем системном кэше. А обмены с символьными специальными файлами производятся напрямую, без использования системной буферизации.






Не нашли, что искали? Воспользуйтесь поиском:

vikidalka.ru - 2015-2024 год. Все права принадлежат их авторам! Нарушение авторских прав | Нарушение персональных данных