stringtranslate.com

Форк (файловая система)

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

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

Популярные файловые системы, которые могут использовать вилки, включают HFS+ от Apple и NTFS от Microsoft .

Альтернативы

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

Реализации

Яблоко

Разветвления файловой системы связаны с иерархической файловой системой Apple (HFS). [1] HFS и исходная файловая система Apple Macintosh MFS позволяли объекту файловой системы иметь два типа ответвлений: ответвление данных и ответвление ресурсов .

Вилка ресурса была разработана для хранения некомпилированных данных, которые будут использоваться графическим пользовательским интерфейсом системы (GUI), таких как локализуемые текстовые строки, значок файла, который будет использоваться Finder, или меню и диалоговые окна, связанные с приложением. . [2] Однако эта функция была очень гибкой, поэтому были найдены дополнительные варианты использования, такие как разделение документа текстового редактора на содержание и представление с последующим сохранением каждой части в отдельных ресурсах. Поскольку скомпилированный код программного обеспечения также хранился в ресурсе, часто приложения состояли только из ответвления ресурса и без ответвления данных.

Одна из наиболее малоизвестных особенностей HFS+ заключается в том, что файл может иметь произвольное количество пользовательских «именованных ветвей» в дополнение к традиционным вилкам данных и ресурсов. Эта функция практически не использовалась, поскольку Apple никогда не добавляла ее поддержку в Mac OS 8.1–10.3.9 . Начиная с версии 10.4 , была сделана частичная реализация для поддержки расширенных встроенных атрибутов Apple . [3]

В Mac OS X до Mac OS X v10.4 пользователи, запускающие утилиты командной строки Unix , такие как tar , рискуют потерять данные, поскольку утилиты не были обновлены для обработки разветвлений ресурсов файлов. [4]

Новелл

Начиная с 1985 года, файловая система Novell NetWare (NWFS) и ее преемница Novell Storage Services (NSS) были разработаны с нуля для использования различных методов хранения метаданных файла. Некоторые метаданные находятся в службах каталогов Novell (NDS), некоторые хранятся в структуре каталогов на диске, а некоторые хранятся, как это называет Novell, в «множественных потоках данных» вместе с самим файлом. Несколько потоков данных также позволяют клиентам Macintosh подключаться к серверам NetWare и использовать их .

Майкрософт

NTFS , файловая система, представленная в Windows NT 3.1 , поддерживает ответвления файловой системы, известные как альтернативные потоки данных (ADS). [5] ReFS , новая файловая система, представленная в Windows Server 2012 , изначально не поддерживала ADS, [6] [7] [8] , но в 64-разрядной версии Windows 8.1 и Server 2012 R2 появилась поддержка ADS длиной до до 128 КБ, был добавлен в ReFS. [9]

Изначально ADS предназначалась для добавления совместимости с существующими операционными системами, поддерживающими форки. [ нужна цитация ] Компьютерной программе можно указать открыть ADS, указав имя ADS после знака двоеточия (:) после пути к файлу. [10] Несмотря на поддержку, большинство программ, включая Проводник Windows и команду dir (до Windows Vista), игнорируют ADS. Проводник Windows копирует ADS и предупреждает, когда целевая файловая система их не поддерживает, а только вычисляет размер основного потока и не выводит список потоков файлов или папок. Начиная с Windows Vista , dirкоманда поддерживает показ ADS. [11] Windows PowerShell v3.0 и более поздних версий поддерживает управление ADS. [12]

Использование

Windows 2000 использует ADS для хранения миниатюр в файлах изображений и для хранения сводной информации (например, названия и автора) в любом файле без изменения основного потока. [13] [14] В Windows XP Microsoft осознала, что ADS подвержена потере при перемещении содержащих их файлов с томов NTFS; таким образом, Windows XP сохраняет их в основном потоке всякий раз, когда формат файла поддерживает это. [13] Windows Vista вообще прекратила поддержку добавления сводной информации, поскольку Microsoft решила, что они слишком чувствительны для ADS. [15] Но использование ADS для других целей не прекратилось. В пакете обновления 2 для Windows XP появилась служба выполнения вложений, которая хранит сведения о происхождении загружаемых файлов в идентификаторе зоны ADS , чтобы защитить пользователей от загружаемых файлов, которые могут представлять риск. [16] Internet Explorer и Windows 8 расширили эту функцию посредством SmartScreen . [17] Internet Explorer также использует ADS для хранения значков в файлах ярлыков Интернета . [10]

Солнце

Solaris версии 9 и более поздних версий позволяет файлам иметь ответвления. В Solaris ответвления называются расширенными атрибутами , хотя они не входят в обычное значение термина « расширенный атрибут ». Максимальный размер расширенного атрибута типа Solaris такой же, как максимальный размер файла, и они читаются и записываются так же, как файлы. Внутри они фактически хранятся и доступны как обычные файлы, поэтому их право собственности и разрешения могут отличаться от прав родительского файла. Подкаталоги отключены административно [ необходимы пояснения ] , поэтому их имена не могут содержать символы «/».

Расширенные атрибуты в сетевой файловой системе версии 4 аналогичны расширенным атрибутам в стиле Solaris.

Возможные риски безопасности и потери данных

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

Если различные системные утилиты (проводник дисков, антивирусное программное обеспечение, архиваторы и т. д.) не знают о различных разветвлениях, могут возникнуть следующие проблемы:

Рекомендации

  1. ^ Apple (2 июля 1996 г.). «Файловые развилки». Яблоко. Архивировано из оригинала 24 июля 2008 г. Проверено 18 ноября 2006 г.
  2. ^ Брюс Хорн. «Модель Великого объединения (1) - Ресурсы». Фольклор.org . Проверено 3 октября 2017 г.
  3. Сиракузы, Джон (28 апреля 2005 г.). «Mac OS X 10.4 Тигр». Арс Техника .
  4. ^ «Решения для резервного копирования с помощью командной строки в Mac OS X» . Яблоко. 29 октября 2005 г. Архивировано из оригинала 25 февраля 2008 года . Проверено 18 ноября 2006 г.
  5. ^ «Файлы и кластеры». Майкрософт. 7 января 2021 г. Проверено 15 августа 2023 г.
  6. Верма, Сурендра (16 января 2012 г.). Синофски, Стивен (ред.). «Создание файловой системы нового поколения для Windows: ReFS». Сборка Windows 8 . Майкрософт. Блоги MSDN . Архивировано из оригинала 16 февраля 2013 года . Проверено 20 января 2013 г.
  7. Фоли, Мэри Джо (16 января 2012 г.). «Microsoft публикует планы относительно своей новой файловой системы Windows 8». ЗДНет . CBS Интерактив . Проверено 21 января 2013 г.
  8. ^ Мартин Лукас. «Windows Server 2012: заменяет ли ReFS NTFS? Когда мне следует ее использовать?». ТехНет . Архивировано из оригинала 23 января 2013 года.
  9. ^ «Обзор устойчивой файловой системы» . Документы Майкрософт . Майкрософт . 13 января 2017 года . Проверено 15 августа 2023 г.
  10. ↑ Ab Law, Эрик (7 сентября 2013 г.). «Весело с Фавиконками». Документы Майкрософт . Майкрософт . Проверено 15 августа 2023 г.
  11. ^ Барт Де Смет (13 июля 2006 г.). «Используйте команду DIR Vista для отображения альтернативных потоков данных». Блог B# .NET . Архивировано из оригинала 27 сентября 2007 г. Проверено 7 июля 2007 г.
  12. ^ «Поставщик файловой системы (Windows PowerShell 3.0)» . ТехНет . Майкрософт . 9 августа 2012 г. Архивировано из оригинала 23 января 2015 г.
  13. ↑ Аб Чен, Раймонд (27 мая 2011 г.). «Почему пользовательские свойства, созданные в Windows 2000, теряются при просмотре файла в более новых версиях Windows?». Старая новая вещь . Майкрософт . Проверено 10 июня 2020 г.
  14. ^ Microsoft (27 октября 2006 г.). «Служба индексирования добавляет потоки данных в файлы изображений». Майкрософт . Проверено 18 ноября 2006 г.
  15. Чен, Раймонд (1 мая 2012 г.). «Что случилось со сводной информацией, созданной в Windows 2000 и Windows XP?». Старая новая вещь . Майкрософт . Проверено 10 июня 2020 г.
  16. ^ Барт Де Смет (19 августа 2005 г.). «Демо «Внутренних компонентов службы выполнения вложений» в Windows XP SP2 и Windows Server 2003 SP1». Блог B# .NET. Архивировано из оригинала 23 февраля 2007 г. Проверено 18 ноября 2006 г.
  17. Чен, Раймонд (4 ноября 2013 г.). «Управление идентификатором зоны для указания места загрузки файла». Старая новая вещь . Майкрософт .

Внешние ссылки