Устройство против Разделения против Файловой системы против Объема: как эти понятия связаны друг с другом, точно

Как эти понятия связаны друг с другом, с точки зрения разработчика Java?

Мой вопрос: может ли кто-нибудь предоставить объяснения или ссылки для простых и точных / общепринятых определений? Tks.

для справки, документы, которые я нашел, но которые мне не понятны:

http://arxiv.org/ftp/cs/papers/0508/0508063.pdf http://arxiv.org/ftp/cs/papers/0508/0508063.pdf

Не очень повезло в Google.

Мои первоначальные предположения:

  • В начале это физическое устройство и его драйвер.
  • Раздел - это вид части устройства, предоставляемой драйвером, не связанной с концепцией файловой системы.
  • Том - это имя, которое определенным образом организовано для набора разделов (например, RAID).
  • Файловая система располагается поверх тома для хранения данных в файловых единицах.
  • Файловая система обычно обеспечивает древовидное представление тома.
  • Дерево файловой системы может молча включать другие деревья файловой системы, используя функции Junction / Link файловой системы.

3 ответа

Давайте начнем с некоторых основ:

  • Данные: данные - это просто набор битов по порядку. Интерпретация содержимого зависит от приложения, которое вы используете для чтения данных. Пример 1: Вы пробуете это с помощью текстового редактора, тогда это приложение может связать 8 бит и интерпретировать их как символы ASCII. Пример 2: Вы пытаетесь открыть файл с помощью аудиопроигрывателя, затем он, например, попытается собрать 12 бит вместе, чтобы получить одну амплитуду в воспроизводимом аудио.

  • Устройство хранения: устройство представляет собой физическое хранилище, где вы можете хранить данные. Они часто доступны в режиме произвольного доступа, например, получают бит номер 1337 -> 1 (упрощенно). Примерами этих устройств являются: жесткие диски, твердотельные диски, флешки, компакт-диски, DVD, а также память вашего компьютера.

Эти две вещи - все, что вам нужно: 1. Устройство для хранения / чтения данных. 2. Правила обращения с данными.

Пример. Допустим, вы скопировали двоичный файл в начало жесткого диска и попросили компьютер загрузиться с этого жесткого диска. Компьютер прочитает первую команду и выполнит ее, а затем прочитает следующую команду и так далее. Это то, что делает загрузчик. На этом раннем этапе нет задействованных файловых систем, разделов и т. Д.

В начале разработки программного обеспечения вы не "открывали файл", вы "читали байты от 100 до 180" и работали с этими данными (возможно, 80 байтов являются строкой или аудиоданными). Работа с числами стала раздражающей (С чего начинается моя строка? Было ли это 40? Как долго это было снова? Какая строка это?), Поэтому Файловые системы были изобретены:

  • Файловая система: Файловая система - это просто слой для того, чтобы получить некоторое значение для байтов. Файл в файловой системе - это просто информация о том, где данные начинаются, как долго они хранятся, и более простой способ их обработки ("diary.txt" легче обрабатывать, чем "4000 байт, начиная с байта 500"). Пути и древовидная структура - это просто вещь, которая делает поиск и организацию файлов более удобным.

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

    Пример: Файловая система получает данные ([---Data---]), обрабатывает его и позволяет получить доступ к чанкам ([D]) данных.

    [---Data---] -> Filesystem -> [D][D][D][D]

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

    `HDD ---> Файловая система ---> Файл ---> Файловая система ---> Файл

Это основные понятия, на мой взгляд. Вы говорили о некоторых других вещах, таких как разделы, (логические) тома, группы томов, контейнер (шифрование) и т. Д. Не путайтесь с этими вещами, это просто другие уровни для организации данных. При ближайшем рассмотрении вы увидите, что это в основном файловые системы. Давайте рассмотрим разделы: Раздел содержит информацию о том, где в базовых данных он начинается, как долго он длится, и способ его решения (например, раздел № 2). Звучит знакомо?

Итак, как на это смотрит Java-разработчик? Большую часть времени вы будете получать доступ к данным через File, Хотя может быть вполне разумно писать / читать на жесткий диск напрямую. Я думаю, что лучший подход: используйте источник данных, который лучше всего подходит для вашего приложения:

Пример:

  • организованные данные? -> База данных
  • текст? -> Файл
  • инструмент для организации разделов -> чтение непосредственно с устройства, например /dev/sd0

Надеюсь, что это поможет прояснить некоторые вещи.

Общая картина (как в Windows)


Источник иконок: https://vector.me/


Диск, привод, раздел, том

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

Диски разделены на секторы, каждый сектор содержит одинаковое количество байтов. У секторов есть номер сектора, который можно использовать для ссылки на них по отдельности.

Раздел и том: часто используются как взаимозаменяемые, но это не одно и то же, в одном разделе может быть несколько томов.

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

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

Операционная система должна отслеживать тома в системе. Здесь хранятся файлы и каталоги.

Разбиение может быть выполнено с использованием двух основных схем разметки:

MBR

MBR использовалась с устаревшей прошивкой BIOS. MBR может создать до 4 разделов на диске, основных или расширенных. Видимое пространство на диске ограничено 2 ТБ, лишнее пространство не может быть использовано разделами.

На каждом диске может быть только один расширенный раздел, этот раздел можно разделить на 128 логических томов.

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

GPT

GPT поддерживает диски размером более 2 ГБ и до 128 разделов на диске. GPT не совместим с BIOS, на компьютере должна быть установлена прошивка EFI.

GPT содержит поддельную MBR в начале своего пространства. Эта MBR показывает, что диск является одним разделом MBR, чтобы справиться с инструментами, не распознающими GPT.

Образ

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

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


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

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

Файловая система заботится о содержимом и структуре файла (дереве). Каталогам и файлам предоставляются свойства (например, только чтение) и права доступа.

В ОС DOS использовалась устаревшая файловая система FAT. Он по-прежнему поддерживается современными устройствами в целях совместимости и обмена. Версии FAT: FAT12, FAT16, FAT32 соответствуют количеству битов, используемых в записях файла, определяя количество секторов, на которые можно ссылаться. FAT32 может ссылаться на 232= 4294967296 секторов. Таким образом, с секторами размером 512 байт FAT32 может управлять 2 ТБ.

Современные версии Windows используют NTFS. NTFS добавляет поддержку метаданных, списка управления доступом(разрешений) и ведения журнала.

  • MacOS использует APFS.

  • Linux часто по умолчанию использует ext4.

  • Android использует ext4.

  • Оптические диски (CD, DVD, Blu-ray) часто используют UDF.

Диск, разделы, тома и файловые системы в Windows (MBR):


Источник

Фрагментация

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

HFS + и ext4 имеют механизмы контроля фрагментации, но для ограничения фрагментации большинство файловых систем выделяют пространство для файла целыми блоками / кластерами, т.е. блоком, содержащим заданное количество смежных секторов. Например, NTFS можно настроить для выделения кластеров по 4 КБ. Некоторые файловые системы могут уменьшить эффективный размер неиспользуемого пространства, но файл обычно занимает больше места, чем фактически требуется для хранения данных.


Поддержка загрузки

Когда прошивка BIOS/EFI запускает компьютер, файловая система, которая является частью ОС, недоступна. Вместо этого BIOS/EFI ищет загрузочный сектор ( главную загрузочную запись на ПК), записанный на загрузочном диске во время разбиения на разделы и / или установки ОС. Этот код представляет собой загрузочную программу, которая может загружать и выполнять соответствующий код из активного раздела для запуска основных компонентов ОС, из которых файловая система предоставляет функции для загрузки файлов. Затем ОС берет на себя управление компьютером.


Дополнительные источники:

https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2003/cc787202(v=ws.10)https://en.wikiversity.org/wiki/IT_Fundamentals/2014/File_Systemshttps://www.howtogeek.com/school/using-windows-admin-tools-like-a-pro/lesson4/?PageSpeed=noscripthttps://www.lifewire.com/volume-vs-partition-2260237https://en.wikipedia.org/wiki/File_system_fragmentation

  • Устройство, физическое запоминающее устройство
  • Раздел, часть пространства хранения, определенная в таблице разделов.
  • Файловая система, таблица для сопоставления файлов с адресами хранения
  • Том, любое хранилище с файловой системой (файловой таблицей), расположенной в самом начале

Следовательно, то, что обычный пользователь использует в операционных системах, - это тома:

  • C:, D:, E: это тома Windows (также известные как диски)
  • Все, что получает mounted - том в Linux

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

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

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


Путаница вызывает то, что Amazon EBS использует термин «том» для обозначения (виртуального) устройства. Вам нужно будет смонтировать том EBS, а затем создать разделы и файловые системы для его использования.

Другие вопросы по тегам