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

Автор работы: Пользователь скрыл имя, 26 Марта 2011 в 17:01, курсовая работа

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

Развитие файловых систем персональных компьютеров определялось двумя факторами - появлением новых стандартов на носители информации и ростом требований к характеристикам файловой системы со стороны прикладных программ (разграничение уровней доступа, поддержка длинных имен файлов в формате UNICODE). Первоначально, для файловых систем первостепенное значение имело увеличение скорости доступа к данным и минимизация объема хранимой служебной информации.

Файлы: 1 файл

kursovik.doc

— 949.50 Кб (Скачать файл)
  • Таблица главного раздела. Содержит список разделов на диске и расположение загрузочных  секторов соответствующих логических дисков. Эта таблица очень маленькая  и может содержать максимум четыре записи. Таким образом, для получения  большего количества разделов в операционной системе (например, DOS) можно создать один дополнительный раздел и поместить в него несколько логических дисков.
  • Главный загрузочный код. Небольшая программа, которая выполняется системой BIOS. Основная функция этого кода - передача управления в раздел, который обозначен как активный (или загрузочный).

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

  • Блок параметров диска, в котором содержится специфическая информация, например размер раздела, количество используемых секторов диска, размер кластера и метка тома.
  • Загрузочный код - программа, которая начинает процесс загрузки операционной системы. Для DOS и Windows 9x/Me это файл Io.sys.
 

     Загрузочный сектор дискеты загружается ROM BIOS, а при  загрузке системы с жесткого диска MBR передает управление загрузочному сектору активного раздела. В обоих случаях загрузочный сектор логического диска получает управление. Он выполняет некоторые проверки и затем пытается прочитать с диска первый системный файл (в DOS/Windows это файл Io.sys). Загрузочный сектор не виден, так как находится вне области хранения файлов логического диска.

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

  • Имя файла и расширение - восемь символов имени и три символа расширения; точка между именем и расширением файла подразумевается, но не включается в эту запись.
  • Байт атрибутов файла, содержащий флаг, который представляет стандартные атрибуты файла.
  • Время и дата создания файла или его модификации.
  • Размер файла в байтах.
  • Ссылка на начальный кластер - номер кластера, с которого начинается файл.

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

  Таблица размещения файлов (FAT) содержит номера кластеров, в которых расположены файлы на диске. Каждому кластеру в FAT соответствует одно число. Секторы, не содержащие пользовательских данных (файлов), не отражены в FAT. К таким секторам относятся загрузочные секторы, таблицы размещения файлов и секторы корневого каталога. 
     В файловой системе FAT дисковое пространство разбивается не на секторы, а на группы секторов, которые называются кластерами (ячейками размещения). Кластер содержит один или несколько секторов. Размер кластера определяется при делении диска на разделы с помощью программы Fdisk и зависит от размера создаваемого раздела. Наименьший размер диска, который может занимать файл ненулевого размера, - один кластер. Каждый файл использует целое число кластеров. Например, если файл занимает на один байт больше размера кластера, то для его размещения на диске будет выделено два кластера. 
     FAT - это электронная таблица, управляющая распределением дискового пространства. Каждая ячейка этой таблицы связана с определенным кластером на диске. Число, содержащееся в этой ячейке, сообщает о том, использован ли данный кластер под какой-либо файл и, если использован, где находится следующий кластер этого файла.

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

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

 

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

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

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

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

  файла или подкаталога не соответствует  действительности: запись содержит

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

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

  3.3 Файловая система 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 в этом случае довольно логично: транзакция записи откатывается целиком - система осознает, что запись не произведена. Место помечается как сбойное, а данные записываются в другое место - начинается новая транзакция.

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