Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Эмулятор FAT

.txt
Скачиваний:
2
Добавлен:
20.05.2014
Размер:
4.41 Кб
Скачать
ПОСТАНОВКА ЗАДАЧИ:

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

Базовые принципы системы FAT

Система представляет собой два основных компонента. Это Корневой Каталог и таблица FAT.

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



Принцип работы:



Получив запрос на чтение файла, система обращается к корневому каталогу. Ищет в нем необходимое имя файла*. Как только имя файла найдено, система просматривает второй столбец корневого каталога. Узнав имя первого кластера она обращается к нему -> cчитывает из него информацию -> в самом конце (уже после текста файла) стоит специальная метка, в которой указан номер следующего кластера.... И так до тех пор, пока в конечной метке последнего кластера файла не будет специальный машинный значок «EOF». После прочтения данного значка считывание файла прекращается.

*Примечание: Если в команде на обращение к файлу (в которой, естественно, указан адрес размещения файла) указаны пользовательские каталоги, то прежде чем искать, собственно, сам файл, система последовательно будет искать вложенные пользовательские каталоги, и только потом уже, в последнем каталоге, искать имя файла.



Базовые понятия в файловых системах:


Корневой каталог — каталог файлов, который является основным (расположен в корне) всей древовидной структуры файловой системы. Создается во время разметки диска под файловую систему. Размещается в 1-м кластере файловой системы, и имеет ограниценный размер. *Имеет резервную копию (образовывает как-бы RAID-массив)

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

Кластер — организационная единица файловой системы. Включает в себя неограниценное, зависящее от емкости диска, число сектров. Число кластеров зависит от типа файловой системы, которая используется на диске (FAT32 -> 2^32 кластеров).

Сектор — минимальная операционная единица данных. Емкость постоянна, и составляет 512 байт.

Операции с файлами — действия, которые может совершить пользователь, с помощью ф.с., при организации работы с данными жесткого диска.
Удалить
Переименовать
Переместить
Линеирилизировать
Создать
Прочитать

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



Общее описание разработанной программы:

Программа реализована на языке JAVA 2. Обладает GUI (Графическим интерфейсом). Кроссплатформенная, в комплекте дан пакетный файл *.exe для запуска под ОС Windows. Для работы необходима версия JAVA Virtual Mashine версии не ниже 1.6.0.2. Выделяет под себя один системный поток. Использует объекты JAVA-классов:
jTable (таблица FAT)
jLabel (комментирующие, поясняющие надписи)
jTree (дерево корневого каталога)
jButton (командные кнопки)
jFrame (главное окно программы)
jTextField (текстовое поле для данных используемых в работе программы)
jComboBox (выпадающее меню)
jDialog (диалоговое окно для сбора данных вводимых пользователем данных)
jPopupMenu (контекстное меню)




Комментарии к разработанной программе:

1)Работа начинается с разметки жесткого диска и создания на нем файловой системы.
2)Не на каждом жестком диске можно создать любую FAT, а в зависимости от его емкости.
3)В програме реализовано дерево файловой системы, которое, также, играет роль Корневого Каталога.
4)Первые 4-е кластера таблицы FAT заняты под: Корневой каталог и его зеркало, таблицу FAT и ее зеркало.
5)Нумерация кластеров происходит слева-направо, начиная с 0-го кластера.
6)Размещение файлов на диске происходит последовательно начиная с 4-го кластера.