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

Управления файловой систем

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

Эмулятор должен реализовывать следующее минимальное множество команд:

1) Создание ФС в файле образа.

Например :

Emulator FSfname.im /CREATE /SIZE:600 /CLUST:4 /ROOT:2 /FAT:1

создание DOS-подобной ФС (на основе FAT) в файле образа с именем “FSfname.im“ общим размером 600kB, размером кластера 4 kB, 1 копией FAT и корневым директорием размером 2 кластера.

 

2) Получение информации о структуре и состоянии ФС, находящейся в файле образа (аналог DiskEdita).

Например :

Emulator Fsfname.im /INFO

 

3) Копирование файлов.

Например :

a) копирование файлов в образ ФС

Emulator Fsfname.im /COPYTO SRCfname DSTfname

где

Fsfname . im – имя файла-образа

SRCfname – имя файла-источника на диске

DSTfname – имя файла-приемника в образе ФС

b) копирование файлов из образа ФС

Emulator Fsfname.im /COPYFROM SRCfname DSTfname

где

Fsfname . im – имя файла-образа

SRCfname – имя файла-источника в образе ф.с.

DSTfname – имя файла-приемника на диске

 

4) Удаление файла из ФС.

Emulator Fsfname.im /DEL fname

 

5) Вывод списка файлов ФС.

Emulator Fsfname.im /DIR

 

6) Оптимизация расположения файлов в ФС. (аналог SpeedDisk или DiskDEfragmenter).

Emulator Fsfname . im / OPTIMIZE



Методические указания

 

Для уменьшения трудоемкости работы предлагается придерживаться следующих рекомендаций:

1) для проектируемой ФС не реализовывать иерархическое представление (например для DOS-а иметь только корневой каталог)

2) для файлов хранить минимум атрибутов (например только имя и расширение, совместимое с DOS-ом)

3) не реализовывать систему защиты.

При этом основное внимание следует сосредоточить на реализации логики функционирования ф.с.

Работу можно разбить на несколько этапов:

I. Проектирование ФС

1) описать постановку задания для своего варианта;

2) ознакомиться с устройством, принципами и алгоритмами функционирования файловой системы Операционной Системы, предложенной в качестве прототипа;

3) спроектировать свою ФС:

a) Общее описание ФС

b) Спецификации ФС (форматы и структуры данных)

c) Спецификации сновных запросов к ФС (Open/Close/Seek/Flush и т.д.)

II. Реализация эмулятора ФС

4) Проектирование эмулятора (спецификация команд эмулятора)

- синтаксис и семантика команд (в случае реализации интерфейса в командной строке)

- описание пунктов меню и основных диалогов …

5) Разработка алгоритмов функционирования

6) Программирование эмулятора

7) Отладка:

В качестве теста можно использовать следующую последовательность действий (просматривая после каждого шага листинг состояния ф.с.):

1- создать ФС объемом 100kB

2- скопировать в ФС файл f20 (размером 20kB)

3- скопировать в ФС файл f10 (размером 10kB)

4- скопировать в ФС файл f40 (размером 40kB)

5- удалить из ФС файл f10

6- скопировать в ФС файл f30 (размером 30kB)

7-  удалить из ФС файл f30

8- скопировать в ФС файл f5 (размером 5kB)

9- скопировать в ФС файл f60 (размером 60kB)

10- удалить из ФС файл f20

11- оптимизировать ФС

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

III. Анализ функционирования

8) Анализ недостатков спроектированной ФС.

9) Выдвижение проедложений по усовершенствованию

10) Составить отчет и сдать работу



Содержание отчета

 

1) Общее описание спроектированной ФС

2) Спецификации ФС (форматы и структуры данных)

3) Спецификация команд эмулятора:

- синтаксис и семантика команд (в случае реализации интерфейса в командной строке)

- описание пунктов меню и основных диалогов …

4) исходные тексты основных модулей, определяющих структуры данных и логику работы системы

5) распечатку листинга состояния ФС после применения тестовой последовательности команд, демонстрирующей особенности функционирования системы

6) Выводы: анализ функционирования спроектированной ФС и предложения по ее улучшению.

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

В качестве прообраза ФС в зависимости от варианта (по классификатору) необходимо реализовать в эмуляторе следующие дополнительные команды:

1) Добавить к файлу

2) Усечение файла

3) Удаление всех файлов сразу (Quick Format)

Реализовать утилиту подсчета потерь дискового пространства в “хвостах” файлов (WASTE).

 
Раздел 8


Дата: 2019-02-25, просмотров: 244.