Структура файловой системы |
Статьи - Основы UNIX | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Структура файловой системыФайловая система FreeBSD является ключевым моментом в понимании устройства всей системы. Самым важным понятием является, несомненно, корневой каталог, обозначаемый символом '/'. Корневой каталог монтируется самым первым на этапе загрузки и содержит все необходимое, чтобы подготовить систему к загрузке в многопользовательский режим. Корневой каталог также содержит точки монтирования всех других файловых систем. UNIX не использует букв дисков, или других имен дисков в пути. Это значит, что не нужно писать c:/foo/bar/readme.txt в UNIX. Вместо этого, одна файловая система назначается корневой файловой системой. Обращение к корневому каталогу корневой файловой системы происходит через /. Любая другая файловая система монтируется к корневой файловой системе. Неважно как много дисков есть в вашей системе FreeBSD, каждый каталог будет выглядеть как расположенный на том же диске. Точкой монтирования называется каталог, который будет соответствовать корню смонтированной файловой системы. Стандартные точки монтирования включают /usr, /var, /tmp, /mnt и /cdrom. Эти каталоги обычно перечислены в файле /etc/fstab, в котором указаны файловые системы и их точки монтирования. Большинство файловых систем, описанных в /etc/fstab монтируются автоматически, если только для них не указана опция noauto. Монтирование файловых систем во FreeBSDДля монтирования файловых используется команда mount, для размонтирования – umount. Подробную информацию об этих командах и используемых ими опциях можно найти справочной системе. Файловые системы содержатся в разделах. Каждый раздел обозначается буквой от a до h. Каждый раздел может содержать только одну файловую систему, это значит что файловая система может быть описана ее точкой монтирования в файловой иерархии, или буквой раздела, в котором она содержится. FreeBSD также использует дисковое пространство под раздел подкачки (swap space). Подкачка позволяет FreeBSD работать с виртуальной памятью. Ваш компьютер может работать так, как если бы у него было больше памяти, чем есть на самом деле. Когда у FreeBSD кончается память, она перемещает часть данных, не используемых в данный момент, в раздел подкачки и возвращает их обратно (перемещая в подкачку что-то другое), когда они нужны. По некоторым разделам есть определенные соглашения:
Это позволяет утилитам, которым нужно работать над всем слайсом (например, сканер плохих блоков), работать с разделом c. В обычной ситуации не нужно создавать файловую систему на этом разделе. Каждый раздел, содержащий файловую систему, хранится на том, что во FreeBSD называется слайс (slice). Слайс - это термин FreeBSD, то, что обычно называют разделом в других операционных системах (например, Windows и Linux). Слайсы нумеруются с 1 по 4. Номера слайсов следуют за именем устройства, предваряемые строчной s, начиная с 1. Так 'da0s1' это первый слайс первого SCSI устройства. Может быть только четыре физических слайса на диске, но могут быть логические слайсы нужного типа внутри физических слайсов. Эти дополнительные слайсы нумеруются начиная с 5, так что 'ad0s5' это первый дополнительный слайс на первом IDE диске. Эти устройства используются файловыми системами, занимающими весь слайс. Слайсы, 'эксклюзивно выделенные (dangerously dedicated)' физические устройства и другие устройства содержат разделы, представляемые буквами от a до h. Эти буквы добавляются к имени устройства. 'da0a' это раздел a на первом устройстве da, который 'эксклюзивно выделен'. 'ad1s3e' это пятый раздел в третьем слайсе второго IDE диска. Наконец, каждый диск имеет своё имя, которое начинается с кода, обозначающего тип диска, затем идет номер диска. В отличие от слайсов, нумерация дисков начинается с 0. Основные коды указаны в таблице ниже:
Иерархия файловой системыПолное описание иерархии файловой системы есть в справочном руководстве (man hier). В таблице ниже перечислены наиболее важные каталоги.
Типы и виды файловВ отличие от ОС Windows, в UNIX расширение файла не определяет его тип и может вообще отсутствовать. Расширение обычно используется для удобства пользователя и операционной системе не требуется. Вместо этого, UNIX определяет тип файла с помощью магии (подсистемы magic), которая на основании магических чисел (magic numbers), полученных в результате анализа содержимого файла делает вывод о типе файла. Таблица магических чисел постоянно обновляется и уточняется и содержит сигнатуры различных типов файлов. Кроме того, в UNIX существуют различные виды файлов, информация о которых содержится атрибутах файловой системы для этих файлов. Всего в UNIX существует 6 различных видов файлов:
Файлы устройств и каталог /devТермин 'устройство' используется в основном по отношению к аппаратному обеспечению системы, такому как диски, принтеры, графические адаптеры, устройства ввода текста. В UNIX доступ к большинству этих устройств можно получить через специальные файлы устройств, расположенные в каталоге /dev. При добавлении в систему нового устройства или добавлении поддержки дополнительных устройств потребуется создать один или несколько файлов устройств для нового оборудования. Для устранения необходимости в этих действиях в FreeBSD используется Device filesystem, или DEVFS. Она предоставляет доступ к пространству устройств ядра через общую файловую систему. Вместо создания и модификации файлов устройств, DEVFS создает специальную файловую систему. |