Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Множественные потоки данных

Читайте также:
  1. II. 12-24. Причина страданий преданных
  2. II. Ввод и редактирование данных
  3. V Автоматизированная система обработки данных
  4. V. Форматирование данных
  5. X. Оператора манипулирования данными. Вставка данных
  6. Адресация данных в процессоре
  7. Анализ и обобщение опыта передовой практики и литературных данных

В NTFS каждая единица информации, связанная с файлом, включая его имя, владельца, отметки времени, содержимое и т. д., представляется как атрибут файла (атрибут объекта). Каждый атрибут состоит из одного потока (stream), т. е. простой последовательности байтов. Эта обобщенная схема позволяет легко добавлять к файлу новые атрибуты (и соответственно новые потоки). Поскольку данные файла — это "просто еще один атрибут" и можно добавлять новые атрибуты, файлы NTFS (и каталоги) могут содержать несколько потоков данных.

У файла NTFS есть один поток данных по умолчанию, не имеющий имени. Приложение может создавать дополнительные именованные потоки и обращаться к ним по именам. Во избежание изменений функций ввода-вывода интерфейса прикладных программ (application programming interface, API) Win32, которым имя файла передается как строковый аргумент, разработчики NTFS прибегли к синтаксическому трюку, чтобы предоставить приложениям доступ к нескольким потокам данных в файле. Так как двоеточие (:) — это зарезервированный символ, оно может служить разделителем между именем файла и именем потока данных, как показано ниже:

myfile.dat:stream2

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

Один из примеров применения нескольких потоков данных в NTFS — это хранение данных, созданных в системах Apple Macintosh. Эти системы используют два потока на файл: один для хранения данных, а другой для хранения ресурсов, таких как тип файла и значок, используемый для представления файла. Так как NTFS допускает множественные потоки данных, то один пользователь Macintosh может скопировать целую папку Macintosh (аналог каталога) на сервер Windows NT, а другой скопировать ее с сервера без потери информации о ресурсах. Другие приложения также могут пользоваться несколькими потоками данных. Например, утилита резервного копирования может использовать дополнительный поток данных для хранения особых отметок времени. Утилита архивирования может реализовать иерархическое хранилище, в котором файлы с датой более ранней, чем некоторая заданная, или не используемые в тече-


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


Дата добавления: 2015-07-10; просмотров: 125 | Нарушение авторских прав


Читайте в этой же книге: Восстанавливаемость | Модели реляционной базы данных и обработки транзакций | Объектная модель | Понятия и термины NTFS | Структура на диске | Индексация имен файлов | Файлы метаданных NTFS и загрузочный файл |
<== предыдущая страница | следующая страница ==>
Диски и файлы большого объема| Многоуровневая модель драйвера

mybiblioteka.su - 2015-2024 год. (0.006 сек.)