Где имя файла, хранящегося в файловой системе? [закрыто]

Не уверен, что это правильный стек-сайт, чтобы задать этот вопрос, но я обнаружил, что это наиболее «логичный».

У нас есть большой спор по поводу того, где в системе хранится имя файла. Один из нас считает, что имя файла хранится в метаданных файлов. Остальные не согласны, мы думаем, что имя файла каким-то образом хранится в каталоге или файловой системе. Если это правильно, то как файловая система указывает от имени файла на правильный файл и двоичные данные?

Сохраняется ли он с каким-то идентификатором или файловая система добавляет ссылку до точки на жестком диске, где находится файл?

Я потерялся? Я попытался найти это в Интернете, но не смог найти то, что искал.

Изменить: я вижу, что некоторые из вас спрашивают, о какой файловой системе я говорю, но я спрашиваю об этом «в общем». Если некоторые файловые системы не хранят это в своей системе, это означает, что имя файла должно храниться в метаданных? Где еще должно храниться имя файла?


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

«Диск» — это не что иное, как очень длинная цепочка нулей и единиц. Компьютер должен использовать стандартный метод управления этими нулями и единицами, называемый «файловой системой». На разных типах компьютеров существует множество различных типов файловых систем — FAT32, NTFS, EXTFS, ResierFS и т. Д. Выбор файловой системы имеет решающее значение для соотношения между компьютером, имеющим доступ к диску, и нулями и единицами, хранящимися на диске. Если файловая система отформатирована как EXTFS, но компьютер по какой-то причине решает использовать ResierFS для управления диском, это закончится полным повреждением данных.

Например, многие файловые системы на основе Unix , EXTFS и его производные логически разделят диск на несколько разделов. Один раздел — это «таблица индексных дескрипторов». Эта область содержит inodes. Каждый индексный дескриптор относится к конкретному файлу и будет описывать, например, тип файла («обычный» файл, каталог, устройство, сокет и т. Д.), Владельца, разрешения и раздел (разделы) файла « data «часть диска, где могут быть расположены данные файла.

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

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

  • находит его индексный дескриптор
  • замечает, что это каталог.
  • получает имя следующего объекта в пути.
  • находит этот объект в каталоге
  • repeat

, пока, наконец, не будет найден объект, индексный дескриптор которого указывает «не каталог».

Итак

Один из нас считает, что имя файла хранится в метаданных файлов.

Не в большинстве классических файловых систем Unix, нет. В FAT32 и NTFS я понятия не имею.

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

В большинстве классических файловых систем Unix — да.

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

Все хранится в файловой системе.


1

Сначала — это технически зависит от файловой системы.

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

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

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

Поделиться
Улучшите это ответ
ответ дан

20 нояб. >

  • Имеет ли это означает, что перечисленные вами метаданные хранятся не в самом файле, а в отдельном файле или таблице? — OptimusCrime 20 нояб., В 17:54
  • Вы не можете думать об этом как о «файле». Это последовательность блоков. Inode — это разбитый на части набор блоков, который содержит необработанные данные для файловой системы, чтобы определить атрибуты (включая имя) того, что люди в пользовательском пространстве считают «файлом». — thinice 20 ноя. ’12 в 19:32
добавить комментарий |

Во-первых, это технически зависит от файловой системы.

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

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

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


1

Без указания ОС или файла системного типа, ответить на этот вопрос практически невозможно.

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

Поделиться
Улучшить этот ответ
ответил 20 ноября ’12 в 17:49
  • Я не очень знаком с различными файловые системы. Так что я надеялся на «общий» ответ. Означает ли это, что некоторые системы хранят в метаданных только имя файла? — OptimusCrime 20 нояб., 17:52
  • 6
    На этот вопрос нет «общего» ответа. Вы также можете спросить: «Где на приборной панели автомобиля я найду датчик уровня топлива?» но это зависит от машины. — hymie 20 ноя. ’12 в 18:01
добавить комментарий |

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

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


0

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

Поделиться
Улучшите это ответ
Создан 20 ноя. 2012 г. в 20:42.
добавить комментарий |

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

Оцените статью
Botgadget.ru
Добавить комментарий