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

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

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

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

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

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

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

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

person mins    schedule 26.06.2014    source источник


Ответы (2)


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

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

  • Устройство хранения. Устройство – это физическое хранилище, в котором вы можете хранить данные. Они часто доступны в режиме «произвольного доступа», например. получить бит номер 1337 -> 1 (упрощенно). Примерами таких устройств являются: жесткие диски, твердотельные накопители, USB-накопители, компакт-диски, 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

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

person Absurd-Mind    schedule 26.06.2014
comment
@mins Помогает ли вам этот ответ или я пропустил что-то важное? - person Absurd-Mind; 03.07.2014

Общая картина (Виндовс как)

введите здесь описание изображения
Источник значков: vector.me


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

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

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

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

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

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

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

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

MBR

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

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

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

GPT

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

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

Изображение

образ – это снимок тома (файлов и других данных) в один файл, аналогично в zip-файл. Образ из тома можно расширить на другой том, а образ также можно «смонтировать» или «присоединить», чтобы он выглядел как любой другой том или отображался как каталог существующего тома.

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


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

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

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

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

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

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

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

  • Андроид использует 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

person mins    schedule 07.07.2020