Файловая система ext4

Что такое Windows?

Windows — это лицензируемая операционная система с закрытым исходным кодом, разработанная компанией Microsoft.

Первая версия Windows, известная как Windows 1.0, появилась в 1985 году и была основана на ядре MS-DOS. После стартового запуска системы компания Microsoft начала разрабатывать новые версии Windows, включая первое крупное обновление и Windows версии 3.0.

В 1995 году появилась, пожалуй, самая распространенная версия — Windows 95. Она работала на 16-битном ядре DOS и 32-битном пользовательском окружении. На данный момент, самыми свежими версиями данной системы являются:

Для настольных ПК — Windows 10 (2015 г.).

Для серверов — Windows Server 2019.

Несмотря на огромное количество новых функций и возможностей для современных вычислений, архитектура ядра Windows практически не претерпела изменений.

Структура файловой системы

Ubuntu поддерживает стандарт FHS, описывающий какая информация должна находится в том или ином месте «дерева». Ниже приведена таблица с кратким описанием основных директорий.

Директория Описание
Корневая директория, содержащая всю файловую иерархию.
/bin/ Основные системные утилиты, необходимые как в однопользовательском режиме, так и при обычной работе всем пользователям (например: cat, ls, cp).
/boot/ Загрузочные файлы (в том числе файлы загрузчика, ядро и т.д.). Часто выносится на отдельный раздел.
/dev/ Основные файлы устройств системы (например физические устройства sata винчестеры /dev/sda, видео камеры или TV-тюнеры /dev/video или псевдоустройства, например «чёрные дыры» /dev/null, /dev/zero ).
/etc/ Общесистемные конфигурационные файлы, лежат в корне директории и файлы конфигурации установленных программ (имя происходит от et cetera).
/etc/X11/ Файлы конфигурации X Window System версии 11.
/etc/apt/ Файлы конфигурации пакетного менеджера Apt.
/etc/samba/ Файлы конфигурации сервера Samba, расшаривающего файлы по сети с windows машинами.
/home/ Содержит домашние директории пользователей, которые в свою очередь содержат персональные настройки и данные пользователя. Часто размещается на отдельном разделе.
/lib/ Основные библиотеки, необходимые для работы программ из /bin/ и /sbin/.
/media/ Точки монтирования для сменных носителей, таких как CD-ROM, DVD-ROM, flash дисков.
/opt/ Дополнительное программное обеспечение.
/proc/ Виртуальная файловая система, представляющая состояние ядра операционной системы и запущенных процессов в виде каталогов файлов.
/root/ Домашняя директория пользователя root.
/sbin/
/srv/ Данные, специфичные для окружения системы.
/tmp/ Временные файлы (см. также /var/tmp).
/usr/ Вторичная иерархия для данных пользователя; содержит большинство пользовательских приложений и утилит, используемых в многопользовательском режиме. Может быть смонтирована по сети только для чтения и быть общей для нескольких машин.
/usr/bin/ Дополнительные программы для всех пользователей, не являющиеся необходимыми в однопользовательском режиме.
/usr/include/ Стандартные заголовочные файлы.
/usr/lib/ Библиотеки для программ, находящихся в /usr/bin/ и /usr/sbin/.
/usr/sbin/ Дополнительные системные программы (такие как демоны различных сетевых сервисов).
/usr/share/ Архитектурно-независимые общие данные.
/usr/src/ Исходные коды (например, здесь располагаются исходные коды ядра).
/usr/local/ Третичная иерархия для данных, специфичных для данного хоста. Обычно содержит такие поддиректории, как bin/, lib/, share/. Она пригодится, когда /usr/ используется по сети.
/var/ Изменяемые файлы, такие как файлы регистрации (log-файлы), временные почтовые файлы, файлы спулеров.
/var/cache/ Данные кэша приложений. Сюда скачиваются пакеты перед их установкой в систему, здесь же они какое-то время и хранятся
/var/lib/ Информация о состоянии. Постоянные данные, изменяемые программами в процессе работы (например, базы данных, метаданные пакетного менеджера и др.).
/var/lock/ Lock-файлы, указывающие на занятость некоторого ресурса.
/var/log/ Различные файлы регистрации (log-файлы).
/var/mail/ Почтовые ящики пользователей.
/var/run/ Информация о запущенных программах (в основном, о демонах).
/var/spool/ Задачи, ожидающие обработки (например, очереди печати, непрочитанные или неотправленные письма).
/var/tmp/ Временные файлы, которые должны быть сохранены между перезагрузками.
/var/www/ Директория веб-сервера Apache, всё что находится внутри транслируется им в интернет (конфигурация по-умолчанию)

Настройки

Правильная настройка всех системных параметров отражается на дальнейшей работе, удобстве и производительности ПК, это знает каждый рядовой пользователь

Linux отличается от других ОС важной чертой – все опции с настройками расположены в одной точке доступа

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

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

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

Некоторые люди используют метод спонтанного «тыка», выискивая нужную опцию, с непривычки приходится пробираться сквозь всевозможные диалоговые окна, выпадающие подменю и списки.

Способ организации файловой системы в Linux

Благодаря такому подходу, добавление поддержки какой-нибудь новой файловой системы не потребует вносить соответствующих изменений в само ядро ОС.

Виртуальная файловая система (сокр. «VFS» от англ. «Virtual File System») — это специальный слой абстракции, предоставляющий программный интерфейс (единый набор команд) для взаимодействия между ядром и конкретной реализацией файловой системы.

поддерживает различные типы файловых систем (ext3, ext4, ReiserFS, Btrfs, XFS и многие другие). На сегодняшний день наиболее часто используемой файловой системой является ext4, поэтому в данной статье основной упор будет сделан именно на нее.

Примечание: В Linux практически все объекты представлены в виде файлов (например, каталоги, принтеры, разделы диска, устройства и т.д.). Это делает еще более важным изучение того, как работает файловая система Linux.

btrfs

btrfs – это более функциональная и сложная файловая система чем ext4. Начали разрабатывать для Linux в 2007 году, а в 2014 году признали стабильной. Вот некоторые интересные функции:

снимки состояния, которые позволяют запомнить состояние на определенный момент времени всех файлов и вернуться к этому состоянию в последующем

Полезно когда вы случайно удалили что-то важное или какой-то вирус зашифровал все ваши данные на компьютере;

создание RAID конфигурации на уровне файловой системы;

сжатие данных, когда данные при создании автоматически сжимаются экономя свободное место на диске;

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

контрольные суммы для данных и метаданных, что повышает надежность файловой системы;

дефрагментация данных на лету;

квоты на разделы;

динамическая аллокация inode;
максимальный размер файла 16 EB;
наибольший размер раздела 16 EB;
максимальный размер имени файла 255 B;

Из минусов: файловая система не так проверена временем как ext4, активно использует оперативную память и работает медленнее чем ext4.

Нет букв дисков – всё есть в /

Windows выделяет каждой разметке и устройству букву его диска. Кушать ли у вас несколько жестких дисков, несколько разметок на одном и том же диске, или подсоединены какие-либо конструкции, каждая файловая система будет использовать собственную букву.В Linux нет литеров дисков. Вместо этого он позволяет получать доступ к другим файловым системам сквозь специальные директории (Windows также может это делать, но это точно не трудится изначально).В Linux все находится в / – корневой директории. Выше корневой директории нет файлов. Когда вы присоединяете, так, устройство к своему компьютеру, оно становится доступно в директории /media/. Содержимое директории отображает содержание соответственнее подключенной разметки.

Если у вас несколько жестких дисков или разметок на этих дисков, вы можете монтировать их куда вы ходите в вашей файловой системе. Так, вы можете поместить ваши директории на отдельную разметку, монтируя иную разметку в директорию /home. На самом деле, вы можете примонтировать разметку совсем в любое место – даже в /myBackupDrive.

Ядро операционной системы

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

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

Драйверы встроены в ядро. Большое количество программ размещается в пространстве пользователя, учитывая графическую оболочку. Такая структура ядра намного безопаснее, потому что если на этапе сборки ядра отключить поддержку модулей, запустить свой код на уровне ядра будет нереально.

Windows имеет кардинально другой вид ядра. Оно состоит из множества небольших частей библиотек dll, каждая из которых отвечает за свою функцию. Системные вызовы вообще не применяются. В замену этому пользовательские программы обращаются к библиотекам user32.dll, gdi32.dll, kenel32.dll, advapi32.dll, которые вызывают функции из ntdll.dll (напрямую имеет отношение к ядру).

Библиотека hal.dll управляет драйверами, которые подключаются к ядру отдельно. Пользовательский режим ядра дает возможность просто адаптировать систему к любому ПО. Но за это приходится жертвовать производительностью системы.

Вариативность

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

Есть мнение, что программная оболочка была создана для IT-специалистов, но за последние годы она стала намного доступнее и проще, чем была раньше. Новичкам, естественно вначале инициализации придется туговато, нужно будет потратить достаточно времени и провести ознакомительный курс, но оно того стоит!

А вот среднее знакомство с настройками уже позволит юзерам творить в «конструкторе» чудеса! Имея свободный доступ ко всему многогранному потенциалу конструктора, в котором насчитывается около 300 поддерживаемых дистрибутивов, можно каждый день создавать разнообразные программные средства, менять рабочие среды.

Ведь это здорово! Кроить операционную оболочку под свои запросы, вкусы, потребности, самостоятельно устраняя то, что считаешь лишним. Это просто колоссальный контраст в сравнение с продуктами Microsoft, в которых все решает разработчик!

Вы можете удалять или изменять открытые файлы

В Linux и иных операционных системах, основанных на UNIX, приложения не блокируют эксклюзивнй доступ к файлам так нередко, как они делают это в Windows. Представим, что вы смотрите видеофайл в VLC в Windows. Идут титры, и вы закончили глядеть его, поэтому вы пытаетесь удалить его. Вы увидите сообщение об ошибке – вам нужно вначале перестать смотреть файл в VLC перед тем, как вы сможете удалить его, переименовать или сделать с ним что-то ещё.

В Linux вы могли бы выслать или изменить видеофайл во время его воспроизведения. Вы не получите сообщений об ошибке, что файл сейчас используется.

Эти отличия также должны действовать и в других UNIX-подобных операционных системах. Разумеется, могут быть некоторые различия – например, Mac OS X нечувствительна к регистру, ровно как Windows.

Btrfs

Файловая система, которая активно использует метаданные в своей работе, что ускоряет процесс, но при утере метаданных теряются и сами данные.

При копировании данные не записываются целиком, записи подлежит лишь изменённая часть.

Из-за принципа работы хорошо подходит для создания снимков.

Управление томами и сжатие данных уже содержатся в ФС, поэтому не требуется установка дополнительного ПО.

Сама ФС была разработана в 07 году с прицелом на современные устройства, содержит оптимизации для работы с SSD, процессы обнаружения и исправления ошибок, поддерживается дефрагментация и дедупликация в реальном времени (Дедупликация — процесс сжатия за счет удаления неиспользуемых дубликатов файлов).

Формат хранения данных уже заморожен, а это основа ФС, но кодовая база разрабатывается. Периодически улучшения появляются и в самом ядре, над улучшением работают различные крупные компании. Файловая система Btrfs очень интересная и перспективная. 

Сравнение Windows и Linux. 7 основных различий

За последнее десятилетие Linux добился серьезных успехов, поднявшись из категории «Какая-то открытая операционная система» до уровня «Вау, эта штука действительно нужная вещь!». Linux постепенно переманивала определенных пользователей от операционной системы Windows со своими свободными возможностям и, возможно, даже вы думали о переходе на эту операционную систему. Но стоит ли это делать?

С объективной точки зрения, существуют реально убедительные причины, почему стоит перейти на нее, но я не буду вас убеждать сделать такой шаг или остаться на привычной операционной системе. Эта статья предназначена для тех, кто уже сделал свой выбор или уже склоняется к переходу на Linux. Если вы один из них, то это здорово! Но вы должны знать, что переход на новую операционную систему не похож на легкую прогулку в парке.

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

Особенности управления программами и обновлениями

В этом пункте ощущается большая разница между операционными системами windows и linux. Рассмотрим почему.

Linux имеет репозитории пакетов ПО. Нет особой необходимости скачивать программы с Сети. А это и безопасность, и надежность и возможность обновления. Процесс обновления происходит удобно с помощью одной команды сразу для всей системы у удобное для пользователя время.

Windows не имеет репозиториев. Необходимое ПО необходимо скачивать и самостоятельно устанавливать. Программы обновляются сами как и ОС, иногда в очень неудобное время для пользователя. А чтобы обновить, необходимо перезагрузить систему.

Интересует какой хостинг лучше – Linux или Windows? Ответ в статье по этой теме.

Отсутствие реестра

Вы слышали когда-нибудь о реестре Windows? Конечно, слышали, а если нет, то специально для вас небольшой вводный курс: это главная база всех основных параметров на вашем компьютере. Реестр содержит информацию о приложениях, паролях пользователей, информацию об устройствах, и другие данные о которых вы можете подумать. Если что-то не хранится в файлах, оно, скорее всего, хранится в реестре.

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

Что такое файловая система?

Люди могут подразумевать под файловой системой совсем разные понятия. Само словосочетание может иметь несколько значений и вам придется понимать о чем идет речь из контекста документа.

Давайте рассмотрим наиболее часто используемые значения слов файловая система

Мы не будем останавливаться на официальной трактовке, а попытаемся обратить внимание на сферу применения:

  • Все структура каталогов Linux, начиная с корня (/);
  • Конкретный формат раздела хранения данных, например, Ext3, Ext4, Btrfs, XFS и так далее. Ядро Linux поддерживает более 100 типов файловых систем, в том числе очень старых и новых. Каждый тип файловой системы использует свои структуры метаданных чтобы организовать работу с данными на диске;
  • Раздел или логический том, отформатированный в определенный тип файловой системы, который можно примонтировать к определенной точке монтирования.

Дальше рассмотрим как выполнена организация файловой системы Linux и ее основные функции.

Любителям поиграть

Всем любителям виртуальных игр, использующих «железо» по большей части для запуска всевозможных игр, отличным выбором станет установка ОС Windows. Это не значит, что нельзя скачивать игры на linux вместо windows, можно.

Популярные виртуальные игры запускаются без каких-либо проблем на обеих платформах, но если провести сравнение windows и linux, то выигрывает первая. Linux, даже при наличии многогранной функциональности, вряд ли можно назвать подготовленной «играбельной» платформой.

С перспективами игр на Linux можно ознакомиться в данной статье.

Самый оптимальный вариант для установки игр — это windows! Платформа является полностью подготовленной и совместимой по параметрам практически со всеми существующими играми, разработанными для ПК. Слабая сторона этой медали – доступ к виртуальному миру компьютерных развлечений осуществляется за отдельную плату.

Командный терминал

Linux имеет репутацию операционной системы предназначенной для вундеркиндов и эта репутация, в основном, держится из-за использования командного терминала. Вы спрашиваете, что за терминал? Это такой черный ящик с традиционным зеленым текстом, который можно использовать для выполнения команд. Другими словами, это аналог командной строки в Windows.

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

Файловая система ReiserFS

Файловая система этого типа похожа скорее на базу данных: внутри неё используется своя собственная система индексации и быстрого поиска данных, а представление в виде файлов (именованная область данных на носителе информации) и каталогов — только одна из возможностей использования такой файловой системы. Традиционно считается, что ReiserFS отлично подходит для хранения огромного числа маленьких файлов. Поддерживает журналирование.

Обычно под словом ReiserFS понимают третью версию (последняя — 3.6.21), а 4-ый именуют Reiser4. В настоящий момент разработка Reiser3 прекращена.

Типы файловых систем

Как уже было сказано, Linux поддерживает более 10 различных файловых систем, но создавать и выполнять запись, возможно, только в некоторые из них. Зато можно подключить их все к корневой файловой системе. Под типом мы подразумеваем совокупность структур и метаданных, необходимых для хранения файлов.

Основная причина почему они поддерживаются — это попытка организовать максимальную совместимость с другими операционными системами. А вот основные файловые системы linux, которые можно создавать:

  • btrfs;
  • cramfs;
  • ext2;
  • ext3;
  • ext4;
  • fat;
  • gfs2;
  • hfsplus;
  • minix;
  • msdos;
  • ntfs;
  • reiserfs;
  • vfat;
  • xfs.

Мы более подробно рассматривали особенности некоторых из них в статье типы файловых систем Linux.

Альтернативные файловые системы

Существует несколько альтернативных файловых систем, поддерживаемых ядром Linux.

XFS

XFS — это 64-разрядная файловая система, которая впервые была представлена в 1994 году и встроена в ядро Linux с 2001 года. XFS поддерживает максимальный размер файла в 8 эксбибайт и ограничивает длину имени файла 255 байтами. Она поддерживает ведение логов и, как и ext4, сохраняет изменения в лог-файле до того, как они будут зафиксированы в основной файловой системе. Это снижает вероятность повреждения файлов.

Данные структурированы в виде B+-деревьев, что обеспечивает эффективное распределение пространства и, следовательно, повышение производительности.

Основным недостатком этой системы является сложный процесс изменения размера существующей файловой системы XFS.

OpenZFS

OpenZFS — это платформа, которая объединяет функционал традиционных файловых систем и диспетчера томов. Впервые была представлена в 2013 году. OpenZFS поддерживает максимальный размер файла в 16 эксбибайт и ограничивает максимальную длину имени файла 255 символами. В качестве особенностей данной системы можно выделить защиту от повреждения данных, шифрование данных, поддержку накопителей увеличенного объема, копирование при записи и RAID-Z.

Основным недостатком OpenZFS является юридическая несовместимость между лицензиями CDDL (OpenZFS) и GPL (ядро Linux). Эта проблема решается путем компиляции и загрузки кода ZFS в ядро Linux.

Btrfs

Btrfs (сокр. от англ. «B–tree file system») — это файловая система, которая была разработана компанией Oracle и выпущена вместе с ядром Linux 2.6.29 в 2009 году. Btrfs поддерживает максимальный размер файла в 16 эксбибайт и ограничивает максимальную длину имени файла 255 символами.

Некоторые особенности Btrfs включают в себя:

   онлайн-дефрагментацию;

   добавление и удаление блочных устройств в режиме онлайн;

   поддержка RAID;

   настраиваемое для каждого файла или тома сжатие;

   клонирование файлов;

   контрольные суммы и возможность создания файлов подкачки и разделов подкачки.

JFS

JFS (сокр. от англ. «Journaled File System») — это файловая система, которая была разработана компанией IBM для AIX Unix в 1990 году. Она является альтернативой файловой системе ext. Она также может быть использована вместо ext4 там, где требуется стабильность при небольшом количестве затрачиваемых ресурсов.

ReiserFS

ReiserFS — это альтернатива файловой системе ext3, которая обладает улучшенной производительностью и расширенным функционалом. Ранее, ReiserFS использовалась в качестве файловой системы по умолчанию в SUSE Linux. ReiserFS поддерживает динамическое изменение размеров файловой системы. К недостаткам можно отнести относительно низкую производительность.

Примечание: Такие файловые системы, как NTFS, FAT и HFS могут использоваться в Linux, но корневая файловая система Linux на них не устанавливается, поскольку они для этого не предназначены. Swap — это файл подкачки, служащий источником дополнительной памяти в тех случаях, когда для выполнения программы требуется больше оперативной памяти, чем имеется в компьютере, — он не является отдельной файловой системой.

Типы файловых систем в Linux

Имеется довольно много разных файловых систем, которые отличаются друг от друга прирожденным устройством, однако пользователь везде найдёт привычную структуру из вложенных каталогов и файлов. Файловые системы выделяются скоростью доступа, надёжностью хранения данных, степенью устойчивости при сбоях, некоторыми вспомогательными возможностями. Современные операционные системы поддерживают по несколько типов файловых систем (помимо файловых систем, используемых для хранения данных на жёстком диске, также файловые системы CD и DVD и пр.). А вообще для каждой операционной системы обычно есть одна «традиционная» файловая система, какой-никакая предлагается по умолчанию, является универсальной и подходит абсолютному большинству пользователей.

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

Отличия файловых систем Linux и Windows

В файловых системах Linux отсутствуют папки Windows, Program Files, Users (хотя каталог /home/ очень похож на папку Users в Windows).

Структура каталогов Linux не просто использует разные имена для папок и файлов. В ней применяется в целом иной принцип их расположения. Например, приложение в Windows может хранить все свои файлы в папке C:\Program Files\Имя_приложения, в то время как в Linux данные файлы будут разделены между несколькими расположениями: двоичные файлы будут помещены в /usr/bin, библиотеки — в /usr/lib, а конфигурационные файлы — в /etc/.

Структура каталогов в Debian Linux

Чувствительность к регистру

В Windows вы не можете в одной папке одновременно иметь файлы file и FILE. Файловая система Windows не чувствительна к регистру, поэтому она обрабатывает их имена как один и тот же файл.

В Linux же файловая система является чувствительной к регистру букв. Это означает, что у вас в одной папке могут находиться файлы с именами file, File и FILE соответственно. При этом они будут отличаться своим содержимым, т.к. Linux рассматривает заглавные и строчные буквы как разные символы.

Косая черта vs. Обратная косая черта

Windows, как и DOS, использует обратную косую черту. Например, путь к каталогу пользователя в Windows имеет следующий вид:

В Linux же путь к домашнему каталогу пользователя представлен в виде:

Примечание: Также не трудно заметить, что URL-адрес в вашем веб-браузере — даже в Windows — использует символ прямой косой черты, например, .

Символ «/» вместо буквы диска

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

В Linux же дела обстоят совсем иначе: вместо букв здесь применяются пути к различным каталогам (в Windows такое тоже возможно, но требуется дополнительная настройка).

В Linux все файлы находятся в — корневом каталоге. Вне корневого каталога файлов нет. Когда вы подключаете к компьютеру какое-нибудь устройство, оно монтируется (подключается) в разделе /media/. При этом содержимое каталога будет отображать содержимое смонтированного раздела:

Если у вас несколько жестких дисков или разделов жесткого диска, вы можете смонтировать их в любом месте вашей файловой системы. Например, разместить свои домашние каталоги в отдельном разделе, смонтировав его в /home или в любой другой каталог, даже в /myBackupDrive.

Everything is a File

Точно так же, как каждая смонтированная файловая система является каталогом внутри корневого каталога , всё в Linux является файлом. Например, ваш первый жесткий диск в системе представлен каталогом /dev/sda, CD-привод доступен в /dev/cdrom, а ваша мышь — в /dev/mouse.

Примечание: Детально о принципе «Everything is a File» в Linux-системах мы расскажем в отдельной статье.

Вы можете удалять или изменять открытые файлы

В Linux и других UNIX-подобных операционных системах приложения не блокируют доступ к файлам так, как это делает Windows. Например, предположим, что вы смотрите фильм через медиаплеер VLC в Windows. Идут титры, вы закончили его смотреть и поэтому пытаетесь удалить. Система выдаст сообщение об ошибке — вам нужно прекратить просмотр файла в VLC, прежде чем вы сможете удалить его (переименовать или сделать с ним что-либо еще).

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

Монтирование файловых систем

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

Точка монтирования — это обычный каталог, как любая другая часть файловой системы. Например, домашняя папка смонтирована в каталог /home. И так далее.

Корневая файловая система ос Linux / подключается на раннем этапе загрузки. Другие файловые системы монтируются системой инициализации, например, SysVinit или Systemd. Точки монтирования настраиваются с помощью файла /etc/fstab. Также можно выполнять ручное монтирование в Linux с помощью команды mount. Каталог для монтирования необязательно должен быть пустым, он может содержать файлы, но тогда они будут просто скрыты.

Что такое файловая система

Полезные данные, такие как файлы и каталоги, напрямую на диск не записываются. Между разделом диска и файлами существует прослойка в виде файловой системы.

Файловая система – это средство, которое определяет различные правила работы с файлами, например:

  • как данные будут располагаться на диске;
  • как будет происходить запись, поиск, чтение или удаление файлов;
  • какие метаданные будут использоваться;
  • как обезопасить файлы от порчи (например при некорректном выключении компьютера);

Метаданные – данные о данных, например файл это данные, а метаданные это:

  • дата его создания;
  • пользователь создавший этот файл;
  • тип файла;
  • права доступа к этому файлу;
  • и подобная информация о файле.

Разные файловые системы имеют разные ограничения, например:

  • максимальный размер раздела;
  • наибольший размер файла;
  • максимальная длина имени файла.

Установщик Ubuntu 20.04 имеет несколько меньший выбор:

Далее пробежимся по этим файловым системам:

  • Ext2
  • Ext3
  • Ext4
  • btrfs
  • JFS
  • XFS
  • FAT16
  • FAT32

Ext4

Пожалуй, самая известная и часто встречаемая ФС, которая используется по умолчанию в большинстве дистрибутивов. Наиболее стабильна, так как развитие положено ещё в прошлом веке, планомерное развитие из Ext > Ext2 > Ext3.

Использует в своей работе журналирование, что даёт большую надёжность для файлов, но снижает скорость. Если появляется ошибка, то ФС возвращается к предыдущей версии из журнала. Благодаря журналу, даже при сбое записи ФС остаётся в безопасности.

В Ext4 была добавлена дефрагментация в реальном времени.

Не смотря на почтенный возраст, всё ещё разрабатывается. Разработчики планируют заставить ФС работать с контрольными суммами а автоматическом режиме и улучшить квоты, переложить их на ядро, это улучшит производительность.

Получила в своё распоряжение различные современные механизмы для улучшения производительности, включая работу с SSD, но структура устарела.

Журнал, который используется в работе и часто встречается в описании — принцип работы, при котором транзакции записываются сначала в журнал, а изменение/запись происходят уже после.

Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями:
Мой редактор ОС
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: