Настройка программы
Настройка программы сводится к инициализации объекта класса монитора команд при помощи конструктора класса. При этом инициализируется список команд монитора, инициализируются нулевыми значениями прочие поля объекта, создается пустой объект класса файловой системы. Для дальнейшей работы модели необходимо отформатировать файловую систему – выделить место под каталог с записями о файлах и создать там необходимые записи. Для этого используется метод int format(unsigned long size, char* NT, char* NO) файловой системы.
Проверка программы
Проверка программы реализуется выполнением различных команд монитора и проверкой получаемых результатов. Описание проверки можно найти в документе: Программа и методика испытаний к учебному проекту ««Монитор обработки команд программы «Модель файловой системы ОС реального времени»»
Дополнительные возможности
Дополнительные возможности в данном комплексе программ не предусмотрены.
Выводимые сообщения
Причина появления |
Текст сообщения |
Приветствие |
Вас приветствует модель файловой системы ОС реального времени. Данная программа моделирует работу файловой системы и имитирует её основные функции. Чтобы получить информацию о предоставляемых командах введите “help”. |
Сообщения об ошибках |
|
Превышено максимально допустимое количество символов в команде |
Превышена допустимая длина команды! |
В команде обнаружены русские символы |
Русские символы не разрешены! |
Введено неверное число параметров команды |
Неверное число параметров! |
Введено неверное имя команды |
Неверное имя команды! |
Введен неверный первый параметр команды |
Неверный первый параметр! |
Введен неверный второй параметр команды |
Неверный второй параметр! |
Введен неверный третий параметр команды |
Неверный третий параметр! |
Попытка выполнить операцию с неотформатированной системой |
Файловая система не отформатирована! |
Непредвиденная ошибка во время выполнения команды |
Во время выполнения команды произошла непредвиденная ошибка! |
Попытка получить содержимое пустой файловой системы |
Файлы в системе отсутствуют! |
Попытка получить информацию о свободных областях полностью заполненной системы |
Свободные области в системе отсутствуют! |
Недостаток места в системе при записи/перезаписи файла |
Недостаточно места в системе! |
Недостаток места в каталоге при записи/перезаписи файла |
Недостаточно места в каталоге! |
Попытка создания уже существующего файла |
Такой файл уже существует! |
Попытка обращения к несуществующему файлу |
Такого файла нет в системе! |
Ошибка записи файла на жесткий диск |
Не удалось записать файл на жесткий диск! |
Ошибка в МК |
Во время работы программы возникла непредвиденная ошибка. Программа завершает своё выполнение. |
Сообщения об успешном выполнении |
|
format |
Файловая система отформатирована |
content, sortcontent |
Содержимое файловой системы: «содержимое» |
freespace |
Информация о свободных областях: «информация» |
create |
Файл «имя.тип» с размером «размер» успешно создан |
del |
Файл «имя.тип» удален |
rename |
Файл «имя.тип» переименован в «имя2.тип» |
append |
Размер файл «имя.тип» увеличен на «размер» |
changetype |
Тип файла «имя.тип» изменен на «.тип2» |
defrag |
Файловая система сжата |
userandlabel |
Имя владельца и метка тома изменены на «метка тома» и «имя владельца» |
createFS |
Файл filesystem.txt успешно создан |
exit |
Завершение работы. |
Справочные сообщения |
|
help |
Команды в системе имеют следующий формат: имя_команды параметр_1 параметр_2 параметр_3 Количество параметров у разных команд может быть от 0 до 3 При задании параметров не допускается использование символов русского алфавита В системе имеются следующие команды: format размер_системы метка_тома имя_владельца content sortcontent freespace create имя_файла тип_файла размер_файла del имя_файла тип_файла rename старое_имя_файла тип_файла новое_имя_файла append имя_файла тип_файла добавляемый_размер changetype имя_файла старый_тип_файла новый_тип_файла defrag userandlabel имя_владельца метка_тома createFS help exit Для получения информации о команде введите её имя с вопросительным знаком в конце, например format? |
format?
|
format размер_системы метка_тома имя_владельца Данная команда создает файловую систему заданного размера, устанавливает её метку тома и имя владельца Размер задается в блоках, он должен быть больше 9-ти и не должен превышать 65536-ти Имя владельца и метка тома не должны быть длиннее 12-ти символов |
content?
|
content Данная команда выводит перечень файлов в системе в том порядке, в котором они там находятся |
sortcontent?
|
sortcontent Данная команда выводит перечень файлов в системе в алфавитном порядке |
freespace?
|
freespace Данная команда выводит перечень пустых областей в системе |
create?
|
create имя_файла тип_файла размер_файла Данная команда создает в системе файл с заданными именем и типом, имеющий заданный размер Имя создаваемого файла не должно быть длиннее 6-ти символов, тип - 4-х Размер должен быть ненулевым и не должен превышать 65468-ми |
del?
|
del имя_файла тип_файла Данная команда удаляет из системы файл с заданными именем и типом Имя файла не должно быть длиннее 6-ти символов, тип - 4-х |
rename?
|
rename старое_имя_файла тип_файла новое_имя_файла Данная команда меняет имя файла с заданными именем и типом на новое Имя файла не должно быть длиннее 6-ти символов, тип - 4-х |
append?
|
append имя_файла тип_файла добавляемый_размер Данная команда увеличивает размер файла с заданными именем и типом на указанную величину Имя файла не должно быть длиннее 6-ти символов, тип - 4-х Размер должен быть ненулевым и не должен превышать 65468-м |
changetype?
|
changetype имя_файла старый_тип_файла новый_тип_файла Данная команда меняет тип файла с заданными именем и типом на новый Имя файла не должно быть длиннее 6-ти символов, тип - 4-х |
defrag?
|
defrag Данная команда дефрагментирует файловую систему |
userandlabel?
|
userandlabel имя_владельца метка_тома Данная команда меняет имя владельца и метку тома в системе на новые Имя владельца и имя тома не должны быть длиннее 12-ти символов |
createFS?
|
createFS Данная команда создает на жестком диске файл filesystem.txt со структурой, соответсвующей созданной файловой системе |
help?
|
help Данная команда выводит список имеющихся команд и их параметров |
exit?
|
exit Данная команда осуществляет выход из приложения |
