лекция вирусы. ОС Лекция 12. Лекция 12(Файловые системы ос windows) 1 Оглавление 1
Скачать 0.91 Mb.
|
Операционные системы Лекция 12(Файловые системы ОС Windows) 1 Оглавление 1 Файловые системы FAT ................................................................................. 1 1.1 Версии файловой системы .......................................................................... 1 1.2 Структура раздела с файловой системой FAT .......................................... 2 1.3 Концепция файловой системы FAT ........................................................... 2 1.4 Общая схема использования FAT .............................................................. 3 1.5 Файловая система FAT32 ............................................................................ 4 2 Файловая система NTFS ................................................................................ 5 2.1 Основные характеристики NTFS. .............................................................. 5 2.2 Структура базового формата файловой системы ..................................... 7 2.3 Структура таблицы MFT. ............................................................................ 7 2.4 Структура записи MFT. ............................................................................... 9 2.5 Именование файлов ................................................................................... 11 2.6 Потоки данных ........................................................................................... 11 2.7 Сжатие файлов ........................................................................................... 14 2.8 Шифрование файлов ................................................................................. 15 3 Организация дисковой системы Windows. .............................................. 18 3.1 Типы дисков ............................................................................................... 18 3.2 Группы дисков ........................................................................................... 20 3.3 Типы разделов базового диска ................................................................. 20 3.4 Инфраструктура управления системой долговременной памяти. ........ 21 3.5 Типы томов динамического диска ........................................................... 24 1 Файловые системы FAT 1.1 Версии файловой системы Физическая реализация файлов в в файловых системах FAT – связанный список c таблицей размещения. Атрибуты файлов хранятся в записях каталога. Цифры в названиях конкретных версий FAT означают разрядность ад- реса кластера в элементе таблицы FAT. Размер кластеров выбирается из диапазона от 512 байтов до 64 кБ. Операционные системы Лекция 12(Файловые системы ОС Windows) 2 FAT12 используется для форматирования небольших дисков (до 16 мБ). Поддерживает только короткие имена файлов по схеме «8.3». Эта ФС соответ- ствует первым версиям ОС MS DOS. FAT16 используется для дисков до 2Гб (небольших винчестеров). Мак- симальный размер раздела под FAT16 ограничен 4 гБ (65536 кластеров по 64 кБ). Соответствует ОС MS DOS и Windows. FAT32 – файловая система для дисковых накопителей Большой ёмко- сти. Использует кластеры разного объема: 4 кБ для дисков до 8 гБ; 8, 16, 32 кБ – для дисков большего объема. Максимальный размер раздела практически не ограничен – 2 32 кластеров по 32 кБ. Поддерживает короткие и длинные имена файлов. Соответствует всем ОС Windows. 1.2 Структура раздела с файловой системой FAT В файловой системе FAT любой логический диск делится на две обла- сти: Системная область – создается и инициализируется при форматиро- вании и обновляется системой при манипулировании файловой структурой. Системная область состоит из: 1. загрузочной записи (boot record, BR), 2. зарезервированных секторов (reserved sector, ResSecs), 3. таблицы размещения файлов (file allocation table, FAT), 4. корневого каталога (root directory, Rdir) Область данных – содержит файлы и каталоги, подчиненные кор- невому. Она, в отличие от системной области, доступна через пользователь- ский интерфейс операционной системы. 1.3 Концепция файловой системы FAT FAT-таблица содержит информацию о кластерах. Размер этой таблицы (число строк) равен общему количеству кластеров на логическом диске. Данные каждого файла занимают один или несколько кластеров, не обя- зательно смежных. Номер первого кластера, распределенного файлу, хранится Операционные системы Лекция 12(Файловые системы ОС Windows) 3 в элементе каталога, описывающего данный файл. Если файл занимает не- сколько кластеров на диске, то эти кластеры связаны в список. При этом элементы FAT - таблицы содержат номера следующих используемых данным файлом кластеров. Конец списка отмечен в таблице специальным значением. 1.4 Общая схема использования FAT 1. Из элемента каталога, относящегося к данному файлу, получают номер первого кластера файла, для которого необходимо определить его рас- положение на диске. 2. Номер первого кластера используют как индекс в FAT - таблице для извлечения номера следующего кластера. 3. Повторяют предыдущую процедуру до тех пор, пока извлеченное из FAT - таблицы значение не будет соответствовать концу файла. Используя описанную выше процедуру можно определить для каж- дого файла цепочку занимаемых им кластеров. Для нахождения первого кластера, распределенного файлу необходимо прочитать информацию из каталога, в котором содержится данный файл. Для этого необходимо сначала прочитать корневой каталог, а затем все подката- логи из пути каталогов к данному файлу. Корневой каталог находится сразу за последней копией FAT. Размер корневого каталога можно определить исходя из значения поля root_size. При форматировании диска в это поле записывается максимальное количество файлов и каталогов, которые могут быть в корневом каталоге. Для каждого элемента в каталоге отводится 32 байта, поэтому корневой каталог имеет длину 32*root_size байт. Корневой каталог занимает непрерывную область фиксированного размера. Любой каталог одержит 32-байтовые дескрипторы, описывающие файлы и другие каталоги. В любом каталоге, кроме корневого, два первых дескриптора имеют спе- циальное назначение. Первый дескриптор содержит в поле имени строку «.». Операционные системы Лекция 12(Файловые системы ОС Windows) 4 Этот дескриптор указывает на содержащий его каталог, т.е. каталог имеет ссылку на самого себя. Второй специальный дескриптор содержит в поле имени строку «..». Это дескриптор указывает на каталог более высокого уровня Если в поле номера первого занимаемого кластера для дескрип- тора с именем «..» находится нулевое значение, это означает, что данный ка- талог содержится в корневом каталоге. 1.5 Файловая система FAT32 Основное отличие файловой системы FAT32 заключается в том, что в самой таблице размещения файлов на номер кластера отводится не 2 байта как в FAT16(или 1.5 байта в FAT12), а четыре (надо отметить, что старшие 4 бита не входят в номер кластера, а зарезервированы для системных нужд).Хотя это и увеличивает размер самой таблицы (максимально доступно не 65 тысяч (2 16 ) 2х байтовых записей, а 2.6 миллиона (2 28 ) 4х байтовых), но это позволило эф- фективнее использовать дисковое пространство, за счет уменьшения размера кластера и соответственно уменьшения потерь в “хвостах” кластеров (для фай- лов, чей размер не кратен размеру кластеров). Максимальная длина имени файла в FAT32 составляет 256 символов (включая завершающий символ 0x00). Максимальная длина имени каталога (пути без имени файла) составляет 246 символов. Максимальная, полная длина имени файла (включая символ устройства, двоеточие, обратную косую черту и 0x00) составляет 260 символов. В системе FAT32, когда создается файл с длинным именем, автоматиче- ски для этого длинного имени создается псевдоним в стандартном формате имени 8.3. Этот псевдоним делает файл с длинным именем доступным из обычных MS-DOS приложений. В псевдониме имени файла или каталога допускается применять следу- ющие символы: 09, AZ, az, пробел, символы: $ % ' - _ @ ` ! ( ) { } ^ # Операционные системы Лекция 12(Файловые системы ОС Windows) 5 &, а также все символы с ASCII кодами более 127. Таким образом допуска- ется применение в именах файлов русских символов. В имени файла кроме символов допустимых в псевдониме можно ис- пользовать еще и символы: + , ; = [ ] При обращении или поиске файлов строчные и прописные буквы отож- дествляются в соответствии с текущей кодовой страницей ОС. Физически, на диске, псевдонимы хранятся, используя символы OEM набора текущей кодовой страницы ОС, а длинные имена хранятся в Unicode кодировке. Основные преимущества системы FAT32 над другими версиями FAT: Поддержка дисков размером до 2х терабайт Более эффективное использование дискового пространства Высокая устойчивость за счет наличия в файловой системе специальных резервных областей. Автоматическое использование второй копии FAT, если первая повреждена. Большая гибкость. В FAT32 нет ограничения на число элемен- тов в корневом каталоге, как это было в прежних версиях FAT. 2 Файловая система NTFS 2.1 Основные характеристики NTFS. □ Восстанавливаемость. После отказа гарантировано восстановление согласованного состояния файловой системы. На случай повреждения отдель- ных дисковых блоков, в которых хранятся системные данные, существуют ко- пии всех системных данных, включая журнал обновлений. Защищенность. Аутентифицированный вход в систему и проверка прав доступа к каждому файлу с использованием списка контроля доступа обеспечивают защиту от несанкционированных файловых операций. Операционные системы Лекция 12(Файловые системы ОС Windows) 6 Избыточность данных и отказоустойчивость. Необходима при- ложениям, для которых недопустима потеря данных из-за отказа носителя. Многослойная структура системы ввода-вывода позво- ляет динамически загружать необходимые дисковые драйверы, в частности обеспечить зеркалирование и чередование дисков. Поддержка больших дисков и файлов. Размер полей данных, в ко- торых хранятся значения объемов диска и файла, достаточен для того, чтобы не служить ограничением. Кроме того, каждый компо- нент путевого имени (файла или каталога) может иметь длину до 255 символов. Поддержка множества потоков данных. В NTFS каждая еди- ница информации, связанная с файлом, в том числе его имя, а также имя владельца, содержимое и т. д., представлена как атрибут файла. Каждый атрибут состоит из одного потока, то есть последователь- ности байтов. Можно добавлять к файлу новые атрибуты, включая дополнительные именованные потоки содержимого. В частности, один поток может использоваться для основных операций над дан- ными, а другой для протоколирования. Разделителем между име- нем файла и именем потока данных служит двоеточие, напри- мер:niyfile.dat:stream2 Хранение имен в кодировке Unicode. Благодаря использованию универсальной 16-разрядной кодировки имен файлы можно свободно перено- сить с одного компьютера на другой. Такая разрядность обеспечивает уни- кальное представление каждого символа существующих естественных языков. Имена файлов могут содержать пробелы и произвольное количество точек. Универсальное средство индексации. Архитектура NTFS позволяет индек- сировать атрибуты файлов тома, благодаря чему возможен быстрый поиск файлов, удовлетворяющих заданному критерию. Кроме того, NTFS может сортировать файлы по заданному атрибуту. Операционные системы Лекция 12(Файловые системы ОС Windows) 7 Замена секторов. Суть технологии заключается в динамической замене потерянных данных, когда сектор диска становится нечитаемым. Для этого используется метод их избыточного хранения. Если отказоустойчивый драйвер не был загружен, NTFS заменяет поврежденный сектор и больше его не использует, но восстановить его данные не может. Поддержка POSIX. В соответствии с требованиями этого стандарта в NTFS реализована поддержка имен файлов и каталогов, различающихся только регистром букв и отметкой времени изменения файла. Сменные диски. Сменные диски, отформатированные для NTFS, защищены теми же механизмами контроля доступа, что и постоянные. 2.2 Структура базового формата файловой системы Каждый дисковый раздел NTFS содержит файлы, каталоги, битовые массивы и другие структуры данных. Каждый раздел организован как линейная последовательность блоков (кластеров). Размер блока фиксирован для каждого раздела и варьируется в пределах от 512 байт до 64 Кбайт в зависимости от размера раздела. Для большинства дисков NTFS используются блоки размером в 4 Кбайт, как компромисс между большими блоками (для эффективности опера- ций чтения/записи) и маленькими блоками (для уменьшения потерь диско- вого пространства на внутреннюю фрагментацию). Адресация блоков осуществляется по их смещению от начала раз- дела, используются 64-разрядные числа. Главной структурой данных в каждом раздела является главная файло- вая таблица MFT (Master File Table), представляющая собой линейную по- следовательность записей фиксированного (1 Кбайт) размера 2.3 Структура таблицы MFT. Каждая запись MFT описывает один файл или один каталог. В ней содержатся атрибуты файла, Операционные системы Лекция 12(Файловые системы ОС Windows) 8 список дисковых адресов блоков файла. Если файл очень большой, то используются две и более записей MFT, чтобы вместить список всех блоков файла. В этом случае первая запись MFT, называемая базовой записью, указывает на другие записи MFT Свободные элементы MFT учитывается в битовом массиве. Сама главная файловая таблица представляет собой файл и, как и любой файл может располагаться в любом месте тома, тем самым устраняется про- блема дефектных секторов на первой дорожке дискового раздела. Кроме того, этот файл может, при необходимости, расти до максималь- ного размера в 218 записей. Первые 16 записей MFT зарезервированы для описания файлов мета- данных NTFS. Каждая такая запись описывает обычный файл, у которого есть атри- буты и блоки данных, как у любого файла. У каждого файла метаданных есть имя, начинающееся с символа доллара, указывающего на то, что это файл ме- таданных. Первая запись MFT (Запись 0) описывает сам файл MFT. В частности, она содержит информацию о расположении блоков файла MFT, что позволяет системе найти файл MFT. Номер первого блока файла MFT содержится в загрузочном блоке, куда он помещается при установке системы. Запись 1 указывает на дубликат первой части файла MFT. Наличие вто- рой копии может быть необходимо на случай, если один из первых блоков главной файловой таблицы вдруг станет дефектным. Запись 2 указывает на журнал. Когда в файловой системе производятся изменения (такие как добавление нового каталога или удаление существую- щего каталога, изменения атрибутов файлов ), информация о предстоящей операции регистрируется в журнале. Таким образом, увеличивается вероят- ность корректного восстановления файловой системы в случае сбоя во время Операционные системы Лекция 12(Файловые системы ОС Windows) 9 выполнения операции. В этом журнале не регистрируются только изменения данных пользователя. Запись 3 содержится информация о томе (размер, метка и версия). Запись 4 ( Файл $AttrDef ) список стандартных атрибутов файлов . Запись5 Содержатся данные о корневом каталоге, который сам пред- ставляет собой файл и может произвольно увеличиваться в размере. Запись 6. Свободное место на диске учитывается с помощью битового массива. Битовый массив сам является файлом, и его атрибуты и дисковые ад- реса хранятся в таблицы MFT. Запись 7. указывает на файл начальной загрузки. Запись 8 используется для того, чтобы связать вместе все дефектные блоки и гарантировать, что они никогда не встретятся в файлах. Запись 9содержит информацию о защите. Запись 10используется для преобразования регистра для символов ла- тинского алфавита и национальных алфавитов. Этот файл содержит необхо- димые инструкции. Запись 11представляет собой каталог, содержащий различные файлы для дисковых квот, идентификаторов объектов, точек повторного анализа и т. д. Последние четыре записи MFT зарезервированы на будущее. 2.4 Структура записи MFT. Каждая запись MFT состоит из заголовка записи, за которым сле- дует последовательность пар (заголовок атрибута, значение). Заголовок записи содержит: число, используемое системой для проверки действительности за- писи; порядковый номер, обновляемый каждый раз, когда запись ис- пользуется для нового файла; счетчик обращений к файлу; действительное количество байт, используемых в записи; Операционные системы Лекция 12(Файловые системы ОС Windows) 10 идентификатор (индекс, порядковый номер) базовой записи (ис- пользуемый только для записей расширения), другие поля. Следом за заголовком записи располагается заголовок первого атри- бута, за которым идет значение первого атрибута, потом заголовок второго атрибута, значение второго атрибута и т. д. В файловой системе NTFS определено 13 атрибутов, которые могут по- являться в записях MFT. Заголовок атрибута идентифицирует следующий за ним атрибут, а также содержит длину и расположение поля значения вместе с разнообраз- ными флагами и прочей информацией. Значения атрибутов, как правило, располагаются непосредственно за заголовками, но, если длина значения слишком велика, чтобы поместиться в запись MFT, она может быть помещена в отдельный блок диска. Такой атри- бут называется нерезидентным атрибутом. Например, таким атрибутом яв- ляется атрибут данных. Некоторые атрибуты, такие как атрибуты имени, могут повторяться, но все атрибуты должны располагаться в записи MFT в фиксированном порядке. Длина заголовков резидентных атрибутов 24 байт, заголовки для нере- зидентных атрибутов длиннее, так как они содержат информацию о месте рас- положения атрибута. Стандартное информационное поле содержит сведения о владельце файла, информацию о защите, временные штампы, необходимые для стандарта POSIX, счетчик жестких связей, бит «только чтение», архивный бит и т. д. Это поле имеет фиксированную длину, и оно всегда присутствует. Операционные системы Лекция 12(Файловые системы ОС Windows) 11 2.5 Именование файлов Длина имени файла в системе NTFS ограничена 255 символами. Полная длина пути ограничивается 32 767 символами. Для имен файлов используется кодировка Unicode, что позволяет поль- зователям в странах; в которых не используется латинский алфавит писать имена файлов на своем родном языке. Файловая система NTFS полностью поддерживает имена, чувстви- тельные к регистру (таким образом, fоо отличается от Foo и FOO). К сожа- лению, интерфейсом Win32 API не полностью поддерживается чувствитель- ность к регистру для имен файлов и совсем не поддерживается для имен ката- логов, поэтому это преимущество теряется при обращении к программам, обя- занным использовать интерфейс Win32. 2.6 Потоки данных Файл в системе NTFS состоит из множества атрибутов, каждый из которых представляется в виде потока байтов. Большинство файлов имеет несколько коротких потоков, таких как имя файла и его 64-битовый идентификатор, плюс один длинный (неиме- нованный) поток с данными. Однако у файла может быть и несколько длинных потоков данных. При обращении к каждому потоку после имени файла через двоеточие указы- вается имя потока, например foo:stream1. У каждого потока своя длина. Каждый поток может блокироваться независимо от остальных потоков. Например, программа редактирования фотографий может использо- вать неименованный поток для основного изображения, а именованный поток — для небольшой пиктограммы. Эта схема проще, чем традиционный способ, при котором изображения помещаются в один и тот же файл, одно за другим. Другой пример использования потоков данных - электронная обработка текста. Эти программы часто создают две версии документа, временную для Операционные системы Лекция 12(Файловые системы ОС Windows) 12 использования во время редактирования и окончательную версию, когда поль- зователь закончил работу. Если поместить временную версию в именованный поток, а окончательную версию в неименованный поток, обе версии автома- тически оказываются в одном файле и без какой-либо дополнительной обра- ботки пользуются одинаковыми правами доступа, временными штампами и т. д. Максимальная длина потока составляет 2 64 байт. Для отслеживания местонахождения в каждом потоке используются 64-разрядные файловые ука- затели. Максимальный же размер потока составляет около 18,4 экзабайт Процедура открытия файла возвращает дескриптор файла, который затем может использоваться для чтения этого файла или записи в файл. Для графических приложений заранее не определены указатели в файлах. Имя потока данных располагается в заголовке атрибута. Следом за этим заголовком располагается либо список дисковых адресов, определяющий положение файла на диске либо, для файлов длиной всего в несколько сотен байтов (а таких файлов довольно много), сам файл. Метод помещения самого содержимого файла в запись MFT назы- вается непосредственным файлом. Конечно, в большинстве случаев все данные файла не помещаются в за- пись MFT, поэтому этот атрибут, как правило, является нерезидентным. Для увеличения эффективности дисковые блоки файлам назначаются по возможности в виде серий последовательных блоков (сегментов файла). Например, если первый логический блок файла помещается в блоке 20 на диске, тогда система будет стараться выделить для второго блока этого файла блок 21, для третьего - блок 22 и т. д. Операционные системы Лекция 12(Файловые системы ОС Windows) 13 Блоки в файле описываются последовательностью записей, каждая из которых описывает последовательность логически непрерывных блоков. Не- прерывный файл описывается всего одной записью. К этой категории отно- сятся файлы, записываемые за одну операцию от начала до конца. Каждая запись начинается с заголовка, определяющего смещение пер- вого блока в файле. Затем располагается смещение первого блока, не покры- ваемого первой записью. Следом за каждым заголовком располагаются пары, в которых содер- жатся дисковые адреса и длины серий блоков. Эти дисковые адреса представляют собой смещение блока от начала дискового раздела. Длина серии - это количество блоков в серии. В записи се- рии может содержаться любое необходимое количество пар. Каждая серия записывается в записи MFT в виде пары (дисковый адрес, количество блоков). Число таких серий зависит от того, насколько удачно про- цедура предоставления дискового пространства сумела найти место для хра- нения файла при его создании. Для файла, состоящего из п блоков, количество серий может быть любым от 1 до п. Данный способ представления информации о расположении блоков файла на диске не накладывает никаких дополнительных ограничений на раз- мер файла. Для каждой пары требуется два 64-разрядных числа, что составляет 16 байт на пару. Однако, одна пара может указывать на миллион последовательных бло- ков. Например, 20-мегабайтный файл, состоящий из 20 сегментов по 1 млн. килобайтных блоков каждый, легко может быть описан всего одной записью MFT, тогда как 60-килобайтный файл, состоящий из 60 изолированных бло- ков, не может. Хотя при использовании простого метода представления пары требу- ется 2x8 байт, эти 16 байт могут быть сжаты до меньшего размера. Многие дисковые адреса содержат большое количество нулей в старших байтах. Нули могут быть опущены. В этом случае в заголовке данных будет содержаться Операционные системы Лекция 12(Файловые системы ОС Windows) 14 информация о том, сколько байтов пропущено, то есть, сколько байтов факти- чески используется для дискового адреса. Также используются и другие ме- тоды сжатия данных. На практике пары часто занимают всего 4 байта. Если файл окажется настолько велик, или настолько фрагментиро- ван, что информация о блоках не поместится в одну запись MFT, исполь- зуются две или более записей MFT. Таким образом, для хранения больших фрагментированных файлов может быть использовано несколько записей таблицы MFT. Проблема может возникнуть, если потребуется так много записей MFT, что в базовой записи не поместятся все индексы MFT. Эта проблема решается следующим образом: список записей MFT дела- ется нерезидентным (то есть хранится отдельно на диске, а не в базовой записи MFT). В этом случае его размер уже ничем не ограничен. Помимо обычных файлов и каталогов, файловая система NTFS поддер- живает жесткие связи, подобные используемых в UNIX. 2.7 Сжатие файлов Файловая система NTFS поддерживает прозрачное сжатие файлов. Файл может быть создан в сжатом режиме. Это означает, что файловая система NTFS будет автоматически пытаться сжать блоки этого файла при записи их на диск и автоматически распаковывать их при чтении. Процессы, читающие этот файл или пишущие в него, не будут даже догадываться о том, что при этом происходит компрессия или декомпрессия данных. Сжатие данных файла происходит следующим образом. Когда файловая система NTFS записывает на диск файл, помеченный для сжатия, она изучает первые 16 (логических) блоков файла, независимо от того, сколько сегментов на диске они занимают. Затем к этим блокам применяется алгоритм сжатия. Если полученные на выходе блоки могут поместиться в 15 или менее блоков, то сжатые данные записываются на диск, предпочтительно в виде одного сег- мента. Если получить выигрыш хотя бы в один блок не удается, то данные 16 Операционные системы Лекция 12(Файловые системы ОС Windows) 15 блоков так и записываются в несжатом виде. Затем весь алгоритм повторяется для следующих 16 блоков и т. д. При чтении этого файла система NTFS должна знать, какие из сегментов файла сжаты, а какие нет. Она видит это по дисковым адресам. Дисковый ад- рес 0 указывает на то, что предыдущий сегмент сжат. Дисковый блок 0 не мо- жет использоваться для хранения данных во избежание неоднозначности. По- скольку в этом блоке содержится загрузочный сектор, использование этого блока для хранения данных все равно невозможно. 2.8 Шифрование файлов В операционной системе Windows проблемы несанкционированного до- ступа к данным решаются при помощи возможности шифрования файлов. В результате применения шифрования, даже если компьютер будет украден или перезагружен в системе MS-DOS, файлы останутся нечитаемыми. Чтобы использовать шифрование в операционной системе Windows, нужно пометить каталог как зашифрованный, в результате чего будут зашиф- рованы все файлы в этом каталоге, а все новые файлы, перемещенные в этот каталог или созданные в нем, также будут зашифрованы. Само шифрование и дешифрование выполняется не файловой системой NTFS, а специальным драйвером EFS (Encrypting File System — шифрующая файловая система), размещающимся между NTFS и пользовательским про- цессом. Таким образом, прикладная программа не знает о шифровании, а сама файловая система NTFS только частично вовлечена в этот процесс. Работа системы шифрования файлов в операционной системе Windows (рис. 15): Когда пользователь сообщает системе, что хочет зашифровать опреде- ленный файл, формируется случайный 128-разрядный ключ. Ключ используется для поблочного шифрования файла с помощью сим- метричного алгоритма, параметром в котором используется этот ключ. Каждый новый шифруемый файл получает новый случайный 128-раз- рядный ключ, так что никакие два файла не используют один и тот же ключ Операционные системы Лекция 12(Файловые системы ОС Windows) 16 шифрования, что увеличивает защиту данных в случае, если какой-либо из ключей окажется скомпрометированным. Применяемый в настоящий момент алгоритм шифрования представляет собой вариант стандартного алгоритма DES (Data Encryption Standard - стан- дарт шифрования данных), но архитектура EFS поддерживает добавление но- вых алгоритмов в будущем. Независимое шифрование каждого блока файла необходимо для сохранения возможности произвольного доступа к блокам файла. Чтобы файл мог быть впоследствии расшифрован, ключ файла должен где-то храниться. Если бы ключ хранился на диске в открытом виде, тогда зло- умышленник, укравший файлы, мог бы легко найти его и воспользоваться им для расшифровки украденных файлов. В этом случае сама идея шифрования файлов оказалась бы бессмысленной. Поэтому ключи файлов сами должны храниться на диске в зашифрованном виде. Для этого используется шифрова- ние с открытым ключом. После того как файл зашифрован, система с помощью информации в си- стемном реестре ищет расположение открытого ключа пользователя. Откры- тый ключ можно без каких-либо опасений хранить прямо в реестре, так как по открытому ключу невозможно определить закрытый ключ, необходимый для расшифровки файлов. Затем случайный 128-разрядный ключ файла шифру- ется открытым ключом, а результат сохраняется на диске вместе с файлом. Чтобы расшифровать файл, с диска считывается зашифрованный слу- чайный 128-разрядный ключ файла. Однако для его расшифровки необходим закрытый ключ. В идеале этот ключ должен храниться на смарт-карте, вне компьютера, и вставляться в считывающее устройство только тогда, когда тре- буется расшифровать файл. Хотя операционная система Windows поддержи- вает смарт-карты, она не позволяет хранить на них закрытые ключи. Вместо этого, когда пользователь в первый раз зашифровывает файл с помощью системы EFS, операционная система Windows формирует пару клю- Операционные системы Лекция 12(Файловые системы ОС Windows) 17 чей (закрытый ключ, открытый ключ) и сохраняет закрытый ключ, зашифро- ванный при помощи симметричного алгоритма шифрования, на диске. Ключ для этого симметричного алгоритма формируется либо из пароля пользова- теля для регистрации в системе, либо из ключа, хранящегося на смарт-карте, если регистрация при помощи смарт-карты разрешена. Таким образом, система EFS может расшифровать закрытый ключ во время регистрации пользователя в системе и хранить его в своем виртуальном адресном пространстве во время работы, чтобы иметь возможность расшиф- ровывать 128-разрядные ключи файлов без дополнительного обращения к диску. Когда компьютер выключается, закрытый ключ стирается из виртуаль- ного адресного пространства системы EFS, так что никто, даже украв компь- ютер, не получит доступа к закрытому ключу. Сложности возникают тогда, когда нескольким пользователям требуется доступ к одному и тому же зашифрованному файлу. В настоящий момент сов- местное использование зашифрованных файлов несколькими пользователями не поддерживается. Однако в будущем архитектура EFS может поддержать совместное использование, если ключ шифрования файла будет зашифровы- ваться несколько раз, отдельно для каждого авторизованного пользователя, его закрытым ключом. Все зашифрованные версии ключа могут добавляться к файлу. Потенциальная потребность в совместном использовании зашифрован- ных файлов является одной из причин, по которой применяется такая двух- уровневая система ключей. Если бы все файлы зашифровывались ключами владельцев файлов, то совместное использование зашифрованных файлов было бы невозможным. Эта проблема может быть решена, если для зашиф- ровки каждого файла использовать отдельный ключ. Схема с использованием случайных ключей для шифрования файлов, но с шифрованием самих ключей при помощи симметричного алгоритма шифро- ванияне будет работать. Проблема в том, что наличие симметричного ключа, Операционные системы Лекция 12(Файловые системы ОС Windows) 18 хранящегося на диске в открытом виде, разрушит всю систему защиты - сфор- мировать ключ дешифрации по ключу шифрования слишком легко. Таким об- разом, медленное шифрование с открытым ключом требуется для шифрования ключей файлов. Поскольку ключи шифрования все равно являются открытыми, хране- ние их в открытом виде не представляет опасности. Вторая причина использования двухуровневой системы ключей заклю- чается в производительности. Использование криптографии с открытым клю- чом для шифрования файлов было бы слишком медленным. Для повышения эффективности шифрование с открытым ключом применяется лишь для за- шифровки коротких 128-разрядных ключей файлов, тогда как для шифрования самих файлов используется симметричный алгоритм. 3 Организация дисковой системы Windows. 3.1 Типы дисков Можно использовать диски двух разных типов: базовые и динамиче- ские. o Базовый формат дисков основан на использовании таблиц раз- делов. o Динамический формат дисков. Динамический диск разбит не на разделы (partitions), а на тома (volumes) и устроен таким образом, что админи- стратор может манипулировать его структурой, не перезагружая при этом ком- пьютер. Подсистема долговременного хранения данных состоит из двух основ- ных компонентов: Fault-tolerant Disk Manager (FT Disk) — диспетчер отказоустойчивых дисков; Logical Disk Manager (LDM) — диспетчер логических дисков. Модуль FT Disk управляет разделами и обеспечивает обратную совместимость с уже существующими в системе отказоустойчивыми томами, Операционные системы Лекция 12(Файловые системы ОС Windows) 19 которые были созданы в ранних версиях Windows NT. В Windows отказоустойчивость обеспечивается модулем LDM. FT Disk записывает в главную загрузочную запись MBR (Master Boot Record), рас- положенную в первом секторе диска несколько килобайт конфигурационных данных. Модуль FT Disk работает с разделами (partitions), которые в Windows называются базовыми дисками (basic disks). Благодаря FT Disk операцион- ная система Windows может монтировать разделы, созданные в рабочей среде MS-DOS, Windows NT и Windows, а также базовые диски, созданные в Win- dows. LDM, впервые появившийся в Windows 2000, поддерживает новые механизмы отказоустойчивости, позволяет восстанавливать данные, поврежденные в результате сбоя, обеспечивает работу с системными метаданными (благодаря чему диски можно свободно перемещать из системы в систему), поддерживает более удобные способы управления и администри- рования дисков. Диски, с которыми работает LDM, в Windows называются динамиче- скими дисками (dynamic disks). Динамические диски поддерживают такие технологии, как расширение томов (volume extention) отказоустойчивые конфигурации, например, отражение дисков (disk mirroring) и полосатые диски с четностью (striped disks with parity). Администрировать динамические диски, можно не перезагружая операционную систему. Метаданные, связанные с отказоустойчивыми конфигурациями, хра- нятся не в реестре, а прямо на диске в составе других метаданных, реплика- цию которых осуществляет LDM. Операционные системы Лекция 12(Файловые системы ОС Windows) 20 3.2 Группы дисков Помимо этого, подсистема динамических дисков позволяет работать с группами дисков. Благодаря этому можно лучшим образом организовать дис- ковую систему, а также предотвратить потерю хранящихся в системе данных. Дисковая группа (disk group) — это набор дисков, в котором каждый диск хранит на себе реплику конфигурационных данных (информацию о рас- положенных на этих дисках томах), относящихся к группе. Одни и те же дан- ные реплицируются на все диски группы, благодаря чему повышается отказо- устойчивость. LDM позволяет вносить в конфигурацию динамических дисков изменения, не требуя при этом выполнять перезагрузку системы, таким обра- зом, при изменении конфигурации дисковой группы можно не перезагружать компьютер. Конфигурационные данные хранятся в области, расположенной в конце каждого физического диска, содержащего на себе том, обслуживание которого осуществляет модуль LDM. Информация обо всех дисках группы хранится на каждом из этих дис- ков, таким образом, можно безболезненно изъять из системы один из этих дисков и переместить его на другой компьютер. Можно также установить в системе новый диск. Конфигурационные данные при этом никоим образом не пострадают. Дисковая система Windows поддерживает работу с любыми комбина- циями дисков двух категорий (базовые диски (Basic disks), динамические диски (Dynamic disks). Однако все тома, расположенные на одном диске, должны быть одного типа. Базовый диск можно преобразовать в динамический. В то же время динамический диск нельзя преобразовать в базовый. 3.3 Типы разделов базового диска Базовый формат использовался всеми предыдущими операционными системами Microsoft. Это хорошо проработанная и отлаженная технология, Операционные системы Лекция 12(Файловые системы ОС Windows) 21 основанная на использовании таблиц разделов (partition tables). Диск, облада- ющий базовым форматом, называют базовым диском (basic disk). Таким об- разом, базовый диск - это физический диск, содержащий первичные разделы (primary partitions), расширенные разделы (extended partitions) и логические диски (logical drives). В операционной системе Windows базовый формат является форматом по умолчанию 3.4 Инфраструктура управления системой долговременной па- мяти. Операционная система Windows также включает в себя новый меха- низм администрирования и обслуживания системы долговременной памяти. Этот механизм ориентирован на обслуживание всех типов сменных носите- лей информации, включая магнитные ленты (4ММ, 8ММ и DLT), оптические диски (CD-ROM, DVD, МО и WORM), а также автоматизированные храни- лища данных и компьютерные библиотеки. Исключена поддержка лишь гиб- ких дисков и подобных небольших по емкости носителей информации. Новая инфраструктура была предоставлена корпорации Microsoft ком- панией Highground Systems и получила название RSM, Removable Storage Management (Управление съемными носителями). Эта система предлагает единый программный интерфейс API, позволя- ющий прикладным программам унифицировано работать с любыми типами съемных носителей вне зависимости от формата, внутреннего устройства и принципов работы. Также RSM обеспечивает доступ к одному и тому же устройству для нескольких разных приложений. Таким образом, в Windows можно работать с системой RSM, которая скрывает внутреннее устройство привода DVD, стримера, автоматизирован- ной библиотеки компакт-дисков или магнитных лент как от прикладного про- граммиста, так и от пользователя. Благодаря этому упрощается поддержка раз- личных устройств, снижаются затраты на разработку программ, уменьшается Операционные системы Лекция 12(Файловые системы ОС Windows) 22 вероятность возникновения конфликтов, а пользователи получают возмож- ность работать с разными устройствами, используя при этом одни и те же при- емы. Благодаря RSM приложения, хранящие данные на съемных носителях, смогут работать с самыми разнообразными устройствами хранения данных, о существовании которых разработчики этих приложений могут даже и не дога- дываться. Для организации работы со съемными носителями система RSM исполь- зует концепцию пула долговременной памяти (media pool). При управлении сервером долговременной памяти пул долговременной памяти выполняет следующие функции: управление выбором носителя и типа носителя; обеспечение совместного доступа приложений к носи- телю, а также слежение за совместным доступом. Существует два класса пулов долговременной памяти: Системные пулы долговременной памяти пулы этого класса могут быть свободными (free), пулами импорта (import) и неопознанными (unrecognized). Свободный (free) пул содержит носители, на которых нет никаких нуж- ных данных. Любая прикладная программа может получить носитель из этой категории и использовать его по своему усмотрению. Пулы импорта и неопознанные пулы включают в себя носители, недавно добавленные в систему: Если система RSM распознает формат нового носителя, она добавляет его в пул импорта (import) Операционные системы Лекция 12(Файловые системы ОС Windows) 23 Если распознать формат нового носителя не удается, носитель добавля- ется в неопознанный (unrecognized) пул. Перемещение носителей между сво- бодным пулом и прикладными пулами приложений осуществляется приклад- ными программами. Прикладные пулы долговременной памяти создаются прикладными программами для собственного использования. Например, приложение Backup создает собственный прикладной пул и сохраняет в нем создаваемые резервные копии. При помощи RSM можно решать следующие задачи: слежение за использованием подключенной к компьютеру и от- ключенной от компьютера долговременной памяти; монтирование и демонтирование носителей данных; добавление носителя в библиотеку и удаление носителя из библио- теки; просмотр состояния носителей и библиотек; создание пулов долговременной памяти и настройка их парамет- ров; настройка параметров безопасности пулов долговременной па- мяти и отдельных носителей данных; выполнение инвентаризации и переучета библиотек и хранилищ данных. При использовании базового формата можно работать с отказоустойчи- выми томами, такими как составные тома (spanned volumes или volume sets), зеркальные тома (mirrored volumes или mirrored sets), RAID-1, чередующиеся тома (striped volumes или stripe sets), RAID-0 и тома RAID 5 (stripe sets with parity — чередующийся набор с чет- ностью). Операционные системы Лекция 12(Файловые системы ОС Windows) 24 3.5 Типы томов динамического диска Динамический диск разделен не на разделы, а на тома. Динамический диск (dynamic disk) - это физический диск, который со- держит только динамические тома. На динамическом диске нельзя разместить раздел (partition) или логиче- ский диск (logical drive), таким образом, к динамическому диску нельзя обра- титься из MS-DOS или какой-либо ранней версии Windows. Изменения, которые вносятся в конфигурацию динамических дисков, немедленно вступают в силу, таким образом, можно осуществлять управление и обслуживание дисков и томов, обладающих динамическим форматом, не пе- резагружая при этом операционной системы. Том - это участок дискового пространства, который может включать в себя дисковое пространство, принадлежащие одному или нескольким разным физическим дискам. Можно разделить физический жесткий диск на несколько томов, или создать том, включающий в себя несколько физических жестких дисков. Каждый том форматируется в соответствии со стандартом определен- ной файловой системы, и ему можно поставить в соответствие латинскую букву, обозначающую логический диск. Механизм отказоустойчивости, используемый в отношении того или иного тома, определяется типом тома, который задается в процессе создания тома с использованием Disk Management (Управление дисками). Том, расположенный на динамическом диске (дисках), может принад- лежать к одной из следующих разновидностей: Simple (простой). При создании такого тома используется дисковое пространство, принадлежащее одному физическому диску. Это может быть одна область или несколько связанных между собой областей. Простой том можно расширить за счет дискового пространства, принадлежащего тому же самому диску, или за счет дискового пространства, принадлежащего другим Операционные системы Лекция 12(Файловые системы ОС Windows) 25 физическим дискам, однако в последнем случае простой том становится про- стирающимся (spanned) томом. Spanned (составной). В состав такого тома входит дисковое простран- ство, расположенное на разных физических дисках (допускается использовать до 32 дисков). Простирающийся том может быть расширен за счет дискового пространства, принадлежащего дополнительным дискам, однако его нельзя сделать отраженным (mirrored). Mirrored (зеркальный) или RAID-1. Данные, хранящиеся на таком томе, автоматически дублируются на двух разных физических дисках. Таким образом повышается уровень отказоустойчивости тома. Все данные, записы- ваемые на отраженный том, автоматически копируются на два разных физи- ческих диска. Если один из дисков выходит из строя, пользователь сможет об- ратиться к данным, расположенным на другом диске. Отраженный том нельзя расширить. Striped (чередующийся) или RAID-0. Данные, хранящиеся на таком томе, равномерно распределяются между несколькими физическими дисками таким образом, чтобы повысить производительность. Таким образом, опера- ционная система может выполнять одновременно несколько операций обра- щения к тому, например, читать данные с одного из дисков и одновременно с этим записывать данные на другой или выполнять одновременно несколько операций записи. Полосатый том нельзя расширить или сделать отраженным (mirrored), кроме того, он не обеспечивает отказоустойчивости. RAID-5 или Striped with parity (чередующийся с четностью). Дан- ные, хранящиеся на таком томе, равномерно распределены между несколь- кими физическими дисками, однако в отличие от полосатого тома том RAID- 5 предусматривает хранение в дисковом массиве специальной служебной ин- формации, благодаря которой, в случае если один из дисков массива выходит из строя, хранившиеся на нем данные можно восстановить. Эту информацию называют информацией о четности (parity information). Том RAID-5 нельзя сделать отраженным (mirrored) или расширить. Операционные системы Лекция 12(Файловые системы ОС Windows) 26 Динамический формат обладает более широкими возможностями и под- держивает множество дополнительных механизмов. Использование динамического формата на системах, оснащенных един- ственным жестким диском, редко бывает оправданным. Преобразовав един- ственный базовый диск компьютера в динамический, всего лишь получают возможность создать на нем более трех первичных и одного логического раз- делов или четырех первичных разделов (такие ограничения свойственны ба- зовым дискам). Нельзя воспользоваться всеми остальными преимуще- ствами динамического формата, если компьютер оснащен только одним жестким диском. Для хранения пользовательских данных рекомендуется использовать динамические диски, так как именно динамический формат позволяет с легко- стью увеличивать размер томов. Динамическая долговременная память также будет предпочтительней, в случае, если необходимо использовать многодисковые системы хранения дан- ных, такие как составные, чередующиеся и зеркальные тома, или тома RAID- 5. Формат диска (базовый или динамический) никак не связан с форматом файловой системы. Как разделы базовых дисков, так и тома динамических дисков могут содержать на себе любую из поддерживаемых Windows файло- вых систем. |