|
|||
Класс ProcessManager. Класс SchedulerКласс ProcessManager Класс моделирует работу менеджера процессов операционной системы. Поля класса: ü Processes список всех процессов операционной системы; ü ActiveProcess ссылка на выбранный на данном кванте времени процесс. Может быть нулевым; ü CurrentTime текущее время работы системы. Методы класса ProcessManager: ü ProcessAdd − метод, добавляющий новый процесс в список процессов. Новому процессу присваивается уникальный идентификатор и модифицируется его имя; ü ProcessRemove − метод, удаляющий процесс из списка процессов; ü VerifyForTerminated − метод должен просмотреть все процессы в списке и удалить процессы со статусом Zombie; ü NextTime − метод вызывается на каждом очередном кванте времени. Он должен: a) проверить и удалить завершенные процессы; b) с помощью планировщика определить следующий активный процесс; c) передать управление активному процессу, т.е. вызвать его метод Go(). Класс Scheduler Планировщик. Имеет статический (вызываемый без привязки к объекту класса) метод GetNextActive(List<Process> procs) Примерный интерфейс «формы»:
Модель состояний процессов:
|
|||
|