Презентация "Файловая система операционной системы Linux"

Подписи к слайдам:
  • Linux
Файловая система - способ хранения и организации доступа к данным на информационном носителе или его разделе.
  • Файловая система - способ хранения и организации доступа к данным на информационном носителе или его разделе.
  • Файл - это отдельная область данных на одном из носителей информации, у которой есть собственное имя.
Имя файла может содержать до 255 любых символов, кроме наклонной черты / и нулевого кода.
  • Имя файла может содержать до 255 любых символов, кроме наклонной черты / и нулевого кода.
  • Linux всегда различает заглавные и строчные буквы в именах файлов и каталогов, поэтому "methody", "Methody" и "METHODY" будут тремя разными именами.
  • Имеется ряд символов, которые имеют в оболочке shell специальное значение и которые поэтому не рекомендуется включать в имена. Это следующие символы:
  • @ # $ & ~ % * ( ) [ ] { } ' " \ : ; > <c ` пробел
В разных файловых системах могут использоваться в качестве атрибутов разные характеристики, например:
  • В разных файловых системах могут использоваться в качестве атрибутов разные характеристики, например:
  • информация о разрешенном доступе,
  • пароль для доступа к файлу,
  • владелец файла,
  • создатель файла,
  • признак "только для чтения",
  • признак "скрытый файл",
  • признак "системный файл",
  • признак "архивный файл",
  • признак "двоичный/символьный",
  • признак "временный" (удалить после завершения процесса),
  • признак блокировки,
  • длина записи,
  • указатель на ключевое поле в записи,
  • длина ключа,
  • времена создания, последнего доступа и последнего изменения,
  • текущий размер файла,
  • максимальный размер файла.
Файлы физических устройств.
  • Файлы физических устройств.
  • Все подключаемые к компьютеру устройства (жесткие и съемные диски, терминал, принтер, модем и т. д.), представляются файлами.
  • Взаимодействием с физическими устройствами в Linux управляют драйверы устройств, которые либо встроены в ядро, либо подключаются к нему как отдельные модули. Для взаимодействия с остальными частями операционной системы каждый драйвер образует коммуникационный интерфейс, который выглядит как файл. Большинство таких файлов для различных устройств располагаются в каталоге /dev.
  • /dev/cdrom – на устройство CD-ROM;
  • /dev/kbd – клавиатура (PS/2);
  • /dev/mixer* - доступ к звуковой карте
  • /dev/psaux – мышь PS/2 и т. п..
Именованные каналы (pipes) (или буферы FIFO (First In — First Out)). Файлы этого типа служат в основном для того, чтобы организовать обмен данными между разными приложениями (pipe переводится с английского как труба).
  • Именованные каналы (pipes) (или буферы FIFO (First In — First Out)). Файлы этого типа служат в основном для того, чтобы организовать обмен данными между разными приложениями (pipe переводится с английского как труба).
  • Доменные гнезда (sockets)
  • Гнезда — это соединения между процессами, которые позволяют им взаимодействовать, не подвергаясь влиянию других процессов.
  • Символические ссылки (symlinks)
  • Помимо жестких ссылок в Linux имеется другой тип ссылок, так называемые символические ссылки. В отличие от жестких ссылок символические ссылки могут указывать на файлы, расположенные в  другой файловой системе, например, на монтируемом носителе, или даже на другом компьютере.
  • Обычные файлы предназначены для хранения пользовательских или системных данных.
  • Каталог – это список ссылок на файлы или другие каталоги.
  • Принято говорить, что каталог содержит файлы или другие каталоги, хотя в действительности он только ссылается на них, физическое размещение данных на диске обычно никак не связано с размещением каталога. Каталог, на который есть ссылка в данном каталоге, называется подкаталогом или вложенным каталогом.
  • Домашний каталог“ — каталог, в котором пользователь имеет все права: может создавать и удалять файлы, менять права доступа к ним и т. д. В каталоговой структуре Linux домашние каталоги пользователей обычно размещаются в каталоге /home и имеют имена, совпадающие с именем пользователя. Когда пользователь входит в систему, текущим каталогом становится домашний каталог данного пользователя.
  • Имя
  • Описание
  • /
  • Корневой каталог
  • /bin
  • Наиболее важные команды и программы
  • /boot
  • Все, что необходимо для загрузки операционной системы, ядро Linux
  • /dev
  • Файлы устройств
  • /etc
  • Системные конфигурационные файлы
  • /home
  • Домашние каталоги пользователей
  • /lib
  • Общие библиотеки, модули ядра
  • /mnt
  • Это каталог для монтирования локальных и удаленных файловых систем
  • /opt
  • Дополнительные программные пакеты
  • /ргос
  • Информация, касающаяся ядра; управление процессами
  • /root
  • Домашний каталог пользователя root
  • /sbin
  • Системные команды
  • /tftpboot
  • Поддержка сетевой загрузки ОС
  • /tmp
  • Временные файлы
  • /usr
  • Иерархия вторичных программных файлов
  • /var
  • Переменные данные (например, регистрационные журналы); файлы спула (например, принтера)
Пользовательские/системные файлы -это все файлы, созданные пользователем и не принадлежащие ни одному из компонентов системы.
  • Пользовательские/системные файлы -это все файлы, созданные пользователем и не принадлежащие ни одному из компонентов системы.
  • Изменяющиеся/неизменные файлы. К неизмененным файлам относятся все статические компоненты программного обеспечения: библиотеки, исполняемые файлы и т. д. - все, что не изменяется само без вмешательства системного администратора. Изменяющиеся файлы - это те, которые изменяются без вмешательства человека в процессе работы системы: системные журналы, очереди печати и пр.
  • Разделяемые/неразделяемые файлы. Это разграничение становится полезным, если речь идет о сети, в которой работает несколько компьютеров. Значительная часть информации при этом может храниться на одном из компьютеров и использоваться всеми остальными по сети (к такой информации относятся, например, многие программы и домашние каталоги пользователей). Однако часть файлов нельзя разделять между системами (например, файлы для начальной загрузки системы).
  • Название устройства
  • в ОС Windows
  • Тип устройства
  • Название устройства
  • в ОС Linux
  • Примечания
  • A:
  • 1-й флоппи диск
  • /dev/fd0
  • B:
  • 2-й флоппи диск
  • /dev/fd1
  • C:
  • 1-й жесткий диск (master)
  • /dev/had
  • На 1-м IDE канале
  • D:
  • 2-й жесткий диск (slave)
  • /dev/hdb
  • На 1-м IDE канале
  • E:
  • 3-й жесткий диск (master)
  • /dev/hdc
  • На 2-м IDE канале
  • F:
  • 4-й жесткий диск (slave)
  • /dev/hdd
  • На 2-м IDE канале
  • G:
  • SCSI CD-ROM
  • /dev/scd0
Полным именем файла (или путем к файлу) называется список имен вложенных друг в друга подкаталогов, начинающийся с корневого каталога и оканчивающийся собственно именем файла.
  • Полным именем файла (или путем к файлу) называется список имен вложенных друг в друга подкаталогов, начинающийся с корневого каталога и оканчивающийся собственно именем файла.
  • При этом имена подкаталогов в этом списке разделяются тем  же символом /, который служит для обозначения корневого каталога.
  • Например: /home/methody/
EXT2/3,
  • EXT2/3,
  • ReiserFS,
  • JFS,
  • ХFЗ,
  • CRAMFS,
  • HPFS,
  • ISO9660,
  • Minix,
  • FАТ,
  • NCPFS,
  • NFS, SMBFS, SYSV, UFS, UMSDOS, VFAT, NTFS.
Это класс файловых систем, характерной чертой которых является ведение журнала, хранящего список изменений и в той или иной степени помогающего сохранить целостность файловой системы.
  • Это класс файловых систем, характерной чертой которых является ведение журнала, хранящего список изменений и в той или иной степени помогающего сохранить целостность файловой системы.
  • Журналируемая файловая система ведёт постоянный учёт всех операций записи на диск. Благодаря этому после сбоя электропитания файловая система всегда автоматически возвращается в рабочее состояние.
Существует несколько типов файловых систем, которые в полной мере поддерживают все возможности, необходимые для полноценной работы Linux.
  • Существует несколько типов файловых систем, которые в полной мере поддерживают все возможности, необходимые для полноценной работы Linux.
  • Ext2/3
  • Этот тип файловой системы разработан специально для Linux и традиционно используется на большинстве Linux-систем. Фактически в названии «Ext2/3» объединены названия двух вариантов этой файловой системы. Ext3 отличается от Ext2 только поддержкой журналирования, в остальном они одинаковы и легко могут быть преобразованы одна в другую в любой момент без потери данных. Обычно предпочтителен вариант с журналированием (Ext3) в силу его большей надёжности. При высокой параллельной дисковой загрузке производительность Ext3 снижается, что выражается в снижении скорости операций с диском и повышении значения нагрузки на систему (Load Average).
  • ReiserFS
  • Файловая система этого типа похожа скорее на базу данных: внутри неё используется своя собственная система индексации и быстрого поиска данных, а представление в виде файлов и каталогов — только одна из возможностей использования такой файловой системы. Традиционно считается, что ReiserFS отлично подходит для хранения огромного числа маленьких файлов. Поддерживает журналирование.
XFS
  • XFS
  • Файловая система, наиболее подходящая для хранения очень больших файлов, в которых постоянно что-нибудь дописывается или изменяется. Поддерживает журналирование. Лишена недостатков Ext3 по производительности, но при её использовании выше риск потерять данные при сбоях питания (в том числе и по причине принудительного обнуления повреждённых блоков в целях безопасности; при этом метаданные файла обычно сохраняются и он выглядит как корректный). Рекомендуется использовать эту файловую систему с проверенным аппаратным обеспечением, подключенным к управляемому источнику бесперебойного питания (UPS).
  • SWAPFS
  • Этот тип файловой системы находится на особом положении — он используется для организации на диске области подкачки (swap). Область подкачки используется в Linux для организации виртуальной памяти: когда программам недостаточно имеющейся в наличии оперативной памяти, часть рабочей информации временно размещается на жёстком диске. JFS Разработана IBM для файловых серверов с высокой нагрузкой: при разработке особый упор делался на производительность и надёжность, что и было достигнуто. Поддерживает журналирование.
ext (extended filesystem)
  • ext (extended filesystem)
  • Появилась в апреле 1992 года, это была первая файловая система, изготовленная специально под нужды Linux ОС. Разработана Remy Card с целью преодолеть ограничения файловой системы Minix.
  • ext2 (second extended file system)
  • Была разработана Remy Card в 1993 году. Не журналируемая файловая система, это был основной её недостаток, который исправит ext3.
  • ext3 (third extended filesystem)
  • Расширение ext2, способное к журналированию. Разработана Стивеном Твиди (Stephen Tweedie) в 1999 году, включена в основное ядро Linux в ноябре 2001 года. На фоне других своих сослуживцев обладает более скромным размером пространства, до 4 тебибайт (4*240 байт) для 32-х разрядных систем. На данный момент является наиболее стабильной и поддерживаемой файловой системой в среде Linux.
Reiser4
  • Reiser4
  • Первая попытка создать файловую систему нового поколения для Linux. Впервые представленная в 2004 году, система включает в себя такие передовые технологии как транзакции, задержка выделения пространства, а так же встроенная возможность кодирования и сжатия данных. Ханс Рейзер (Hans Reiser), главный разработчик системы, рекламировал использовать своё детище непосредственно как БД с улучшенными метаданными. После того, как Ханс Рейзер был осуждён за убийство в 2008 году, дальнейшая судьба системы стала сомнительной.
  • ext4
  • Попытка создать 64-х битную ext3 способную поддерживать больший размер файловой системы (1 эксбибайт). Позже добавились возможности — непрерывные области дискового пространства, задержка выделения пространства, онлайн дефрагментация и прочие. Обеспечивается прямая совместимость с системой ext3 и ограниченная обратная совместимость при недоступной способности к непрерывным областям дискового пространства.