Операционная система Windows


 

Меню

Реклама
Похожие статьи:

Популярные записи



  • ФАЙЛОВАЯ СИСТЕМА Fat

    Сохранения информации.

    Сразу после загрузочного сектора на логическом диске находятся секторы, которые содержат таблицу размещения файлов FAT File Allocation Table.

    Для того, чтобы назначение этой таблицы стало понятнее, рассмотрим, как организовано сохранение информации на разнообразных носителях данных.

    Магнитные ленты.

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

    Если вы попробуете перезаписать файл, то это может привести к потере всех файлов, расположенных на магнитной ленте после него этого файла.

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

    Но метод доступа – это еще не все. Важное значение имеет средство распределения места на диске для файлов. От правильного выбора средства распределения зависит эффективность работы программ.

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

    Операционные системы, такие как DOS, UNIX, Os/2 используют дисковое пространство иным способом.

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

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

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

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

    Что сохраняется в таблице размещения файлов?

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

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

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

    Рассмотрим сначала два формата FAT - 12-битовый и 16-битовый. Эти форматы используют, соответственно, 12 и 16 битов для сохранения информации об одном кластере диска.

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

    При использовании FAT 16-битового формата операционная система может работать с диском, который имеет размер более 32 мегабайт. DOS версии 4.0 при использовании 16-битового формата FAT и кластеров размером 4 сектора может работать с разделами, которые по размеру достигают 134 мегабайтов.

    Как программа визначае формат FAT.

    Для DOS версии 3.0 16-битовый формат используется, если размер диска превышает 4086 кластеров. Это число образовалось исходя из того, что в 12 разрядах может быть подано максимальное число 4096, кроме того, значения, большие 0ff6, зарезервированы.

    Для DOS версии 3.2 16-битовый формат FAT используется в том случае, когда размер диска превышает 20790 секторов именно секторов, а не кластеров. Фактически это значит, что 16-битовый формат используется только для дисков, которые имеют размер более 10 мегабайт.

    Сектор загрузочной записи BOOT-сектор диска, видформатованого в DOS версии 4.0 в поле с сдвигом 36h содержит висьмибайтовий строку, которая идентифицирует формат FAT. Она имеет вид Fat12 или Fat16. Можно использовать это поле для определения формата FAT. В структуре BOOT, описанной в файле sysp. h, это поле називаетcя fat_format.

    Если рздили на жестком диске создавались утилитой DOS FDISK, формат FAT можно определить, анализируя содержание поля sys главной загрузочной записи Master Boot Record. Если это поле содержит значение 1, используется 12-битовый формат, если 4 - 16-битовый. Однако диск, подготовленный программами дисковых менеджеров, может иметь нестандартный для DOS формат таблицы разделов диска Partition Table, и полет sys может содержать другие размеры, отличающиеся от 1 и 4.

    Формат FAT.

    Первый байт FAT называется Описатель среды Media Descriptor или байт ID идентификации FAT. Он имеет такое же значение, как и байт-описателя среды, которая находится в BOOT-сектори логического диска.

    Следующие 5 байтов для 12-битового формата или 7 байтов для 16-битового формата всегда содержат значение 0ffh.

    Вся другая часть FAT состоит из 12-битовых или 16-битовых амбарчиков, каждый амбарчик отвечает одному кластеру диска. Эти амбарчики могут содержать такие значения: Fat12 Fat16

    Что означает 000h0000h – свободный кластер,

    Ff0h - ff6hfff0h - fff6h – зарезервирован кластер,

    Ff7hfff7h – плохой кластер,

    Ff8h - fffhfff8h - ffffh – последний кластер в списку,

    002h - fefh0002h - ffefh – номер такого кластера в списке.

    Непосредственный доступ к FAT может понадобиться для:

    организации сканирования каталогов для поиска нужных файлов;

    для чтения каталогов как файлов;

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

    Общая схема использования FAT такова:

    1. Читаем FAT в память. Как уже отмечалось FAT располагается сразу после BOOT-сектора логический сектор с номером 1. Для точного определения начального сектора FAT нужно прочитать в память BOOT-сектор и проанализировать содержание блока параметров BIOS. В поле Ressecs записано количество зарезервированных секторов, которые располагаются перед FAT. Полет Fatsize содержит размер FAT в секторах. Кроме того, стоит учитывать, что на диске может находиться несколько копий FAT. Операционная система использует только первую копию, другие нужны для утилит возобновления содержания диска. Количество копий FAT находится в поле Fatcnt BOOT-сектора.

    2. Потом необходимо определить номер первого кластера файла, для которого необходимо определить его расположение на диске.

    3. Используем номер первого кластера как индекс в FAT для получения номера такого кластера.

    4. Повторяем эту процедуру до тех пор, пока получено из FAT значения не будет отвечать концу файла.

    Процедура выдержки номера кластера из FAT зависит от формата таблицы размещения файлов.

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

    Для 12-битовой FAT процедура значительно более сложна.

    Необходимо выполнить такие действия:

    Умножить номер начального кластера на 3.

    Разделить результат на 2 потому что каждая ячейка таблицы имеет длину 1.5 байта.

    Прочитать 16-битовое слово из FAT, используя в качестве сдвига значение, полученное после деления на 2.

    Если номер начального кластера парной, на выбранное из FAT слово нужно наложить маску 0fffh, оставив младшие 12 битов. Если номер начального кластера не парной, выбранное из FAT значения необходимо сдвинуть вправо на 4 бита, оставив старшие 12 бит.

    Получен результат – номер такого кластера в цепи, значение 0fffh отвечает концу цепи кластеров.

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

    Корневой каталог находится сразу за последней копией FAT. Количество секторов, которые занимаются одной копией FAT, находится в блоке параметров BIOS в BOOT-сектори в поле Fatsize, количество копий FAT - в поле Fatcnt блока Bpb. Следовательно, перед корневым каталогом находится один BOOT-сектор и fatcnt__fatsize секторов таблицы размещения файлов FAT.

    Размер корневого каталога можно определить выходя из значения поля Rootsize. В этом поле при форматировании диска записывается максимальное количество файлов и каталогов, которые могут находиться в корневом каталоге. Для каждого элемента в каталоге выделяется 32 байта, потому корневой каталог имеет длину 32__rootsize байтов.

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

    Области логического диска Номер начального сектора на логическом диску

    +----------------------+

    :: 0

    : BOOT-сектор и:

    : зарезервированные:

    : секторы:

    ::

    +-------------------:

    :: ressecs - количество резервних

    : Первая копия FAT: секторив

    :

    +-------------------:

    :: ressecs+fatsize

    : Вторая копия FAT:

    ::

    +-------------------:

    :: ressecs+fatsizefatcnt

    : Корневой каталог:

    ::

    +-------------------:

    :: ressecs+fatsizefatcnt+

    : Область данных: sectsize_/_32rootsize

    ::

    +------------------- +

    Fat захищеного режима.

    FAT защищенного режима – это стандартная файловая система, которая используется Windows 95 для устройств массовой памяти, например, для дисководов и жестких дисков. FAT защищенного режима совместимая из FAT MS-DOS и также хранит информацию о содержании диска на основе таблицы размещения файлов и записей в каталогах. Кроме того, FAT защищенного режима поддерживает длинные имена и хранит дату и время создания файла, а также дату последнего доступа.

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

    Когда дополнение создает файл или каталог с длинными именами, сичтема автоматически генерирует для него соответствующий псевдоним в стандартном формате 8.3, используя те символы, какие допустимые в FAT MS-DOS. к ним относят дорогие комбинации латинских букв, цифр исимволив, с ASCII-кодами больше 127, а также пробел испециальни символы:

    !%_-@`~{}#^$'

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

    Windows 95 хранит регистр букв, указанных в длинных именах файлов. Но FAT защищенного режима, не учитывает регистр букв, и не позволит создать в одном каталоге два файла например с такими именами Filename и filename.

    Операционные и файловые системы fat.

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

    К файловой системе Fat16 может обращаться практически дорогая ОС. Если создать первичный раздел в этом формате и если этот раздел имеет размер к 1гб, то это наилучшие условия для инсталляции нескольких разных операционных систем на одном ПК. Существующие разделы могут уменьшаться или делиться без потери данных лишь с помощью коммерческих вспомогательных программ, например Partition Magic.

    Пользователь, который желает разместить на одном ПК произвольную комбинацию самостоятельно загружаючих систем DOS, Windows 95/98 и NT 4.0 с возможностью совместимого доступа к массивам, не обойдется без Fat16. Правда, преимуществам совместимого использования массивов данных и программ противостоят некоторые недостатки.

    Под традиционными версиями MS-DOS включительно к версии 6,22 невозможно, например, иметь непосредственный доступ к файлам с длинными именами, которые используются Windows 95/98 или NT 4.0; такой доступ можно иметь лишь к файлам сокращенными до 8 символов именами MS-DOS и расширением из трех символов формат 8.3. Если вы записываете, переносите или копируете в MS-DOS 6.22 и более ранних версиях файл, который имеет длинное имя, то такое имя обрезается к формату 8.3.

    Еще неприятнее является то, что некоторые DOS или Windows-програми оптимизации файловой системы при использовании их в файловых системах Windows 95/98 или NT 4.0 вместо пользы приносят вред, потому что запутывают таблицу размещения файлов и структуры директорий например, более старые версии Norton Disk Doctor. Таким образом, программы DOS, которые непосредственно манипулируют структурами директорий или FAT, применять на Fat16 нельзя.

    Еще один недостаток файлового формата Fat16 максимальная емкость диска: с его использованием можно адресовать лишь 2047 МБ на одном разделе. К тому же эти немного больше 2 ГБ используют еще немногим больше памяти поскольку Fat16 в этом случае размер кластеров в 32 КБ. Это становится замитним при большом количестве малых файлов. Даже очень малые файлы в дорогом случае занимают не меньше 32кб памяти жесткого диска.

    Fat32 поддерживается Windows 95 Osr2, Windows 98 и Linux начиная из Kernel 2.0.34, а также будущей Windows Nt5.0 файловая система Fat32 позволяет установить минимальный размер кластеров всего в 4кб вместо 32кб даже для дисков емкостью до 8 Гбайт. Fat12 и Fat16 они также поддерживают. Более старые версии Windows 95, NT 4.x, Linux, нажаль, не поддерживают Fat32. Таким образом, для обмена данными между дорогими операционными системами в случае использования файловой системы Fat32 путь закрыт.

    ОС / Файл. Система

    Fat16

    Fat32

    Dos/windows 3.x

    +

    Windows 95

    +

    + начиная из Osr2

    Windows 98

    +

    +

    Windows NT к 4.х

    +

    Windows NT 5.0

    +

    +

    Os/2

    +

    Linux

    +

    + начиная с ядра 2.0.34

    ВНИМАНИЕ!!!

    Файловая система FAT НЕ Допускае,, чтобы были логические диски, каталоги, файлы, с одинаковыми идентификаторами!

    Забороняеться в полном имени файла использовать пробел !

    Примеры допустимых имен файлов:

    Format. com Read. me Myfyle. txt 28-03-96. doc 123. 45

    Примеры не допустимых имен файлов:

    123456789.txt aa?.doc 35.? It. F.doc. txt