Файловые системы

Автор: Пользователь скрыл имя, 18 Ноября 2010 в 11:56, реферат

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

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

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

Реферат Файловые системы.doc

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

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

 

    3.1.1 Ошибки файловой системы FAT

 

     Ошибки в файловой системе появляются скорее из-за программных, нежели из-за аппаратных сбоев (например, при неверном завершении работы Windows).

    Потерянные  кластеры. Это наиболее распространенная ошибка файловой системы, при которой кластеры в FAT помечаются как используемые, хотя на самом деле таковыми не являются. Эти потерянные кластеры появляются при неверном завершении работы приложения или крахе системы. Программы восстановления диска могут обнаружить эти кластеры и восстановить их. 
     Программы восстановления диска просматривают диск и создают копию FAT в оперативной памяти. Затем эта копия сравнивается с "настоящей" FAT и таким образом выявляются потерянные кластеры, т.е. не принадлежащие ни одному из существующих файлов. Практически все программы восстановления могут сохранять информацию из потерянных кластеров в файл, а затем обнулять их. 
     Например, программа Chkdsk из цепочек потерянных кластеров создает файлы с именами FILE0001.CHK, FILE0002.CHK и т.д.

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

    Неверный  файл или каталог. Иногда информация в записи каталога для файла или подкаталога не соответствует действительности: запись содержит

    кластер с неверной датой или неправильным форматом. Практически все программы  восстановления диска устраняют  и эту проблему.

    Команды Chkdsk, Recover и Scandisk - это "реанимационная бригада" DOS, занимающаяся восстановлением поврежденных данных на диске. Эти команды имеют очень простой и не слишком дружественный интерфейс, их применение зачастую оказывает значительное воздействие на систему, но иногда только они и могут помочь.

 

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

    По  сравнению с FAT или FAT32, NTFS предоставляет  пользователю целое сочетание достоинств: эффективность, надежность и совместимость. Файловая система NTFS применяется в операционной системе Windows NT/2000/XP.

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

    При установке NTFS, диск разделяется на две  неравные части: первая отводиться под MFT (Master File Table - общая таблица файлов), называется MFT - зоной и занимает порядка 12% от общего размера диска, вторую часть занимают собственно ваши данные. Есть еще и третья зона, но о ней позже. MFT лежит в начале диска, каждая запись в MFT соответствует какому-либо файлу и занимает около 1 Kb. По своей сути это каталог всех файлов находящихся на диске. Надо заметить, что любой элемент данных в NTFS рассматривается как файл, даже MFT.

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

 

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

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

    Третья  зона, в свою очередь, делит диск пополам. Это сделано для надежности, в случае утери информации в MFT - файле, всегда можно восстановить информацию, а там уже дело техники, как говориться. Все остальные файлы в MFT - зоне могут располагаться произвольно. Надо заметить, что в MFT - зоне теоретически кроме служебных файлов ничего не находиться. Но бывают случаи, когда места на той части диска, что отведена для пользователя не остается и тогда MFT - зона уменьшается. Соответственно появляется место во второй половине диска для записи данных. Когда же в этой зоне освобождается достаточное количество свободного места, MFT - зона опять расширяется. И вот, тут то, появляется проблема. В MFT - зону попадают обычные файлы, и она начинает фрагментироваться. Но вернемся к метафайлам. Каждый из них отвечает за какую-либо область работы. Начинаются они с символа имени $. Приведем пример некоторых из них:

    • $MFT - не что иное, как сам MFT
    • $MFTmirr - та самая копия, что по серединке диска
    • $LogFile - это файл журналирования
    • $Boot - как видно из названия, его величество загрузочный сектор
    • $Bitmap - карта свободного места раздела

    Информация  о метафайлах находиться в MFT - файле. Такая система придумана для увеличения надежности NTFS и себя оправдывает. NTFS практически не имеет ограничения на размеры диска (во всяком случае, при нынешних технологиях производства жестких дисков). Размер кластера может варьироваться от 512 b до 64 Kb, хотя обычный его размер равен 4 Kb.

    Каталог NTFS. Это метафайл с обозначением $. Он разделен на части, в каждой из которых содержится имя файла, его атрибуты и ссылка на MFT - файл. А там уже есть вся остальная информация. Каталог представляет собой бинарное дерево, т.е. в каталоге информация о данных на диске расположена таким образом, что при поиске какого-либо файла каталог разбивался на две части и ответ заключался в том, в какой именно части находиться искомое. Затем та же самая операция повторяется в выбранной половине. И так до тех пор, пока не будет найден нужный файл.

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

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

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

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

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

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

 

        3.3 Сравнительная характеристика FAT 32 и NTFS. Достоинства и недостатки1

    Достоинства NTFS:

    1. Быстрая скорость доступа к файлам малого размера;

    2. Размер дискового пространства  на сегодняшний день практически  не ограничен;

    3. Фрагментация файлов не влияет  на саму файловую систему;

    4. Высокая надежность сохранения  данных и собственно самой  файловой структуры;

    5. Высокая производительность при  работе с файлами большого  размера;

    Недостатки NTFS:

    1. Более высокие требования к  объему оперативной памяти по  сравнению с FAT 32;

    2. Работа с каталогами средних размеров затруднена из-за их фрагментации;

    3. Более низкая скорость работы  по сравнению с FAT 32;

    Достоинства FAT 32:

    1. Высокая скорость работы;

    2. Низкое требование к объему  оперативной памяти;

    3. Эффективная работа с файлами  средних и малых размеров;

    4. Более низкий износ дисков, вследствие  меньшего количества передвижений головок чтения/записи.

    Недостатки FAT 32:

    1. Низкая защита от сбоев системы;

    2. Не эффективная работа с файлами  больших размеров;

    3. Ограничение по максимальному объему раздела и файла;

    4. Снижение быстродействия при  фрагментации;

    5. Снижение быстродействия при  работе с каталогами, содержащими  большое количество файлов.

 

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

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

 

    3.4.1 EXT 2 (The Second Extended File System)

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

    Суперблок - в суперблоке храниться информация обо всей файловой системе. Суперблок есть в каждой группе блоков, он является всего лишь резервной копией суперблока из первой группы блоков. 
Дескриптор группы - здесь хранится информация о каждой группе блоков. Здесь также находятся указатели на таблицу индексных дескрипторов. 
Битовая карта блоков - массив битов, указывающих на использованные блоки. 
Таблица индексных дескрипторов - таблица реально выделенных для данной группы блоков индексных дескрипторов. 
Блоки данных – блоки, в которых непосредственно находятся данные. 
На рис.3.1 приведена схема файловой системы Linux.

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