Что значит служебный файл

Большая Энциклопедия Нефти и Газа

Служебный файл — система

Служебные файлы системы могут создаваться до образования рабочих файлов на МД и после них. Создание главных файлов задач и главных файлов НСИ на МД предшествует организации соответствующих дополнительных файлов. Допускается перемещение отдельных главных файлов задач и главных файлов НСИ при условии, что остальные рабочие файлы задач в этом случае не были уничтожены или смещены. Если перемещение дополнительных файлов выполняется одновременно с рабочими файлами задач, которые полностью или частично сформированы, допускается выполнение указанных операций путем последовательного выполнения перезаписи файла на КМЛ, разметки файла на МД с новым расположением записи файла с КМЛ на МД. Перемещение файлов возможно либо специальными программами системы, либо стандартными модулями. [1]

Служебные файлы системы для конкретной АСОД обеспечивают работу определенного пакета прикладных программ. При наличии в системе нескольких разнотипных комплектов прикладных программ различного назначения, общая информационная емкость которых значительно превышает емкость одного МД, создается соответствующее число групп служебных файлов системы. Каждая из групп расположена в совокупности с обслуживаемым пакетом прикладных программ. [3]

Служебные файлы системы всегда располагаются в фиксированных участках МД и занимают определенное количество секторов МД, зависящее только от типа дисковода в комплекте ЭВМ. [4]

Читайте также:  Перенести непосредственно с айфон что это значит

Перемещение служебных файлов системы стандартными или нестандартными модулями и прикладными программами не допускается. Возможны два процесса — перезапись служебных файлов с МД на КМЛ и с КМЛ на МД. [5]

Для всех служебных файлов системы используются сектора МД, содержащие короткие регистры, емкость которых равна 8 тетрадам, или 4 байтам. Каждый короткий регистр может содержать до 7 цифр, одна тетрада отведена под знак. [6]

Основным назначением служебного файла системы Справочника структур является: обеспечение контроля за количеством файлов в системе и границами их размещения на МД, за основными параметрами файла, а также организация модулей обработки записей файлов за счет настройки по основным параметрам. [7]

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

Структурные решения для служебных файлов системы и рабочих файлов задач существенно различны. [10]

Далее рассмотрим основные характеристики служебных файлов системы и рабочих файлов задач. [12]

Пятый реквизит является связующим звеном между служебным файлом системы — Справочником носителей и данными на МЛ. Реквизиту присваивается значение номера сектора на МД, в котором будет располагаться описание файлов данного тома МЛ. [14]

Третий реквизит, расположенный в четырех младших тетрадах, указывает номер сектора в служебном файле системы Справочник носителей, где расположены адреса секторов замен данного рабочего файла. Адресная ссылка является контрольным реквизитом и одновременно обеспечивает возможность определения нового адреса сектора взамен сбойного. Поиск адреса замененного сектора Справочника структур сложен, однако он обеспечивает двухсторонний контроль правильности выполнения замены сбойных секторов в файле. Признак перемещения в этом же случае играет роль счетчика. Если значение счетчика достигает граничного, дальнейшие замены сбойных секторов в данном рабочем файле становятся невозможными. Выявление подобной ситуации может выполняться либо в процессе работы специальной программы тестирования системы, либо при выполнении замен, когда одновременно контролируется состояние счетчика. В реквизит заносится признак 9, который запрещает физическую запись в файл из-за значительного числа сбоев внутри секторов, занятых файлом. [15]

Источник

Ошибки служебной части файла обмена титульного листа отчётности что это значит

При подаче декларации через разные приложения пользователи сталкиваются с уведомлением «Ошибки служебной части файла обмена, титульного листа отчётности». Что значит эта ошибка и как с ней справиться — в этом поможет разобраться данная статья.

Что значит эта ошибка при отправке декларации

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

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

Причины ошибки

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

Далее перейти по адресу формы обращения в поддержку:

  1. В ней нужно указать тип личного кабинета (физическое лицо, юридическое лицо и т.д.);
  2. Затем выбрать причину обращения. Нажав на блок с причиной, появится список возможных, из которых нужно выбрать подходящую;
  3. Далее в следующем блоке нужно описать точнее свою причину обращения. При этом нам напоминают, что вопрос должен включать только одну проблему, с которой вы обращаетесь в поддержку;
  4. Укажите дату, когда проблема появилась впервые;
  5. Запишите свой контактный Email в форме обращения;
  6. Приложите к форме скриншот, если таковые имеются и выберите тип подписи, которая была использована при подаче декларации;
  7. Введите символы капчи и нажмите на кнопку « Отправить ».

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

Контактные данные налоговой службы

Есть и другие способы связи с налоговой службой для выяснения причин отклонения декларации. Для решения большинства вопросов, связанных с налогами и документами налогоплательщиков можно воспользоваться единым номером — 8-800-222-22-22 . При соединении оператор должен подсказать дальнейшие действия или связать с представителем службы по решению вашего вопроса. Звонить можно ежедневно в будни с 9:00 до 20:00, в пятницу с 9:00 до 16:45. Если позвонить позже, пользователь попадёт на электронного автоинформатора, который сообщает общую информацию о работе представителей службы и возможных решениях проблем.

Кроме этого представители технической поддержки могут ответить на вопросы пользователей на страницах социальных сетей:

  1. ВКонтакте;
  2. Одноклассники;
  3. Фейсбук.

В некоторых случаях налогоплательщиками был замечен сбой, при котором отправляя декларацию, система вела себя подобным образом. Но при повторной отправке удавалось избежать ошибки со служебной частью файла обмена и титульного листа отчетности, и удачно отправить документы в налоговую. Попробуйте выполнить отправку отчёта повторно. И если ошибка будет снова повторяться, обратитесь в поддержку при помощи приведённых выше контактов.

Каким образом поступить, если отчёт не отправляется из-за ошибки служебной части файла обмена

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

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

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

Если вы впервые сталкиваетесь с подачей декларации в таком виде, на сайте nalog.ru можно посмотреть подробную инструкцию. Её можно загрузить в формате PDF или распечатать.

Видео-инструкция

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

Источник

Интернет жизнь

Все об интернете

Служебные файлы NTFS.

В секторе начальной загрузки указано положение сегментов данных MFT и зеркального файла MFT.

Файловая система NTFS образована десятью служебными файлами:

$MFT — таблица MFT;

$MFTmirr — резервная копия первых 16 записей MFT (Mirror record);

$LogFile — файл регистрации, или журнала;

$Volume — служебная информация (метка тома, версия файловой системы);

$AttrDef — список стандартных атрибутов файлов текущего тома;

$Bitmap — карта свободного места тома;

$Boot — загрузочный сектор (если раздел загрузочный);

$Quota — файл, в котором записаны права пользователей на использование дискового пространства;

$Upcase — таблица соответствия символов Unicode в именах файлов на текущем томе.

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

Главная файловая таблица MFT — довольно большой файл. Первые 16 строк таблицы называются метафайлами и содержат служебную информацию о самой таблице. Начиная с семнадцатой, записи главной файловой таблицы используются собственно файлами и папками, которые тоже рассматриваются как файлы NTFS.

Журналирование — важное свойство NTFS. Любое действие с файлами (удаление, перемещение, копирование) рассматривается как транзакция . Транзакция либо совершается полностью и корректно, либо не совершается вообще. О выполняемой транзакции сначала делается запись в журнале ($logfile).

Например, происходит запись данных на диск. Вдруг обнаруживается, что там, куда предполагается внести очередную порцию данных, запись невозможна — секторы повреждены физически. Транзакция записи откатывается целиком — система «знает», что действие не состоялось. Кластер помечается как сбойный (bad cluster), а данные записываются в другое место — начинается новая транзакция.

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

Интересная особенность NTFS:

наличие жестких и символьных ссылок.

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

Источник

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

Операционные системы Microsoft семейства Windows NT нельзя представить без файловой системы NTFS — одной из самых сложных и удачных из существующих на данный момент файловых систем. Данная статья расскажет вам, в чем особенности и недостатки этой системы, на каких принципах основана организация информации, и как поддерживать систему в стабильном состоянии, какие возможности предлагает NTFS и как их можно использовать обычному пользователю.

Начнем с общих фактов. Раздел NTFS, теоретически, может быть почти какого угодно размера. Предел, конечно, есть, но я даже не буду указывать его, так как его с запасом хватит на последующие сто лет развития вычислительной техники — при любых темпах роста. Как обстоит с этим дело на практике? Почти так же. Максимальный размер раздела NTFS в данный момент ограничен лишь размерами жестких дисков. NT4, правда, будет испытывать проблемы при попытке установки на раздел, если хоть какая-нибудь его часть отступает более чем на 8 Гб от физического начала диска, но эта проблема касается лишь загрузочного раздела.

Лирическое отступление. Метод инсталляции NT4.0 на пустой диск довольно оригинален и может навести на неправильные мысли о возможностях NTFS. Если вы укажете программе установки, что желаете отформатировать диск в NTFS, максимальный размер, который она вам предложит, будет всего 4 Гб. Почему так мало, если размер раздела NTFS на самом деле практически неограничен? Дело в том, что установочная секция просто не знает этой файловой системы 🙂 Программа установки форматирует этот диск в обычный FAT, максимальный размер которого в NT составляет 4 Гбайт (с использованием не совсем стандартного огромного кластера 64 Кбайта), и на этот FAT устанавливает NT. А вот уже в процессе первой загрузки самой операционной системы (еще в установочной фазе) производится быстрое преобразование раздела в NTFS; так что пользователь ничего и не замечает, кроме странного «ограничения» на размер NTFS при установке. 🙂

Структура раздела — общий взгляд

Как и любая другая система, NTFS делит все полезное место на кластеры — блоки данных, используемые единовременно. NTFS поддерживает почти любые размеры кластеров — от 512 байт до 64 Кбайт, неким стандартом же считается кластер размером 4 Кбайт. Никаких аномалий кластерной структуры NTFS не имеет, поэтому на эту, в общем-то, довольно банальную тему, сказать особо нечего.

Диск NTFS условно делится на две части. Первые 12% диска отводятся под так называемую MFT зону — пространство, в которое растет метафайл MFT (об этом ниже). Запись каких-либо данных в эту область невозможна. MFT-зона всегда держится пустой — это делается для того, чтобы самый главный, служебный файл (MFT) не фрагментировался при своем росте. Остальные 88% диска представляют собой обычное пространство для хранения файлов.

Свободное место диска, однако, включает в себя всё физически свободное место — незаполненные куски MFT-зоны туда тоже включаются. Механизм использования MFT-зоны таков: когда файлы уже нельзя записывать в обычное пространство, MFT-зона просто сокращается (в текущих версиях операционных систем ровно в два раза), освобождая таким образом место для записи файлов. При освобождении места в обычной области MFT зона может снова расширится. При этом не исключена ситуация, когда в этой зоне остались и обычные файлы: никакой аномалии тут нет. Что ж, система старалась оставить её свободной, но ничего не получилось. Жизнь продолжается… Метафайл MFT все-таки может фрагментироваться, хоть это и было бы нежелательно.

MFT и его структура

Файловая система NTFS представляет собой выдающееся достижение структуризации: каждый элемент системы представляет собой файл — даже служебная информация. Самый главный файл на NTFS называется MFT, или Master File Table — общая таблица файлов. Именно он размещается в MFT зоне и представляет собой централизованный каталог всех остальных файлов диска, и, как не парадоксально, себя самого. MFT поделен на записи фиксированного размера (обычно 1 Кбайт), и каждая запись соответствует какому либо файлу (в общем смысле этого слова). Первые 16 файлов носят служебный характер и недоступны операционной системе — они называются метафайлами, причем самый первый метафайл — сам MFT. Эти первые 16 элементов MFT — единственная часть диска, имеющая фиксированное положение. Интересно, что вторая копия первых трех записей, для надежности — они очень важны — хранится ровно посередине диска. Остальной MFT-файл может располагаться, как и любой другой файл, в произвольных местах диска — восстановить его положение можно с помощью его самого, «зацепившись» за самую основу — за первый элемент MFT.

Метафайлы

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

Метафайлы находятся корневом каталоге NTFS диска — они начинаются с символа имени «$», хотя получить какую-либо информацию о них стандартными средствами сложно. Любопытно, что и для этих файлов указан вполне реальный размер — можно узнать, например, сколько операционная система тратит на каталогизацию всего вашего диска, посмотрев размер файла $MFT. В следующей таблице приведены используемые в данный момент метафайлы и их назначение.

$MFT сам MFT
$MFTmirr копия первых 16 записей MFT, размещенная посередине диска
$LogFile файл поддержки журналирования (см. ниже)
$Volume служебная информация — метка тома, версия файловой системы, т. д.
$AttrDef список стандартных атрибутов файлов на томе
$. корневой каталог
$Bitmap карта свободного места тома
$Boot загрузочный сектор (если раздел загрузочный)
$Quota файл, в котором записаны права пользователей на использование дискового пространства (начал работать лишь в NT5)
$Upcase файл — таблица соответствия заглавных и прописных букв в имен файлов на текущем томе. Нужен в основном потому, что в NTFS имена файлов записываются в Unicode, что составляет 65 тысяч различных символов, искать большие и малые эквиваленты которых очень нетривиально.

Файлы и потоки

Итак, у системы есть файлы — и ничего кроме файлов. Что включает в себя это понятие на NTFS?

  • Прежде всего, обязательный элемент — запись в MFT, ведь, как было сказано ранее, все файлы диска упоминаются в MFT. В этом месте хранится вся информация о файле, за исключением собственно данных. Имя файла, размер, положение на диске отдельных фрагментов, и т. д. Если для информации не хватает одной записи MFT, то используются несколько, причем не обязательно подряд.
  • Опциональный элемент — потоки данных файла. Может показаться странным определение «опциональный», но, тем не менее, ничего странного тут нет. Во-первых, файл может не иметь данных — в таком случае на него не расходуется свободное место самого диска. Во-вторых, файл может иметь не очень большой размер. Тогда идет в ход довольно удачное решение: данные файла хранятся прямо в MFT, в оставшемся от основных данных месте в пределах одной записи MFT. Файлы, занимающие сотни байт, обычно не имеют своего «физического» воплощения в основной файловой области — все данные такого файла хранятся в одном месте — в MFT.

Довольно интересно обстоит дело и с данными файла. Каждый файл на NTFS, в общем-то, имеет несколько абстрактное строение — у него нет как таковых данных, а есть потоки (streams). Один из потоков и носит привычный нам смысл — данные файла. Но большинство атрибутов файла — тоже потоки! Таким образом, получается, что базовая сущность у файла только одна — номер в MFT, а всё остальное опционально. Данная абстракция может использоваться для создания довольно удобных вещей — например, файлу можно «прилепить» еще один поток, записав в него любые данные — например, информацию об авторе и содержании файла, как это сделано в Windows 2000 (самая правая закладка в свойствах файла, просматриваемых из проводника). Интересно, что эти дополнительные потоки не видны стандартными средствами: наблюдаемый размер файла — это лишь размер основного потока, который содержит традиционные данные. Можно, к примеру, иметь файл нулевой длинны, при стирании которого освободится 1 Гбайт свободного места — просто потому, что какая-нибудь хитрая программа или технология прилепила в нему дополнительный поток (альтернативные данные) гигабайтового размера. Но на самом деле в текущий момент потоки практически не используются, так что опасаться подобных ситуаций не следует, хотя гипотетически они возможны. Просто имейте в виду, что файл на NTFS — это более глубокое и глобальное понятие, чем можно себе вообразить просто просматривая каталоги диска. Ну и напоследок: имя файла может содержать любые символы, включая полый набор национальных алфавитов, так как данные представлены в Unicode — 16-битном представлении, которое дает 65535 разных символов. Максимальная длина имени файла — 255 символов.

Каталоги

Каталог на NTFS представляет собой специфический файл, хранящий ссылки на другие файлы и каталоги, создавая иерархическое строение данных на диске. Файл каталога поделен на блоки, каждый из которых содержит имя файла, базовые атрибуты и ссылку на элемент MFT, который уже предоставляет полную информацию об элементе каталога. Внутренняя структура каталога представляет собой бинарное дерево. Вот что это означает: для поиска файла с данным именем в линейном каталоге, таком, например, как у FAT-а, операционной системе приходится просматривать все элементы каталога, пока она не найдет нужный. Бинарное же дерево располагает имена файлов таким образом, чтобы поиск файла осуществлялся более быстрым способом — с помощью получения двухзначных ответов на вопросы о положении файла. Вопрос, на который бинарное дерево способно дать ответ, таков: в какой группе, относительно данного элемента, находится искомое имя — выше или ниже? Мы начинаем с такого вопроса к среднему элементу, и каждый ответ сужает зону поиска в среднем в два раза. Файлы, скажем, просто отсортированы по алфавиту, и ответ на вопрос осуществляется очевидным способом — сравнением начальных букв. Область поиска, суженная в два раза, начинает исследоваться аналогичным образом, начиная опять же со среднего элемента.

Вывод — для поиска одного файла среди 1000, например, FAT придется осуществить в среднем 500 сравнений (наиболее вероятно, что файл будет найден на середине поиска), а системе на основе дерева — всего около 12-ти (2^10 = 1024). Экономия времени поиска налицо. Не стоит, однако думать, что в традиционных системах (FAT) всё так запущено: во-первых, поддержание списка файлов в виде бинарного дерева довольно трудоемко, а во-вторых — даже FAT в исполнении современной системы (Windows2000 или Windows98) использует сходную оптимизацию поиска. Это просто еще один факт в вашу копилку знаний. Хочется также развеять распространенное заблуждение (которое я сам разделял совсем еще недавно) о том, что добавлять файл в каталог в виде дерева труднее, чем в линейный каталог: это достаточно сравнимые по времени операции — дело в том, что для того, чтобы добавить файл в каталог, нужно сначала убедится, что файла с таким именем там еще нет 🙂 — и вот тут-то в линейной системе у нас будут трудности с поиском файла, описанные выше, которые с лихвой компенсируют саму простоту добавления файла в каталог.

Какую информацию можно получить, просто прочитав файл каталога? Ровно то, что выдает команда dir. Для выполнения простейшей навигации по диску не нужно лазить в MFT за каждым файлом, надо лишь читать самую общую информацию о файлах из файлов каталогов. Главный каталог диска — корневой — ничем не отличается об обычных каталогов, кроме специальной ссылки на него из начала метафайла MFT.

Журналирование

NTFS — отказоустойчивая система, которая вполне может привести себя в корректное состояние при практически любых реальных сбоях. Любая современная файловая система основана на таком понятии, как транзакция — действие, совершаемое целиком и корректно или не совершаемое вообще. У NTFS просто не бывает промежуточных (ошибочных или некорректных) состояний — квант изменения данных не может быть поделен на до и после сбоя, принося разрушения и путаницу — он либо совершен, либо отменен.

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

Пример 2: более сложный случай — идет запись данных на диск. Вдруг, бах — отключается питание и система перезагружается. На какой фазе остановилась запись, где есть данные, а где чушь? На помощь приходит другой механизм системы — журнал транзакций. Дело в том, что система, осознав свое желание писать на диск, пометила в метафайле $LogFile это свое состояние. При перезагрузке это файл изучается на предмет наличия незавершенных транзакций, которые были прерваны аварией и результат которых непредсказуем — все эти транзакции отменяются: место, в которое осуществлялась запись, помечается снова как свободное, индексы и элементы MFT приводятся в с состояние, в котором они были до сбоя, и система в целом остается стабильна. Ну а если ошибка произошла при записи в журнал? Тоже ничего страшного: транзакция либо еще и не начиналась (идет только попытка записать намерения её произвести), либо уже закончилась — то есть идет попытка записать, что транзакция на самом деле уже выполнена. В последнем случае при следующей загрузке система сама вполне разберется, что на самом деле всё и так записано корректно, и не обратит внимания на «незаконченную» транзакцию.

И все-таки помните, что журналирование — не абсолютная панацея, а лишь средство существенно сократить число ошибок и сбоев системы. Вряд ли рядовой пользователь NTFS хоть когда-нибудь заметит ошибку системы или вынужден будет запускать chkdsk — опыт показывает, что NTFS восстанавливается в полностью корректное состояние даже при сбоях в очень загруженные дисковой активностью моменты. Вы можете даже оптимизировать диск и в самый разгар этого процесса нажать reset — вероятность потерь данных даже в этом случае будет очень низка. Важно понимать, однако, что система восстановления NTFS гарантирует корректность файловой системы, а не ваших данных. Если вы производили запись на диск и получили аварию — ваши данные могут и не записаться. Чудес не бывает.

Сжатие

Файлы NTFS имеют один довольно полезный атрибут — «сжатый». Дело в том, что NTFS имеет встроенную поддержку сжатия дисков — то, для чего раньше приходилось использовать Stacker или DoubleSpace. Любой файл или каталог в индивидуальном порядке может хранится на диске в сжатом виде — этот процесс совершенно прозрачен для приложений. Сжатие файлов имеет очень высокую скорость и только одно большое отрицательное свойство — огромная виртуальная фрагментация сжатых файлов, которая, правда, никому особо не мешает. Сжатие осуществляется блоками по 16 кластеров и использует так называемые «виртуальные кластеры» — опять же предельно гибкое решение, позволяющее добиться интересных эффектов — например, половина файла может быть сжата, а половина — нет. Это достигается благодаря тому, что хранение информации о компрессированности определенных фрагментов очень похоже на обычную фрагментацию файлов: например, типичная запись физической раскладки для реального, несжатого, файла:

кластеры файла с 1 по 43-й хранятся в кластерах диска начиная с 400-го

кластеры файла с 44 по 52-й хранятся в кластерах диска начиная с 8530-го…

Физическая раскладка типичного сжатого файла:

кластеры файла с 1 по 9-й хранятся в кластерах диска начиная с 400-го

кластеры файла с 10 по 16-й нигде не хранятся

кластеры файла с 17 по 18-й хранятся в кластерах диска начиная с 409-го

кластеры файла с 19 по 36-й нигде не хранятся

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

Безопасность

NTFS содержит множество средств разграничения прав объектов — есть мнение, что это самая совершенная файловая система из всех ныне существующих. В теории это, без сомнения, так, но в текущих реализациях, к сожалению, система прав достаточно далека от идеала и представляет собой хоть и жесткий, но не всегда логичный набор характеристик. Права, назначаемые любому объекту и однозначно соблюдаемые системой, эволюционируют — крупные изменения и дополнения прав осуществлялись уже несколько раз и к Windows 2000 все-таки они пришли к достаточно разумному набору.

Права файловой системы NTFS неразрывно связаны с самой системой — то есть они, вообще говоря, необязательны к соблюдению другой системой, если ей дать физический доступ к диску. Для предотвращения физического доступа в Windows2000 (NT5) всё же ввели стандартную возможность — об этом см. ниже. Система прав в своем текущем состоянии достаточно сложна, и я сомневаюсь, что смогу сказать широкому читателю что-нибудь интересное и полезное ему в обычной жизни. Если вас интересует эта тема — вы найдете множество книг по сетевой архитектуре NT, в которых это описано более чем подробно.

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

Эта штука была в NTFS с незапамятных времен, но использовалась очень редко — и тем не менее: Hard Link — это когда один и тот же файл имеет два имени (несколько указателей файла-каталога или разных каталогов указывают на одну и ту же MFT запись). Допустим, один и тот же файл имеет имена 1.txt и 2.txt: если пользователь сотрет файл 1, останется файл 2. Если сотрет 2 — останется файл 1, то есть оба имени, с момента создания, совершенно равноправны. Файл физически стирается лишь тогда, когда будет удалено его последнее имя.

Гораздо более практичная возможность, позволяющая делать виртуальные каталоги — ровно так же, как и виртуальные диски командой subst в DOSе. Применения достаточно разнообразны: во-первых, упрощение системы каталогов. Если вам не нравится каталог Documents and settingsAdministratorDocuments, вы можете прилинковать его в корневой каталог — система будет по прежнему общаться с каталогом с дремучим путем, а вы — с гораздо более коротким именем, полностью ему эквивалентным. Для создания таких связей можно воспользоваться программой junction (junction.zip, 15 Кб), которую написал известный специалист Mark Russinovich. Программа работает только в NT5 (Windows 2000), как и сама возможность.

Для удаления связи можно воспользоваться стандартной командой rd.
ВНИМАНИЕ: Попытка уделения связи с помощью проводника или других файловых менеджеров, не понимающих виртуальную природу каталога (например, FAR), приведет к удалению данных, на которые ссылается ссылка! Будьте осторожны.

Шифрование (NT5)

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

Вернемся к одному достаточно интересному и важному моменту — фрагментации и дефрагментации NTFS. Дело в том, что ситуация, сложившаяся с этими двумя понятиями в настоящий момент, никак не может быть названа удовлетворительной. В самом начале утверждалось, что NTFS не подвержена фрагментации файлов. Это оказалось не совсем так, и утверждение сменили — NTFS препятствует фрагментации. Оказалось, что и это не совсем так. То есть она, конечно, препятствует, но толк от этого близок к нулю… Сейчас уже понятно, что NTFS — система, которая как никакая другая предрасположена к фрагментации, что бы ни утверждалось официально. Единственное что — логически она не очень от этого страдает. Все внутренние структуры построены таким образом, что фрагментация не мешает быстро находить фрагменты данных. Но от физического последствия фрагментации — лишних движений головок — она, конечно, не спасает. И поэтому — вперед и с песней.

К истокам проблемы

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

Диск NTFS поделен на две зоны. В начала диска идет MFT зона — зона, куда растет MFT, Master File Table. Зона занимает минимум 12% диска, и запись данных в эту зону невозможна. Это сделано для того, чтобы не фрагментировался хотя бы MFT. Но когда весь остальной диск заполняется — зона сокращается ровно в два раза :). И так далее. Таким образом мы имеем не один заход окончания диска, а несколько. В результате если NTFS работает при диске, заполненном на около 90% — фрагментация растет как бешенная.

Попутное следствие — диск, заполненный более чем на 88%, дефрагментировать почти невозможно — даже API дефрагментации не может перемещать данные в MFT зону. Может оказаться так, что у нас не будет свободного места для маневра.

Далее. NTFS работает себе и работает, и всё таки фрагментируется — даже в том случае, если свободное место далеко от истощения. Этому способствует странный алгоритм нахождения свободного места для записи файлов — второе серьезное упущение. Алгоритм действий при любой записи такой: берется какой-то определенный объем диска и заполняется файлом до упора. Причем по очень интересному алгоритму: сначала заполняются большие дырки, потом маленькие. Т.е. типичное распределение фрагментов файла по размеру на фрагментированной NTFS выглядит так (размеры фрагментов):

16 — 16 — 16 — 16 — 16 — [скачек назад] — 15 — 15 — 15 — [назад] — 14 — 14 — 14 . 1 — 1 — 1 -1 — 1.

Так процесс идет до самых мелких дырок в 1 кластер, несмотря на то, что на диске наверняка есть и гораздо более большие куски свободного места.

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

Смысл в сего этого вступления в пояснении того простого факта, что никак нельзя сказать, что NTFS препятствует фрагментации файлов. Наоборот, она с радостью их фрагментирует. Фрагментация NTFS через пол года работы доведет до искреннего удивления любого человека, знакомого с работой файловой системой. Поэтому приходится запускать дефрагментатор. Но на этом все наши проблемы не заканчиваются, а, увы, только начинаются.

Средства решения?

В NT существует стандартное API дефрагментации. Обладающее интересным ограничением для перемещения блоков файлов: за один раз можно перемещать не менее 16 кластеров (!), причем начинаться эти кластеры должны с позиции, кратной 16 кластерам в файле. В общем, операция осуществляется исключительно по 16 кластеров. Следствия:

  1. В дырку свободного места менее 16 кластеров нельзя ничего переместить (кроме сжатых файлов, но это неинтересные в данный момент тонкости).
  2. Файл, будучи перемещенный в другое место, оставляет после себя (на новом месте) «временно занятое место», дополняющее его по размеру до кратности 16 кластерам.
  3. При попытке как-то неправильно (»не кратно 16») переместить файл результат часто непредсказуем. Что-то округляется, что-то просто не перемещается… Тем не менее, всё место действия щедро рассыпается «временно занятым местом».

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

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

  • Вынимание файлов из MFT зоны. Не специально — просто обратно туда их положить не представляется возможным 🙂 Безобидная фаза, и даже в чем то полезная.
  • Дефрагментация файлов. Безусловно, полезный процесс, несколько, правда, осложняемый ограничениями кратности перемещений — файлы часто приходится перекладывать сильнее, чем это было бы логично сделать по уму.
  • Дефрагментация MFT, виртуалки (pagefile.sys) и каталогов. Возможна через API только в Windows2000, иначе — при перезагрузке, отдельным процессом, как в старом Diskeeper-е.
  • Складывание файлов ближе к началу — так называемая дефрагментация свободного места. Вот это — воистину страшный процесс.

Допустим, мы хотим положить файлы подряд в начало диска. Кладем один файл. Он оставляет хвост занятости дополнения до кратности 16. Кладем следующий — после хвоста, естественно. Через некоторое время, по освобождению хвоста, имеем дырку

Источник

Оцените статью