Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

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

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

Альтернативы [ править ]

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

Реализации [ править ]

Apple [ править ]

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

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

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

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

Novell [ править ]

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

Microsoft [ править ]

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

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

Использует [ редактировать ]

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

Вс [ править ]

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

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

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

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

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

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

См. Также [ править ]

  • Расширенные атрибуты файла

Ссылки [ править ]

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

Внешние ссылки [ править ]

  • Библиотека MSDN: файловые потоки
  • Альтернативные потоки данных
  • Альтернативные потоки данных в Windows
  • Альтернативные потоки NTFS