Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
курсовая_планировщик.docx
Скачиваний:
3
Добавлен:
23.09.2019
Размер:
328.98 Кб
Скачать

2.Построение объектной модели

2.1.Анализ предметной области и построение модели

Изучив принципы построения операционных систем, модели взаимодействия и взаимоисключения процессов, рассмотрев алгоритмы планирования процессов, в предметной области (операционная система, планирование процессов в которой происходит по алгоритму многоуровневых очередей с обратной связью) можно выделить следующие понятия:

1.Процесс.

2.Операционная система.

В модели каждый из процессов, в течение своей жизни переходит по трем состояниям – готовность, выполнение и блокировка и имеет следующие характеристики – время жизни и состояние. Для взаимодействия процессов в рамках операционной системы необходимо реализовать: очередь процессов готовых к выполнению, которая представляет из себя структуру организованную по принципу FIFO; список заблокированных процессов – организация данных в такой структуре должна носить характер «кучи», любой процесс в любой момент времени может быть извлечен. Также в модели необходимо реализовать состояние – выполнение, которое мы назовем процессором, т.е. если процесс находится в стадии выполнения в данный момент времени, он расположен на процессоре. Вся информация о процессах хранится в таблице процессов.

Теперь рассмотрим механизм планирования процессов. Для его реализации в системе должны быть построены взаимосвязанные между собой очереди. Переход процесса с одной очереди на другую не вызывает никаких сложностей. Остановимся на анализе механизма блокировки процесса. В реальных системах это происходит в соответствии с интерактивностью процесса, непрерывным пребыванием процесса на процессоре. В модели будем использовать следующий подход:

Каждый из процессов характеризуется понятием «вероятность блокировки», то есть за один элементарный квант времени у процесса есть вероятность после состояния «выполнение» перейти в состояние «блокировка». Покажем, что такой метод гарантирует правильное поведение системы в соответствии с изучаемым алгоритмом. Действительно, пусть процесс находится в очереди 0.Он, имея высокую вероятность блокировки будет переходить в состояние блокировки за 1 квант времени, то есть верным образом будет продемонстрирован, тот факт, что длина непрерывного пребывания на процессоре будет меньше, чем длина кванта времени в соответствующей очереди. Кроме того, вероятность данной характеристики позволяет нам наиболее реально выразить понятие «интерактивность», поскольку реально мы не можем говорить о том что время непрерывного пребывания процесса на процессоре постоянно. Более того это позволяет нам в успешно решить поставленную задачу. Теперь пусть процесс не заблокировался в очереди 0, он переходит в очередь 1 с длиной кванта времени 2. В этом случае разыграем попытку блокировки дважды. Если процесс не заблокировался, то он переходит в очередь 2 и т.д. Предположим «вероятность блокировки» равна p. Вероятность блокировки в очередь 0 равна p, в очереди 1 – (1-p)p, в очереди 2 – (1-p)2p и т.д. В силу того, что ∑(1-p)k-1p = 1 ,гарантируется, что найдется очередь в которой процесс заблокируется, мы можем отождествить понятие «вероятность блокировки» нашей модели и понятие интерактивность процесса реальной операционной системы.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]