САВЧЕНКО_А_итоговаяx - Сибирский федеральный

advertisement
УДК 004.42
РАЗРАБОТКА ЭМУЛЯТОРА ПЕРЕХОДОВ СОСТОЯНИЙ ПРОЦЕССА В
МНОГОПРОЦЕССОРНЫХ ОПЕРАЦИОННЫХ СИСТЕМАХ
Савченко А.И.,
научные руководители: старший преподаватель Макуха Л. В.,
старший преподаватель Сидоров А.Ю.
Сибирский федеральный университет
Современная
система
образования
заинтересована
в
выпуске
квалифицированных специалистов, способных справиться с поставленными задачами,
умеющих принимать решения и нести за них ответственность, профессиональных и
грамотных. Для этого необходимо заинтересовать студентов и «включить» их в
учебный процесс.
Использование дистанционного обучения уже давно стало неотъемлемой частью
системы образования. Данный подход позволяет взаимодействовать преподавателю со
студентами в режиме онлайн, повышая уровень знаний студентов. Такое обучение
активно использует: электронные лекции, интернет тестирование, эмуляторы – как
средства визуализации изучаемого материала. А это значит, что появляется
возможность создания эмуляторов процессов, которые помогают наглядно изучить
протекающий тот или иной процесс в многозадачной ОС, шаг за шагом. Учащийся
может разобраться в алгоритме не только в теории, но и на практике, изменяя
переменные, упрощая или усложняя задачу. Это способствует повышению интереса
студента к предмету изучения и способствует улучшению результатов усваивания
материала.
Основной задачей является разработка эмулятора переходов состояний процесса
в многопроцессорных ОС для электронной системы управления курсами (LMS
Moodle), с возможностью тестировать знания учащегося по окончанию изучения
материалов.
При разработке эмулятора переходов процесса в многопроцессорных ОС
необходимо учесть, что все множество алгоритмов планирования делятся на две
категории: вытесняющие и не вытесняющие.
Не вытесняющие (non-preemptive) алгоритмы планирования потока работают по
принципу: активному потоку позволяется выполняться до тех пор, пока он сам, по
собственной инициативе, не отдаст управление операционной системе, чтобы та
выбрала из очереди другой готовый к выполнению поток.
Вытесняющие (preemptive) алгоритмы планирования потоков работает по
принципу: операционная система которых принимает решение о переключении
процессора с выполнения одного потока на выполнение другого, а не активная задача.
Функции планирования потока сосредоточенны в операционной системе.
В основе многих вытесняющих алгоритмов планирования лежит концепция
квантования, в соответствии с которой каждому потоку поочередно для выполнения
предоставляется ограниченный непрерывный период процессорного времени – квант
(рис.1).
Рис.1 – Граф алгоритма планирования потока, основанного на квантовании
Для реализации поставленной задачи используются математические модели –
сети Петри. Моделирование в сетях Петри осуществляется на событийном уровне.
Определяются, какие действия происходят в системе, какие состояние предшествовали
этим действиям и какие состояния примет система после выполнения действия.
Выполнения событийной модели в сетях Петри описывает поведение системы. Анализ
результатов выполнения может сказать о том, в каких состояниях пребывала или не
пребывала система, какие состояния в принципе не достижимы.
На основании данной математической модели разрабатывается эмулятор
перехода процессов в многопроцессорном ОС на основании квантования (рис.2). При
создании эмулятора следует учитывать возможность задание нескольких начальных
условий. Так кванты, выделяемые потоком, могут быть одинаковыми для всех потоков
или различными. На протекание процесса влияет и длина кванта, от этого зависит
время ожидания, выполнения процесса и их взаимодействие. Кроме того, кванты,
выделяемые одному потоку, могут быть фиксированной величины, а могут и
изменяться в разные периоды жизни потока.
Рис.2 Процесс работы эмулятора алгоритма планирования потока, основанного на
квантовании
Другой концепцией, лежащей в основе многих вытесняющих алгоритмов
планирования, является приоритетное обслуживание (рис.3.1, рис.3.2). Оно
предполагает наличие у потоков некоторой изначально известной характеристики –
приоритета, на основании которой определяется порядок их выполнения. Приоритет
может выражаться числом. В некоторых ОС принято, что приоритет потока тем выше,
чем больше число, обозначающее приоритет. В других системах, чем меньше число,
тем выше приоритет. Во многих ОС предусматривается возможность изменения
приоритетов в течение жизни потока. Изменения приоритета могут происходить по
инициативе самого потока, когда он обращается с соответствующим вызовом к ОС, или
по инициативе пользователя, когда он выполняет соответствующую команду. Кроме
того, ОС сама может изменять приоритеты потоков зависимости от ситуации,
складывающейся в системе. В последнем случае приоритеты называются
динамическими, в отличие от неизменяемых фиксированных приоритетов.
Рис.3.1 Граф состояния потока в системе с относительными приоритетами
Рис.3.2 Граф состояния потока в системе с абсолютными приоритетами
В современных ОС во избежание разбалансировки системы, которая может
возникнуть при неправильном назначении приоритетов, возможности пользователей
влиять на приоритеты процессов и потоков стараются ограничивать. Как правило, лишь
администраторы имеют право повышать приоритет своим потокам, и то в
определенных пределах. В большинстве случаев ОС присваивает приоритеты потокам
по умолчанию (рис.4.1, рис.4.2).
Рис.4.1 Процесс работы эмулятора алгоритма планирования потока в системе с
относительными приоритетами
Рис.4.2 Процесс работы эмулятора алгоритма планирования потока в системе с
абсолютным приоритетом
Во многих операционных системах алгоритмы планирования построены с
использованием как квантования, так и приоритетов.
Таким образом, поставленная задача разработки эмулятора решается при
помощи математической модели. Внедрение эмулятора переходов состояний процесса
в многопроцессорных ОС в электронный учебный курс предполагает дальнейшую
разработку системы тестов для учащихся.
Download