
Добавил:
ICK
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Эмулятор FAT
.txt ПОСТАНОВКА ЗАДАЧИ:
Создание симулятора файловой системы, построенному по принципу файловой системы 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-го кластера.
Создание симулятора файловой системы, построенному по принципу файловой системы 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-го кластера.
Соседние файлы в предмете Операционные системы