73028

Моделирование файловых систем

Лабораторная работа

Информатика, кибернетика и программирование

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

Русский

2014-12-03

147.5 KB

1 чел.

PAGE  2

Лабораторная работа №1 «Моделирование файловых систем»

Цель работы:. изучить основные методы построения файловых систем, разработать программную модель файловой системы.

  1.  Теоретические сведения

Файлы и каталоги

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

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

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

  •  информация о разрешенном доступе,
  •  пароль для доступа к файлу,
  •  владелец файла,
  •  создатель файла,
  •  времена создания,
  •  текущий размер файла,
  •  признак "только для чтения",
  •  признак "скрытый файл",
  •  признак "системный файл",
  •  признак "архивный файл", и т.д.

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

Рис. 3.1. Структура каталогов:

а - структура записи каталога MS-DOS (32 байта);
б - структура записи каталога ОС UNIX

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

Общая модель файловой системы

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

Рис. 3.2. Модель функционирования файловой системы

Задачей символьного уровня является определение по символьному имени файла его уникального имени. В файловых системах, в которых каждый файл может иметь только одно символьное имя (например, MS-DOS и MS Windows), этот уровень отсутствует, так как символьное имя, присвоенное файлу пользователем, является одновременно уникальным и может быть использовано операционной системой. В других файловых системах, в которых один и тот же файл может иметь несколько символьных имен, на данном уровне просматривается цепочка каталогов для определения уникального имени файла. В файловой системе UNIX, например, уникальным именем является номер индексного дескриптора файла (i-node).

На следующем, базовом уровне по уникальному имени файла определяются его характеристики: права доступа, адрес, размер и другие.

Следующим этапом реализации запроса к файлу является проверка прав доступа к нему. Если запрашиваемый вид доступа разрешен, то выполнение запроса продолжается, если нет, то выдается сообщение о нарушении прав доступа.

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

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

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

Физическая организация файла на устройстве внешней памяти

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

Непрерывное размещение – простейший вариант физической организации (рис. 3.3.а), при котором файлу предоставляется последовательность блоков диска, образующих единый сплошной участок дисковой памяти. Для задания адреса файла в этом случае достаточно указать только номер начального блока. Такая организация имеет два существенных недостатка:

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

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

Рис. 3.3. Физическая организация файла:

а - непрерывное размещение;

б - связанный список блоков;
в - связанный список индексов;

г - перечень номеров блоков

Использование связанного списка индексов (рис. 3.3.в) – популярный способ, используемый, например, в файловой системе FAT операционной системы MS-DOS. С каждым блоком связывается некоторый элемент - индекс. Индексы располагаются в отдельной области диска (в MS-DOS это таблица FAT). Если некоторый блок распределен некоторому файлу, то индекс этого блока содержит номер следующего блока данного файла. При такой физической организации сохраняются все достоинства предыдущего способа, но снимаются оба отмеченных недостатка: во-первых, для доступа к произвольному месту файла достаточно прочитать только блок индексов, отсчитать нужное количество блоков файла по цепочке и определить номер нужного блока, и, во-вторых, данные файла занимают блок целиком, а значит имеют объем, кратный степени двойки.

Следующий способ физической организации состоит в простом перечислении в дескрипторе данного файла номеров блоков, занимаемых файлом (рис. 3.3. г). Недостатком такой организации является то, что дескриптор файла в этом случае имеет переменную длину. ОС UNIX использует вариант данного способа, позволяющий обеспечить фиксированную длину адреса, независимо от размера файла. Для хранения адреса файла выделено 13 полей. Если размер файла меньше или равен 10 блокам, то номера этих блоков непосредственно перечислены в первых десяти полях адреса. Если размер файла больше 10 блоков, то следующее 11-е поле содержит адрес блока, в котором могут быть расположены еще 128 номеров следующих блоков файла. Если файл больше, чем 10+128 блоков, то используется 12-е поле, в котором находится номер блока, содержащего 128 номеров блоков, которые содержат по 128 номеров блоков данного файла. И, наконец, если файл больше 10+128+128*128, то используется последнее 13-е поле для тройной косвенной адресации, что позволяет задать адрес файла, имеющего размер максимум 10+ 128 + 128*128 + 128*128*128.

Права доступа к файлу и каталогу

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

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

Различают два основных подхода к определению прав доступа:

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

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

FAT применяется для дисков малой емкости. К основным недостаткам FAT могут быть отнесены следующие:

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

После форматирования диска в FAT на него наносится следующая служебная информация:

  •  ЗАПИСЬ СТАРТА СИСТЕМЫ (начиная с первого сектора нулевого цилиндра, состоит из  таблицы, содержащей информацию о диске; машинного кода, загружающего файлы IO.SYS и MSDOS.SYS
  •  ТАБЛИЦА РАЗМЕЩЕНИЯ ФАЙЛОВ И КОРНЕВОЙ КАТАЛОГ.

Корневой каталог - это таблица-описание содержимого диска. Каждому файлу  в таблице соответствует одна запись. Запись занимает 32 байта, разбитых на 8  полей (см. табл. 3.1).

Таблица 3.1. Структура дискриптора

Название поля

Короткий адрес

Имя файла

0-7

Расширение

8-10

Атрибуты

11

Для нужд системы

12-21

Метка времени

22-23

Метка даты

24-25

Начальный кластер

26-27

Размер файла

28-31

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

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

При размещении нового файла или каталога (каталог – это файл специального вида, содержащий записи аналогичные корневому каталогу) ему отводятся последовательно или непоследовательно размещенные кластеры и производится модифицирование FAT. При этом в дескрипторе данного файла или каталога указывается номер первого занятого кластера, а в соответствующей ячейке FAT номер следующего кластера и т.д.

Эти ячейки могут содержать приведенные в таблице значения (см. табл. 3.2).

Таблица 3.2. Значения в ячейках FAT

0000H

Свободный кластер

FFF0H - FFF6H

Зарезервированный кластер

FFF7H

Плохой кластер

FFF8H - FFFFH

Последний кластер в списке (признак конца файла)

0002H - FFEFH

Номер следующего кластера в списке

При этом для чтения файла с логического диска необходимо произвести следующие действия:

  1.  чтение дескриптора файла и определение номера первого кластера;
  2.  чтение кластера;
  3.  использование номера прочитанного кластера в качестве индекса в FAT для извлечения номера следующего кластера;
  4.  чтение кластера;
  5.  повторение действий, начиная с п.3 до тех пор, пока извлеченное из FAT значение не будет соответствовать концу файла.

В зависимости от размера ячейки в FAT различают FAT12, FAT16 и FAT32, что определяет максимальный размер логического диска отформатированного в данной файловой системе. При использовании FAT16 максимальный размер составляет около 2ГБ. При использовании FAT32 можно контролировать более 4 млрд. кластеров, что при использовании кластеров  размер в 32 Кб, позволяет использовать диски размером около 4 млн. Гбайт

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

Новая файловая система NTFS обладает лучшими показателями производительности и надежности по сравнению с FAT.

Эта файловая система поддерживает объектно-ориентированные приложения, обрабатывая все файлы как объекты, которые имеют определяемые пользователем и системой атрибуты. NTFS позволяет задавать права доступа к отдельному файлу.

Каждый файл на томе NTFS представлен записью в специальном файле, называемом Главной таблицей файлов (Master File Table, MFT).

В отличие от разделов FAT все пространство тома NTFS представляет собой либо файл, либо часть файла. Основой структуры тома NTFS является Главная таблица файлов (Master File Table, MFT), которая содержит по крайней мере одну запись для каждого файла тома, включая одну запись для самой себя. Каждая запись имеет длину 2К.

Все файлы на томе NTFS идентифицируются номером файла, который определяется позицией файла в MFT. Каждый файл и каталог на томе NTFS состоит из набора атрибутов.

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

Загрузочный сектор тома NTFS располагается в начале тома, а его копия – в середине тома. Загрузочный сектор состоит из стандартного блока параметров BIOS, количества секторов в томе, а также начального логического номера кластера основной копии MFT и зеркальной копии MFT.

Файлы NTFS состоят по крайней мере из следующих атрибутов:

  •  заголовок (H – header)
  •  стандартная информация (SI – standard information)
  •  имя файла ( FN – file name)
  •  данные (Data)
  •  дескриптор безопасности (SD security descriptor)

Небольшие файлы (Small). Если файл имеет небольшой размер, то он может целиком располагаться внутри одной записи MFT размером 2К (рис. 3.4). Из-за того, что файл может иметь переменное количество атрибутов, а также из-за переменного размера атрибутов нельзя наверняка утверждать, что файл уместится внутри записи. Однако, обычно файлы размером менее 1500 байт помещаются внутри записи MFT.

Большие файлы (Large). Если файл не вмещается в одну запись MFT, то этот факт отображается в значении атрибута "данные", который содержит признак того, что файл является нерезидентным, то есть, что файл находится вне таблицы MFT. В этом случае атрибут «данные» содержит виртуальный номер кластера для первого кластера каждого фрагмента данных (data run), а также количество непрерывных кластеров в каждом фрагменте (рис. 3.5).

Очень большие файлы (Huge). Если файл настолько велик, что его атрибут данных не помещается в одной записи, то этот атрибут становится нерезидентным, то есть он находится в другой записи таблицы MFT, ссылка на которую помещена в исходной записи о файле (рис. 3.6). Эта ссылка называется внешним атрибутом (external attribute – EA). Нерезидентный атрибут содержит указатели на фрагменты данных.

Сверхбольшие файлы (Extremely huge). Для сверхбольших файлов внешний атрибут может указывать на несколько нерезидентных атрибутов (рис. 3.7). Кроме того, внешний атрибут, как и любой другой атрибут может храниться в нерезидентной форме, поэтому в NTFS не может быть атрибутов слишком большой длины, которые система не может обработать.

Каждый каталог NTFS представляет собой один вход в таблицу MFT, который содержит список файлов специальной формы, называемый индексом (index). Индексы позволяют сортировать файлы для ускорения поиска, основанного на значении определенного атрибута. Обычно в файловых системах FAT используется сортировка файлов по имени. NTFS позволяет использовать для сортировки любой атрибут, если он хранится в резидентной форме.

Имеется две формы списка файлов.

Небольшие списки файлов (Small indexes). Если количество файлов в каталоге невелико, то список файлов может быть резидентным в записи в MFT, являющейся каталогом (рис. 3.8). В этом случае он называется небольшим каталогом. Небольшой список файлов содержит значения атрибутов файла. По умолчанию это имя файла, а также номер записи MTF, содержащей начальную запись файла.

Большие списки файлов (Large indexes). По мере того, как каталог растет, список файлов может потребовать нерезидентной формы хранения. Однако начальная часть списка всегда остается резидентной в корневой записи каталога в таблице MFT (рис. 3.9). Остальные части списка файлов размещаются вне MFT. Для их поиска используется специальный атрибут "размещение списка" (Index Allocation - IA), представляющий собой набор номеров кластеров, которые указывают на остальные части списка. Одни части списков являются листьями дерева, а другие являются промежуточными узлами, то есть содержат наряду с именами файлов атрибут Index Allocation, указывающий на списки файлов более низких уровней.

Каждый атрибут файла или каталога NTFS состоит из полей: тип атрибута, длина атрибута, значение атрибута и, возможно, имя атрибута.

Имеется системные набор атрибутов (c фиксированными именами и кодами их типа) и атрибуты, определяемые пользователями. Существует два способа хранения атрибутов файла – резидентное хранение в записях таблицы MFT и нерезидентное хранение вне ее. Сортировка может осуществляться только по резидентным атрибутам.

Ниже приведены некоторые атрибуты.

  •  Attribute List - определяет список атрибутов, которые являются допустимыми для данного конкретного файла;
  •  File Name - содержит длинное имя файла, а также номер входа в MFT для родительского каталога; если этот файл содержится в нескольких каталогах, то у него будет несколько атрибутов типа "File Name"; этот атрибут всегда должен быть резидентным;
  •  MS-DOS Name - содержит имя файла в формате 8.3;
  •  Version - содержит номер последней версии файла;
  •  Security Descriptor - содержит информацию о защите файла: список прав доступа ACL и поле аудита (определяет регистрируемые операции);
  •  Data - содержит обычные данные файла;
  •  Standard Information - хранит всю остальную стандартную информацию о файле, например, время создания файла, время обновления и т.д.
  •  и др. атрибуты

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

Как и во многих файловых системах в Ext2 существует загрузочная область. На первичном разделе (primary, в терминологии программы Fdisk фирмы Microsoft) она содержит загрузочную запись – фрагмент кода, который инициирует процесс загрузки операционной системы при запуске. Все остальное пространство раздела делится на блоки стандартного размера. Блок может иметь размер 1, 2 или 4 Кбайт. Блок является минимальной логической единицей дискового пространства (в других операционных системах такой блок называют кластером). Выделение места файлам осуществляется целыми блоками.

Блоки, в свою очередь, объединяются в группы блоков. Каждая группа блоков имеет одинаковое строение. Рассмотрим ее структуру (табл. 3.1).

Таблица 3.3. Структура группы блоков

Суперблок (Superblock)

Описание группы блоков (Group Descriptors)

Битовая карта блока (Block Bitmap)

Битовая карта индексного дескриптора (Inode Bitmap)

Таблица индексных дескрипторов (Inode Table)

Блоки данных

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

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

После суперблока следует являющееся массивом описание группы блоков (Group Descriptors).

Битовая карта блоков (Block Bitmap) – это структура, каждый бит которой показывает, отведен ли соответствующий ему блок какому-либо файлу. Если бит равен 1, то блок занят. Эта карта служит для поиска свободных блоков в тех случаях, когда надо выделить место под файл.

Битовая карта индексных дескрипторов (Inode Bitmap) выполняет аналогичную функцию по отношению к таблице индексных дескрипторов – показывает, какие дескрипторы заняты.

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

Таблица индексных дескрипторов (Inode Table) содержит индексные дескрипторы файлов (i-узлы). Индексные дескрипторы файлов содержат информацию о файлах группы блоков. Каждому файлу на диске соответствует один и только один индексный дескриптор файла, который идентифицируется своим порядковым номером – индексом файла. Отсюда следует, что число файлов, которые могут быть созданы в файловой системе, ограничено числом индексных дескрипторов. В i-узле хранится информация, описывающая файл: режимы доступа к файлу, время создания и последней модификации, идентификатор пользователя и идентификатор группы создателя файла, описание блочной структуры файла и т.д.

Каталог, по сути, является специальным файлом, содержимое которого состоит из записей определенной структуры (см. рис. 3.1)

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

Поле i_block в индексном дескрипторе файла представляет собой массив из 15 адресов блоков. Первые 12 адресов в этом массиве  представляют собой прямые ссылки на номера блоков, в которых хранятся данные из файла. Следующий адрес в этом массиве является косвенной ссылкой (адресом блока), в котором хранится список адресов следующих блоков с данными из этого файла. Следующий адрес в поле i_block индексного дескриптора указывает на блок двойной косвенной адресации (double indirect block). Этот блок содержит список адресов блоков, которые, в свою очередь, содержат списки адресов следующих блоков данных того файла, который задается индексным дескриптором.

Последний адрес в поле i_block индексного дескриптора задает адрес блока тройной косвенной адресации, то есть блока со списком адресов блоков, которые являются блоками двойной косвенной адресации.

Журналируемые файловые системы

Основная цель, которая преследуется при создании журналируемых файловых систем, состоит в том, чтобы обеспечить как можно большую вероятность быстрого восстановления системы после сбоев (например, после потери питания). Дело в том, что если происходит сбой, то часть информации о расположении файлов теряется, поскольку система не успевает записать все изменения из буфера на диск. После сбоя утилита fsck (в ОС Linux) должна проверить все диски, которые не были корректно демонтированы, с целью восстановления потерянной информации. При современных объемах жестких дисков, исчисляемых десятками гигабайт, на проверку двух-трех таких дисков может уйти слишком много времени. Кроме того, нет гарантии, что все данные удастся восстановить.

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

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

К журналируемым файловым системам относятся ReiserFS, XFS, JFS, GFS, ext3.

  1.  Задание на лабораторную работу

Разработать программу моделирующую файловую системы в соответствии с вариантом задания. При моделировании считать, что:

  •  объем внешней памяти, используемой для хранения файловой системы – не менее 64К;
  •  размер кластера или блока – 512 байт.
  •  модель файловая система должна выполнять операции создания, удаления, копирования, перемещения и переименования файлов.
  •  размер таблицы размещения файлов (FAT), размер суперблока, размер таблицы i-узлов и т.п. должен быть обосновано выбран в соответствии с заданными размерами кластера или блока и объемом внешней памяти.

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

Варианты заданий

Вариант

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

1

Файловая система FAT. Предусмотреть журнализацию.

2

Файловая система NTFS. Предусмотреть возможность разграничения прав доступа пользователей.

3

Файловая система NTFS с журназизацией. Исключить возможность использования сверхбольших файлов. Предусмотреть кроме основных операций возможность создания жестких ссылок. Предусмотреть возможность разграничения прав доступа пользователей.

4

Файловая система FAT с журнализацией.Пердусмотреть возможность разграничения прав доступа пользователей (с этой целью модифицировать стандартный дискриптор файла).


1     2      3         4         5 . . .

H

SI

FN

Data

SD

ис. 3.4. Небольшие файлы

Запись в MFT

H

SI

FN

Data

SD

Рис. 3.5. Большие файлы

Фрагмент данных

Фрагмент данных

Фрагмент данных

Запись в MFT

H

SI

EA

SD

Фрагмент данных

Фрагмент данных

Фрагмент данных

Запись в MFT

Рис. 3.6. Очень большие файлы

H

Data

FN

SD

Запись в MFT

Фрагмент данных

H

SI

EA

SD

Фрагмент данных

Фрагмент данных

Запись в MFT

Рис. 3.7. Сверхбольшие файлы

H

Data

FN

SD

Запись в MFT

Фрагмент данных

Фрагмент данных

H

Data

Запись в MFT

H

SI

FN

Список: <1.txt,27><a.bat,91>..<##>

SD

Рис. 3.8. Небольшие списки файлов (<##> – признак конца списка файлов)

Запись в MFT

Запись в MFT

H

SI

FN

Список: <1.txt,27>..<##>

SD

Рис. 3.9. Большие списки файлов (<##> – признак конца списка файлов)

IA

H

Список: <a.txt,20>..<##>

H

Список: <b.txt,84>..<##>


 

А также другие работы, которые могут Вас заинтересовать

41197. Транзитивное замыкание графа. Алгоритм Уоршалла (Warshall) 280.5 KB
  Именно {Инициализация: } {1} for i := 1 to n do {2} for j := 1 to n do {3} if i = j then else ; {4} for k := 1 to n do {5} for i := 1 to n do {6} for j := 1 to n do {7} ; {есть матрица смежности транзитивного замыкания т. {Инициализация: } {1} for i := 1 to n do {2} for j := 1 to n do {3} if i = j then else ; {4} for k := 1 to n do {5} for i := 1 to n do {6} if then ; {есть матрица смежности транзитивного замыкания т. Следовательно матрицу можно вычислить с помощью алгоритма:...
41198. Стимулированное плазмой осаждение из газовой фазы 111 KB
  Другими достоинствами активации плазмой термической реакции являются увеличение скорости осаждения и возможность получения пленок уникального состава. Благодаря низкой температуре и высокой скорости процесса осаждения а также обеспечению таких свойств как адгезия низкая плотность сквозных дефектов хорошее перекрытие ступенек рельефа приемлемые электрические характеристики пленки полученные стимулированным плазменным осаждением хорошо подходят в качестве: пассивирующего слоя для металлов с низкой температурой плавления...
41200. Стимулированное плазмой осаждение из газовой фазы пленок переходных металлов и их силицидов 137.5 KB
  Осаждение пленок вольфрама. Чистый WF6 непригоден для использования в стимулированных плазмой процессах осаждения вольфрама из – за того что при температуре подложки выше 900С преобладает травление а не осаждение слоя поскольку атомы фтора являются основными травящими агентами вольфрама. Действительно в результате соударения с электроном генерируются атомы фтора и предельные фториды вольфрама: е WF6 ↔ WF6х хF е . 1 Если атомы фтора не удаляются из зоны реакции или не связываются каким – либо методом то происходит...
41204. ПРОБЛЕМА ЯЗЫКА И СОЗНАНИЯ 165 KB
  Все это позволяет считать что у человека есть гораздо более сложные формы получения и переработки информации чем те которые даются непосредственным восприятием. Я имею в виду тот опыт который известен как опыт Бойтендайка и который лучше других показывает отличия мышления человека от мышления животных. Такая особенность и характеризует сознание человека отличая его от психики животных. Эта черта способность человека переходить за пределы наглядного непосредственного опыта и есть фундаментальная особенность его сознания.
41205. СЛОВО И ЕГО СЕМАНТИЧЕСКОЕ СТРОЕНИЕ 143.5 KB
  Прежде всего нас будет интересовать слово и его семантическое строение т. слово как носитель определенного значения. Как известно слово является основным элементом языка.