|
|||
Задание 1: Модель планирования процессовСтр 1 из 2Следующая ⇒ Задание 1: Модель планирования процессов Описание задания: Процесс – специальный объект операционной системы, с помощью которого исполняются программы. Процесс также изолирует одни программы от других. В любой многозадачной системе центральный процессор быстро переключается между процессами, предоставляя каждому из них десятки или сотни миллисекунд. При этом хотя в каждый конкретный момент времени центральный процессор работает только с одним процессом, в течение 1 секунды он может успеть поработать с несколькими из них, создавая иллюзию параллельной работы. Иногда в этом случае говорят о псевдопараллелизме в отличие от настоящего аппаратного параллелизма в многопроцессорных системах (у которых имеется не менее двух центральных процессоров, использующих одну и ту же физическую память). Людям довольно трудно отслеживать несколько действий, происходящих параллельно. Поэтому разработчики операционных систем за прошедшие годы создали концептуальную модель последовательных процессов, упрощающую работу с параллельными вычислениями. Целью проекта будет разработка упрощенной версии этой модели. Исходные данные: Реализуемая модель может содержать в себе несколько следующих классов: · модель процесса; · модель менеджера процессов; · модель планировщика; · модель операционной системы в целом. Класс Process Базовый класс Process моделирует процесс операционной системы. Основные поля класса, необходимые для его построения: ü IDProcess − идентификатор процесса. Присваивается при активизации процесса в менеджере процессов; ü Name − название процесса; ü Status − состояние процесса. Задается перечислением (enum) − ProcessStatus. Принимает одно из четырех значений: Ready, Active, Waiting, Zombie. ü TimeUsed − время работы процессов - число квантов времени (тиков), на которых процесс был активен; ü BasePriority − базовый приоритет процесса; ü CurrentPriority − текущий приоритет процесса; Объект класса имеет единственный метод Go(). Он вызывается из класса планировщика (Scheduler), когда процесс получает статус Active. В первой версии его тело примитивно: TimeUsed++.
|
|||
|