Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Istoria_vozniknovenia_i_razvitia_OS.docx
Скачиваний:
2
Добавлен:
01.05.2025
Размер:
208.65 Кб
Скачать

13) Типы файлов.

  В unix системах файлы бывают нескольких типов. Начнем с устройств. Файлы устройств. Каждому устройству в unix соответствует файл, будь это сеть, монитор, клавиатура, диск, память и т. д. Все эти файлы хранятся в папке /dev.

Обычные файлы. С ними все просто. У них прочерк на первом месте.

Следующий тип файлов – папки. Это тоже файлы, отличить их можно по первой букве «d». 

Далее ссылки. Ссылки в unix системах в некотором роде аналогичны ярлыкам в windows системах. Но только в некотором. Ссылки бывают двух типов «жесткие» и «мягкие» (символические). Между ними есть принципиальное отличие. Дело в том, что в unix системах, для адресации в файловой системе используются индексные дескрипторы. То есть имя файла связано с индексным дескриптором, описывающим этот файл, и привязан к конкретным блокам диска. Жесткие ссылки привязываются именно к индексным дескрипторам. Два файла, имеющих разные имена, но один индексный дескриптор являются эквивалентными. Но это налагает и ряд ограничений. Жесткую ссылку можно создать только в одной файловой системе, то есть, оба файла должны находиться в одной и той же файловой системе. Потому что одна файловая система знает только о собственных индексных дескрипторах и совершенно ничего не знает об индексных дескрипторах других файловых систем. Но есть и плюсы. Если Вы делаете жесткую ссылку, то Вы свободно можете удалять исходный файл. Ссылка будет работать. Символическая ссылка является аналогом ярлыка в windows. Она привязывается к имени файла, поэтому может быть создана в любой файловой системе. Но если исходный файл удалить, то такая ссылка перестает работать. 

 Следующий тип файлов – сокеты. Используется для различных сервисов, например для баз данных. Обычно, привязан к определенному порту и слушает на нем подключения. Тип файла обозначается буквой «s».

14) Блочные и символьные устройства

Блочные устройства в UNIX— это устройства хранения с произвольным доступом, над которыми размещаются файловые системы. Отсюда и вытекают отличия блочных устройств от символьных устройств. Эти различия в основном связаны с двумя факторами:

  1. Для блочных устройств первостепенным фактором является производительность (т.е. скорость). Для символьных устройств производительность может быть не так важна, так как многие символьные устройства могут работать ниже своей максимальной скорости, и производительность системы в целом от этого не пострадает. Но для блочных устройств скорость — это одно из конкурентных преимуществ операционной системы на рынке. Поэтому основная часть усилий при разработке блочного модуля сосредотачивается на обеспечении требуемой производительности.

  2. Символьные устройства получают запросы ввода-вывода из процессов пространства пользователя, выполняющих операции read() или write(). Блочные устройства могут получать запросы ввода-вывода как из пользовательских процессов, так и из кода ядра (модулей ядра), например, при монтировании дисковых устройств. Поэтому запросы ввода-вывода должны сначала попасть в блочную подсистему ввода-вывода ядра, и только затем быть переданными ею непосредственно драйверу, осуществляющему обмен с устройством.

Блочное устройство обеспечивает обмен блоками данных. Блок — это единица данных фиксированного размера. Размер блока определяется ядром, но чаще всего он совпадает с размером страницы аппаратной архитектуры, и для 32-битной архитектуры x86 составляет 4096 байт. Оборудование хранит данные на физических носителях, разбитых на сектора. Исторически сложилось так, что последние несколько десятилетий аппаратное обеспечение создавалось для работы с секторами размером 512 байт. В последние годы в новых устройствах появилась тенденция оперировать с большими секторами (4096 байт).

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]