Учебная работа. Реферат: Файловая система ОС Linux
Одним из более принципиальных компонент в ОС Linux является файловая система. В данном разделе будут рассмотрены понятие файловой системы и ее назначение; иерархия файловой системы ОС Linux; типы файлов ОС Linux. Другие вопросцы, касающиеся администрирования файловой системы, наиболее тщательно будут рассмотрены в модуле 3.
Назначение файловой системы
В ОС Linux, как и в хоть какой иной ОС семейства unix, хоть какой объект является файлом, хранящимся на файловой системе. Файловая система представляет собой некое устройство (к примеру, твердый диск), отформатированное для хранения файлов. Файловые системы могут находиться на твердых дисках, гибких дисках, CD-ROM либо остальных носителях, которые разрешают производить случайный либо поочередный доступ к данным.
Условно файловую систему ОС Linux можно поделить на последующие составляющие.
место имен — способы именования объектов файловой системы и их иерархическая организация.
Программный интерфейс приложения (API) — набор системных вызовов и библиотек, созданных для управления объектами файловой системы.
Модель сохранности — содержит внутри себя общую схему защиты, разделения прав доступа к объектам и совместного использования объектов.
Техно реализация — программный код, связывающий логические модели файловой системы с аппаратным обеспечением.
Главными задачками файловой системы являются:
упорядочивание хранимых данных;
обычный и резвый доступ к хранимым данным;
обеспечение целостности хранимых данных.
Четкий формат и методы хранения файлов в ОС Linux не имеют значения, потому что система обеспечивает общий интерфейс для всех опознаваемых ею типов файловых систем. В ОС Linux файловой системой, устанавливаемой по дефлоту, является ext3fs. При доступе к хоть какой файловой системе из ОС Linux данные представляются в виде иерархии каталогов с находящимися в их файлами вкупе с идентификаторами хозяев и групп, битами прав доступа и иными атрибутами.
Иерархия файловой системы
Иерархия каталогов файловой системы ОС Linux соответствует принятому в мире UNIX эталону Filesystem Hierarchy System (FHS). Основное преимущество данного эталона состоит в том, что определенные типы файлов размещены в соответственных каталогах.
к примеру, большая часть конфигурационных файлов размещается в каталоге /etc, а файлы журналов разных сервисов размещаются в каталоге /var/log.
Описание каталогов файловой системы ОС
Linux
Сборники /bin, /usr/bin, /usr/locl/bin, /sbin, /usr/sbin и /usr/local/sbin содержат установленные в системе команды. При работе в системе под обыденным юзером, для вас будут доступны лишь команды каталогов /bin, /usr/bin и /usr/locl/bin, потому что в эталоне FHS определено, что в каталогах sbin должны содержаться лишь административные команды.
Набросок 1.2.структура каталогов ОС Linux
Главным каталогом файловой системы ОС Linux является корневой каталог /. Ниже корневого каталога размещаются все другие сборники, сделанные на локальной дисковой подсистеме либо подмонтированные с наружных устройств. Процедура монтирования файловой системы значит связывание каталога имеющейся файловой системы, именуемого точкой монтирования, с корневым каталогом новейшей файловой системы.
Монтирование файловой системы к точке монтирования осуществляется с помощью команды mount. В последующем листинге приведен пример монтирования DVD привода, содержащего дистрибутив ОС RedHatEnterpriseLinux 5.
[root@rhel5 ~]# mount /dev/hdc /mnt/
mount: block device /dev/hdc is write-protected, mounting read-only
В итоге выполнения команды mount система вывела информацию о том, что блочное устройство (в данном случае DVD привод) было смонтировано в режиме чтения.
Перечень смонтированных файловых систем хранится в файле /etc/fstab. Благодаря этому вероятны автоматическая проверка целостности файловой системы с помощью команды fsck и монтирование файловых систем на шаге исходной загрузки, также выполнение сокращенных установок наподобие mount /var/spool. информация, содержащаяся в этом файле, отражает расположения файловых систем на диске. Подробнее файл /etc/fstab будет рассмотрен в модуле 3.
Размонтирование файловых систем осуществляется командой umount. «Заблокированную» файловую систему размонтировать нереально. В ней не обязано быть ни открытых файлов, ни текущих каталогов выполняющихся действий. Если размонтируемая файловая система содержит исполняемые программки, они не должны быть запущены. В последующем листинге приводится пример размонтирования ранее подмонтированной файловой системы в каталоге /mnt.
[root@rhe!5 ~]# umount /mnt [root@rhel5 ~]# Is -1 /mnt total 0
Для того, чтоб выяснить какие устройства подмонтированы к системе в данный момент нужно выполнить команду mount без характеристик. В последующем листинге приведен пример определения подмонтированных устройств.
[root@rhel5 ~]# mount /dev/sda2 on / type ext3 (rw)
proc on /ргос type proc (rw)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw) /dev/hdc on /mnt type iso9660 (ro)
Как лицезреем, в выводе команды mount поочередно отображается подмонтированное устройство, точка монтирования, тип файловой системы и доп функции монтирования.
Типы файлов
При работе с ОС Linux принципиально осознавать, что хоть какой объект ОС является файлом. Это главная изюминка ОС Linux по сопоставлению с операционными системами семейства Windows.
Файлы различаются как по собственной структуре, так и по собственному назначению. В ОС Linux определены семь типов файлов:
постоянные файлы (обыденные файлы);
сборники;
ссылки;
советы;
именованные каналы;
файлы блочных устройств;
файлы символьных устройств.
Найти тип файла можно при помощи команды Is -Id. 1-ый знак в строке вывода обозначает тип файла. В последующем листинге выдается информация о файле
/dev/hdc. [root@rhel5 ~]# Is -Id /dev/hdc
brw-rw—— 1 root disk 22, 0 Dec 22 13:30 /dev/hdc
Постоянные файлы
К постоянным файлам относятся бинарные файлы, библиотеки, текстовые файлы и файлы разных приложений. ОС Linux не накладывает никаких ограничений на структуру данных файлов. К их содержимому вероятен как поочередный, так и прямой доступ.
Сборники
Файлы данного типа хранят именованные ссылки на остальные файлы. имя файла, находящегося в каталоге, в реальности хранится в родительском каталоге, а не в самом файле.
В ОС Linux имеются так именуемые особые сборники. Особые сборники, такие как «.» и «..», обозначают, соответственно, текущий рабочий каталог и его родительский каталог.
Ссылки
В ОС Linux принято различать символические и твердые ссылки, любая из которых имеет особое
Символическая ссылка дозволяет заместо названии файла указывать его псевдоним. В процессе поиска файла по символическим ссылкам, ядро извлекает хранящиеся в их имена. Жёсткая ссылка является прямой, т.е. показывает конкретно на индексный дескриптор файла, тогда как символическая ссылка показывает на файл по его имени. Файл, адресуемый символической ссылкой, и сама ссылка представляют собой различные объекты файловой системы.
Символические ссылки могут содержать случайное имя, т.е. в их разрешается указывать на файлы, хранящиеся в остальных файловых системах и даже на несуществующие файлы. Твердые ссылки не могут указывать на файл, находящийся в иной файловой системе.
ОС Linux подсчитывает количество ссылок на любой файл и при удалении файла не высвобождает блоки данных до того времени, пока не будет удалена крайняя ссылка на него.
Сокеты
Сокет — это особый тип файла, применяемый действиями для взаимодействия друг с другом. Установленные средством сокетов соединения разрешают действиям вести взаимодействие, не подвергаясь воздействию остальных действий. В ОС Linux выделяется некоторое количество видов сокетов, внедрение которых подразумевает наличие сетевой инфраструктуры. Локальные сокеты доступны лишь на локальном компе, воззвание к ним осуществляется через особые объекты файловой системы, а не через сетевые порты. Такие сокеты принято именовать сокетами домена unix (UNIXdomainsocket). Кроме локальных сокетов есть сетевые сокеты, дозволяющие действиям обмениваться данными по сети.
Невзирая на то, что остальные процессы распознают файлы сокетов как элементы каталога, лишь процессы, меж которыми установлено соответственное соединение, могут производить чтение и запись файлов сокета. С локальными сокетами работают разные сервисы ОС Linux — CUPS, XWindow и Syslog.
Именованные каналы (
FIFO)
Файлы данного типа подобны сокетам, так как тоже употребляются для взаимодействия меж действиями, но в отличие от сокетов в именованных каналах данные передаются лишь в одном направлении.
Файлы блочных и символьных устройств
Файлы блочных и символьных устройств разрешают приложениям получать доступ к аппаратным средствам и периферийному оборудованию системы. На шаге конфигурирования к ядру ОС Linux динамически подгружаются нужные модули, созданные для управления аппаратными средствами системы. За управление определенным устройством отвечает особый модуль, именуемый драйвером устройства.
Драйверы устройств образуют обычный интерфейс взаимодействия, который воспринимается юзером как набор обыденных файлов. Получив запрос к файлу символьного либо блочного устройства, ядро передает данный запрос соответственному драйверу. Файлы блочных и символьных устройств сами по для себя не являются драйверами. Их можно разглядывать как шлюзы, через которые драйвер воспринимает запросы на выполнение предусмотренных операций.
Файлы символьных устройств не употребляют буферизацию в процессе операций ввода-вывода. Все операции ввода-вывода осуществляются немедля по мере поступления. К символьным устройствам относятся виртуальные терминалы, модемы и остальные устройства, не поддерживающие случайный доступ к данным.
Файлы блочных устройств обрабатываются драйверами, которые производят ввод-вывод данных цельными блоками. В данном случае, на уровне ядра производится буферизация данных ввода-вывода. К блочным устройствам относятся такие устройства как твердые диски, DVD приводы, модули памяти, а так же все другие устройства, поддерживающие случайный доступ к данным.
Файлы блочных и символьных устройств характеризуются 2-мя номерами: старшим (major) и младшим (minor). Старший номер устройства дозволяет ядру найти, к какому драйверу относится файл, а младший номер идентифицирует конкретное физическое устройство.
Просмотреть номера файлов устройств можно, используя команду Is:
[root@rhe!5 ~]# Is -1 /dev/
brw-г——— 1 root disk 8, 0 Dec 22 13:30 sda
brw-r——— 1 root disk 8, 2 Dec 22 13:30 sda2
brw-rw——- 1 root disk 22, 0 Dec 22 13:30 hdc
crw-rw——— 1 root root 4, 0 Dec 22 16:29 ttyO
crw—w——— 1 root tty 4, 1 Dec 23 00:05 ttyl
crw————— 1 rootroot 5, 1 Dec 22 16:43 console
Из данного листинга видно, что блочному устройству sda2 соответствует старший номер 8 (номер драйвера) и младший номер 2 (номер устройства). Номер драйвера 8 в ОС Linux соответствует драйверу SCSI дисков sd. Младший номер устройства 2 является порядковым номером данного устройства, т.е, на самом деле, файл /dev/sda2 представляет 2-ой раздел, сделанный на твердом диске SCSIsda.
информацию о старших и младших номерах, применяемых определенным драйвером устройства, можно отыскать в четвертом разделе справочного управления man для данного драйвера.
Главные команды управления файлами
В ОС Linux названия файлов могут быть представлены как в нижнем, так и в верхнем регистре, при этом регистр знаков имеет имени файла допускается применять знаки «.», «-», «_», «~», также ряд остальных знаков, но их внедрение может иметь особое
К особым относятся символам «*», «?», «/», «», «»», «~». При помощи знаков «*» и «?» можно указывать шаблоны» подстановки имен, которые могут иметь довольно сложную структуру. знак «/» неприемлимо применять в качестве имени файла, так как он предназначен для разделения каталогов при указании пути к файлу. знак «» в главном употребляется для переноса ввода текста на последующую строчку. Использования данного знака в имени файла, обычно, заключается в экранировании пробелов меж отдельными словами имени файла. В ОС Linux имена файлы могут содержать пробелы, но их нужно экранировать с помощью знака «» либо записывать имя файла в кавычки. Единичный знак «~» имеет особенное каталог юзера.
В прошлом разделе уже упоминались особые сборники «.» и «..», которые употребляются, соответственно, для воззвания к текущему рабочему каталогу и родительскому каталогу. В случае использования знака «.» в качестве первого знака имени файла, данный файл будет укрыт для обыденного просмотра, а так же для команды удаления, если при запуске данной команды не была указана соответственная функция.
Длина имени файла в ОС Linux зависит от типа файловой системы, на которой размещается данный файл. На файловой системе ext3, применяемой в ОС Linux по дефлоту, наибольшая длина названии файла не может превосходить 255 знаков.
Последующие команды являются базисными для проведения ежедневных операций администрирования ОС. К таковым командам относятся команды, дозволяющие просматривать, копировать, перемещать, переименовывать и удалять файлы.
]]>