/MeowOS

Operating system emulator consisting file system model and visual presentation of process scheduler algorithm

Primary LanguageC#

Эмулятор операционной системы

Содержит модель файловой системы и наглядное представление алгоритма планировщика процессов

Техническое задание

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

  • режим работы:
    • многопользовательская защита;
    • интерактивный;
  • управление процессами:
    • квантование времени;
    • абсолютные приоритеты;
    • относительные приоритеты;
    • динамические приоритеты;
  • организация файловой системы:
    • многоуровневая;
    • списки свободных/занятых кластеров;
  • команды интерпретатора:
    • вход и выход из системы;
    • копирование;
    • перемещение;
    • переименование;
    • создание и удаление;
    • информация о процессах;
    • изменение приоритета процесса;
    • уничтожение процесса;
  • эмуляция работы:
    • эмуляция планировщика.

Файловая система

Для проектирования файловой системы в качестве прототипа была взята FAT16, были внесены некоторые изменения. Имеются такие функции как создание диска (файла с расширением mfs) с настраевыми параметрами (размер логического блока, размер корневого каталога, размер области данных), загрузка созданного ранее диска, управление пользователями и группами пользователей, создание, копирование, перемещение, удаление файлов и каталогов, редактирование их свойств, загрузка/выгрузка файлов в/из хостовой ОС.

Планировщик процессов

Планировщик процессов организован таким образом, что поступающие на выполнение процессы распределяются по очередям в соответствии с их приоритетами — в каждой очереди находятся процессы только определённого приоритета. Всего очередей 4, как и приоритетов: низкий, обычный, высокий и абсолютный. Чем выше приоритет процесса, тем больше величина кванта: 4, 6, 8 и 24 единиц времени соответственно. Каждая из очередей работает по принципу Round-Robin. Кроме того, и сами очереди (назовём их малыми) организовывают большую очередь Round-Robin. В эмуляторе доступна генерация, изменение приоритета, и убийство процесса. В наглядном представлении состояние каждого процесса обозначается одним из трёх цветов:

  • белый - процесс не существует (ещё не создан или уже завершён);
  • серый - процесс находится в очереди, но в данный момент не выполняется;
  • чёрный - процесс выполняется в данный момент.

Схема алгоритма планировщика

Схема алгоритма планировщика

Диаграмма состояний процесса

Диаграмма состояний процесса

Скриншоты

Форма авторизации

Форма авторизации

Создание нового диска

Создание нового диска

Главная форма (проводник файловой системы)

Главная форма (проводник файловой системы)

Свойства файла

Свойства файла

Менеджер пользователей

Менеджер пользователей

Планировщик процессов

Планировщик процессов