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

Автор: Пользователь скрыл имя, 14 Ноября 2011 в 00:16, курсовая работа

Описание работы

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

Содержание

1. Введение
2. Структура
2.1. Основа
2.2. MFT
2.3. Метафайлы
2.4. Файлы и каталоги
2.5. Атрибуты файла
2.6. Системные файлы
3. Конфиденциальность и сохранность данных
3.1. Журналирование

3.1.1. Отложенная запись и контрольные точки журналирования

3.1.2. Проблемы отложенного журналирования: концепция дублирования информации
Сжатие
Безопасность

3.3.1. Допущения, обеспечивающие надежность
Преимущества и недостатки
Надежность
Заключение
Список литературы

Работа содержит 1 файл

Курсовая работа.docx

— 73.90 Кб (Скачать)

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

      1. Проблемы  отложенного журналирования: концепция  дублирования информации.

    Вся вышеописанная теория достаточно хороша, но способна, тем не менее, вызвать  очень неприятные последствия, если не учесть еще нескольких вещей:

    Рассмотрим  такой случай: мы стираем файл. Журнал получил запись - "файл N стирается". Затем запаздывающему КЭШу стало  угодно осуществить сначала физическую пометку о том, что место, занимаемое файлом, освободилось, а уж только затем  удалить файл из физических структур MFT и каталога. Допустим, диск находится  в активной работе, и на освободившееся место тут же записывается другой файл. В этот момент происходит сбой. Система, загружаясь, исследует журнал и видит незавершенную операцию "файл N стирается" - вернее, как  я уже описал выше, не незавершенную, а просто операцию, контрольная точка  после которой отсутствует, что  автоматически говорит о её незавершенности. Следующая фраза была бы "откат операции" - то есть восстановление файла. Одна незадача - место, физически занимаемое файлом, содержит уже другие данные.

    Для недопущения таких ситуаций система, желающая ограничиться логическим журналированием, вынуждена применять принцип "временно занятого места". Место, освобожденное  каким-либо объектом или записью  о нем, не объявляется свободным  до тех пор, пока физически не завершились  все операции с логическими структурами. Данный механизм в NTFS, по видимому, не синхронизирован  даже с проставлением контрольных  точек, так как типичное время  освобождения временно занятого места - около 30 секунд, точки же идут чаще.

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

    1. Сжатие

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

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

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

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

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

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

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

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

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

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

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

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

    • Hard Links

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

    • Symbolic Links (NT5)

    Гораздо более практичная возможность, позволяющая  делать виртуальные каталоги - ровно  так же, как и виртуальные диски  командой subst в DOSе. Применения достаточно разнообразны: во-первых, упрощение  системы каталогов. Если вам не нравится каталог Documents and settings\\Administrator\\Documents, вы можете прилинковать его в корневой каталог - система будет по прежнему общаться с каталогом с дремучим путем, а вы - с гораздо более  коротким именем, полностью ему эквивалентным. Для создания таких связей можно  воспользоваться программой Junction, которую  написал известный специалист Mark Russinovich (http://www.sysinternals.com/). Программа  работает только в NT5 (Windows 2000), как и  сама возможность.

    Для удаления связи можно воспользоваться  стандартной командой rd.

    Попытка уделения связи с помощью проводника или других файловых менеджеров, не понимающих виртуальную природу  каталога (например, FAR), приведет к удалению данных, на которые ссылается ссылка!

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

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

      1. Допущения, обеспечивающие надежность

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

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

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

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

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

4. ФУНКЦИИ

     Файловая  система NFTS обладает следующими функциями:

• Разреженные  файлы. Это файлы, очень большие  логически, но занимающие на диске только необходимый объем. Эта технология используется самой NT и СУБД (Системами  Управления Базами Данных)

• Журнал изменений. Служит для регистрации  всех изменений файлов на томе. Используется службой каталогов Active Directory и службой  индексирования. Находится в папке System Volume Informa-tion в корне диска.

• Поддержка  коротких имен. Это необходимо для  совместимости с MS-DOS-программами. Каждый раз при создании файла NTFS делает дополнительную запись в MFT, содержащую короткий эквивалент имени.

• Компрессия файлов и каталогов. NTFS обеспечивает динамическое, прозрачное для приложений сжатие файлов и каталогов на манер MS-DOS-утилит DriveSpace и Stack. Атрибут Сжатый можно установить как для всего  тома, так и для отдельных файлов и каталогов. Сжатие возможно на разделах с кластером, не превышающим 4 Кб. Степень  сжатия варьируется в зависимости  от типа данных и максимальна для  текстовых документов и файлов, созданных  с помощью MS Office.

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

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

• Точки  переопределения. Любой файл или  каталог может быть точкой переопределения. Это способ представления имен системой ввода/вывода.

• Переходы NTFS. Позволяют спроецировать каталог-адресат  в другой подкаталог. Доступны только на NTFS 5.0 и 5.1.

• Динамическое отслеживание ярлыков. Отслеживает  перемещение файлов, на которые указывают  ярлыки, соответственно изменяя ссылку на эти файлы в ярлыках. Работает только на локальных дисках с NTFS 5.0 и 5.1.

• Управление избирательным доступом. С помощью  таблиц управления доступом (Access Control List — ACL) можно гибко разграничивать доступ к файлам и папкам. Можно  работать как с отдельными пользователями, так и с группами, одновременно используя наследование прав доступа.

Информация о работе Файловая система NTFS