Модель файловой системы FAT
Другие рефераты
ОДЕССКАЯ ГОСУДАРСТВЕННАЯ АКАДЕМИЯ ХОЛОДА
Институт информационных технологий
кафедра информационных систем
кУРСОВАЯ РАБОТА ПО ДИСЦИПЛИНЕ
“тЕОРИЯ ОПЕРАЦИОННЫХ СИСТЕМ”
“модель файловой системы FAT”
Выполнил студент 322Б группы Холод Денис.
Руководитель Чмырь И.А.
ОДЕССА
1997
Содержание:
|Цель курсовой работы |3 |
|Идея программы |3 |
|О системе FAT |4 |
|Структура системы файлов FAT |5,6 |
|О реализации задания |7 |
|О примененных уровнях абстракции |8 |
|Об интерфейсе |9 |
|Исходный текст: Макросы, вызываемые событиями |10 |
|Исходный текст: Базовые события |13 |
|Исходный текст: Макросы нижнего уровня абстракции |15 |
|Список литературы, примененной при подготовке курсовой |17 |
|работы | |
Цель:
Разработка программы, моделирующей организацию файловой системы FAT.
Идея программы:
Программа позвовяет экспериментально исследовать логическую структуру
файловой системы FAT, состоящую из трех областей: FAT (File Allocation
Table), корневой каталог и область файлов.[1] Имеется панель описания
операций с файлами, находящимися на диске, а именно: добавить файл, удалить
файл, перезаписать файл (с изменением размера). Кроме того, предоставлена
возможность графического отображения соответствия файлов секторам на диске.
Файловая Система FAT:
Так называемая файловая система FAT использовалась во всех версиях
МСДОС и в первых двух выпусках OS/2 (версии 1.0 и 1.1). Каждый логический
том имеет собственный FAT, который выполняет две функции: содержит
информацию распределения для каждого файла в томе в форме списка связей
модулей распределения (кластеров) и указывает, какие модули распределения
свободны.
Когда FAT был изобретен, это было превосходное решение для управления
дисковым пространством, главным образом потому что гибкие диски, на которых
он использовался, редко были размером более, чем несколько Mb. FAT был
достаточно мал, чтобы находиться в памяти постоянно, позволял обеспечивать
очень быстрый произвольный доступ к любой части любого файла. Когда FAT был
применен на жестких дисках, он стал слишком большим для резидентного
нахождения в памяти и ухудшал производительность системы. Кроме того, так
как информация относительно свободного дискового пространства
рассредотачивалась "поперек" большого количества секторов FAT, он был
непрактичен при распределении файлового пространства, и фрагментация файлов
оказалась препятствием высокой эффективности.
Кроме того, использование относительно больших кластеров на жестких
дисках привело к большому количеству неиспользуемых участков, так как в
среднем для каждого файла половина кластера была потрачена впустую.
Ограничения FAT на наименование файлов и каталогов унаследованы из
CP/M. Когда Paterson создавал 86DOS, одной из его первых целей было
облегчить импорт из CP/M в его новую операционную систему. А следовательно
принятые в CP/M ограничения на имена файлов и расширений перенеслись в
86DOS.
В течение нескольких лет Microsoft и IBM сделали попытку продлить
жизнь файловой системы FAT благодаря снятию ограничений на размеры тома,
улучшению cтратегий распределения, кэширования имен пути, и перемещению
таблиц и буферов в расширенную память. Но они могут расцениваться только
как временные меры, потому что файловая система просто не подходила к
большим устройствам произвольного доступа.
Структура системы файлов FAT
|00Н |01Н |Идентификатор дисковода |
|01Н |09Н |Имя файла (8 символов) |
|09Н |0СН |Расширение (3 символа) |
|0СН |0ЕН |Номер текущего блока |
|0ЕН |10Н |Размер записи |
|10Н |14Н |Размер файла |
|14Н |16Н |Дата создания (обновления) |
|16Н |18Н |Время создания (обновления) |
|18Н |20Н |Зарезервировано |
|20Н |21Н |Номер текущей записи |
|21Н |25Н |Номер относительной записи |
|00Н |01Н |0FFH |
|01Н |06Н |Зарезервировано |
|06Н |07Н |Байт атрибута |
|07Н |08Н |Идентификатор дисковода |
|08Н |10Н |Имя файла (8 символов) |
|10Н |13Н |Расширение (3 символа) |
|13Н |15Н |Номер текущего блока |
|15Н |17Н |Размер записи |
|17Н |1ВН |Размер файла |
|1BН |1DН |Дата создания (обновления) |
|1DН |1FН |Время создания (обновления) |
|1FН |27H |Зарезервировано |
|27H |28H |Номер текущей записи |
|28H |2CH |Номер относительной записи |
Резюме
Резюме.
О реализации задания
Модель файловой системы представляет собой рабочий лист Microsoft
Excel, на котором в виде ячеек представлены три логические структуры
файловой системы:
. Каталог файлов
. Таблица распределения
. Область файлов
На рабочем листе также расположены две панели управления:
1. Операции с файлами
2. добавить
3. удалить
4. перезаписать
5. Визуализация FAT
6. показать файл
7. убрать стрелки
Исходя из контекста вопроса параллельное выполнение процессов или
потоков (MultiThreading) реализовывать нет необходимости. Учитывая эти
факторы, а также необходимость разработки “дружественного” интерейса с
применением графических примитивов, было решено использовать язык
программирования VisualBasic (VBA) от фирмы Microsoft и электронную таблицу
Excel 5.0 фирмы Microsoft.
Так как модель является типичной управляемой событиями системой, то
алгоритм ее работы достаточно прост, а точнее представляет собой ряд
алгоритмов, которые пересекаются только в среднем уровне абстракции. (см.
ниже) События вызываются пользователем посредством воздействия на органы
управления.
О примененных уровнях абстракции
Все возможные события были тщательно проанализированы автором и
разделены на три категории, или на три уровня абстракции:
. События, вызываемые внешними воздействиями. Таковыми являются все
события, вызываемые пользователем посредством вызова пунктов из групп
операций с файлами.[2]
. События фундаментальной природы, т.е. базовые события, порождаемые
предудущими. Их значительно меньше, и они никак не вникают в суть
породивших из внешних событий.[3]
. События низкого уровня абстракции, которые являются искуственно
синтезированными из предыдущих двух групп событиями и имеют целью
понизить сложность системы за счет абстрагирования от непринципиальных
тонкостей и усложнений в системе, диктуемых контекстом. Таковыми,
например, являются события обработки неправильных ситуаций.[4]
Об интерфейсе
Интерфейс является интуитивно понятным и не навязчивым, всегда,
насколько это возможно, является “демократичным” по отношению к
пользователю. В программах, написанных таким стилем, очень четко
прослеживается причинно-следственная связь, хорошо знакомая любому человеку
и являющаяся неотъемлемой частью образного мышления. Это делат программу
весьма простой в использовании, а алгоритм работы простым в понимании. Вся
необходимая для работы информация представлена в диалогах, о неправильных
ситуциях программа сообщает пользователю и это единственный (и законный)
случай нарушения свободы действий пользователя.
Далее приводится исходный текст программы с обширными комментариями,
в которых делается упор не на особенности языка программирования и
конкретной реализации, а на представление составляющих файловой системы как
объектов, а процедур и функций как методов, применяемых к этим объектам.
Макросы, вызываемые событиями
Public Type FileID 'Тип, описывающий файл: имя,размер и точка входа в FAT
Name As String
Size As Integer
First As Integer
End Type
Sub PressAddFile() 'Макрос, вызываемый кнопкой "Добавить Файл"
DialogSheets("Add").EditBoxes("Name").Text = &quo
| | скачать работу |
Другие рефераты
|