Файл: Курсовая работа по дисциплине операционнные системы Тема курсовой работы Исследование алгоритмов планирования многопоточных вычислительных процессов.doc

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 29.11.2023

Просмотров: 92

Скачиваний: 5

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Образец титульного листа
РОССИЙСКИЙ ГОСУДАРСТВЕННЫЙ СОЦИАЛЬНЫЙ УНИВЕРСИТЕТ
Факультет Информационных технологий

Кафедра Математики и информатики

Курсовая работа по дисциплине

«ОПЕРАЦИОНННЫЕ СИСТЕМЫ»

Тема курсовой работы: Исследование алгоритмов планирования многопоточных вычислительных процессов

Выполнила: студентка 273 (1) групы

___________________ Иванова А.А.

e-mail адрес: aaaaaa@mail.ru


Руководитель: доцент кафедры Математики и информатики ________________ Горелов С.В.

Москва 2011

Образец задания
РОССИЙСКИЙ ГОСУДАРСТВЕННЫЙ СОЦИАЛЬНЫЙ УНИВЕРСИТЕТ
Факультет Информационных технологий

Кафедра Математики и информатики


ЗАДАНИЕ

на курсовую работу студенту(ке) 173 группы Ивановой Лидии Александровне
Тема курсовой работы: "Исследование алгоритмов планирования многопоточных вычислительных процессов"
Целевая установка и исходные данные: На основе анализа предметной области разработать программу, моделирующую многопоточные вычислительные процессы с различными алгоритмами планирования.

Входящий поток - простейший, интенсивность потока - 100-1000 1/с. среднее время обслуживания потока - 10 мс (усеченное нормальное распределение), микропроцессор – двухядерный, алгоритмы планирования - FIFO, кратчайший - первым.


Основные вопросы, подлежащие разработке (исследованию):

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

  2. Постановка задачи моделирования.

  3. Определение (уточнение) требований к исходной информации.

  4. Определение параметров и переменных модели.

  5. Выбор и обоснование показателей и критериев эффективности системы.

    1. Разработка содержательного описания модели.

    2. Разработка алгоритма модели системы.

    3. Разработка программы модели системы.

    4. Тестирование программы.

    5. Проведение экспериментов с моделью и анапиз полученных результатов

    6. Разработка пояснительной записки и презентации для представления результатов работы и их зашиты




Ожидаемые результаты и предполагаемая практическая реализация

      1. Рекомендации по организации многопоточных вычислительных процессов

      2. Предполагается реализовать в учебном процессе кафедры при изучении дисциплины «Операционные системы»

К защите представить (указать объем пояснительной записки, перечень чертежей, схем и т.д.)

        1. Пояснительную записку. 15-25 с.

        2. Распечатку исходных текстов программ с комментариями

(в приложении к Пояснительной записке).

        1. Иллюстративный материал. 10-15 (слайдов)

        2. Программу модели и презентацию на носителе информации

        3. Другие материалы (по необходимости), например, об использовании выполненной работы на других кафедрах или в других вузах



Консультанты профессор Сидоров В. А.

Место выполнения курсовой работы РГСУ, факультет Информационных технологий
Руководитель доцент кафедры математики и информатики, кандидат технических наук, доцент А. В. Сергеев
Задание получил(а) студент(ка) 273 (1) группы Иванова JI.A.

Пример курсовой работы по дисциплине «Операционные системы»

СОДЕРЖАНИЕ

Введение

          1. Объектно-ориентированный анализ предметной области

            1. Описание системы в терминах теории массового обслуживания

            2. Дисциплины обслуживания

          2. Технические требования к системе в терминах классов и взаимодействия

            1. Отождествление действующих субъектов

            2. Создание предварительного списка прецедентов

              1. Создание предварительного списка прецедентов

              2. Уточнение и присвоение имен прецедентам

              3. Разделение прецедентов

              4. Объединение прецедентов

              5. Конечный список прецедентов

              6. Определение последовательности событий для каждого прецедента

              7. Диаграмма прецедентов

              8. Диаграмма последовательности событий

              9. Диаграмма сотрудничества

              10. Концептуальная модель

              11. Общие технические характеристики

                1. Объектно-ориентированное проектирование и программирование

                  1. Проектирование вывода

                  2. Проектирование ввода

                  3. Проектирования графического интерфейса

                  4. Определение функциональных составляющих модели

                  5. Проектирование обработки данных

                  6. Построение модели

  1. Разработка программы

  2. Разработка пользовательского интерфейса


  1. Анализ работы программы

Заключение

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

Существует множество различных алгоритмов планирования процессов. Все они преследуют различные цели в зависимости от поставленной задачи. Зачастую особенности реализации планирования потоков определяют специфику операционной системы.

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

Существующие алгоритмы планирования можно разделить на вытесняющие и невытесняющие; алгоритмы, основанные на квантовании; алгоритмы, основанные на приоритетах; смешанные.

Тема данной работы актуальна в связи с проектированием и разработкой физических и логических компонент компьютерной системы. Как выбрать оптимальное количество процессоров? Как распределить приоритеты между различными задачами? Как зависит время фактического решения задачи от ее теоретически предполагаемого времени решения? Какой алгоритм планирования лучше в определенной данной ситуации? Для анализа и решения данных задач применяются модели, которые представля­ют собой программы, имитирующие работу компьютерной системы.

Полученные результаты также можно использовать для изучения (анализа) различных дисциплин обслуживания процессов в учебном процессе. Эту цель мы и преследовали в своей работе.


  1. Объектно-ориентированный анализ предметной области



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


    1. ОПИСАНИЕ СИСТЕМЫ В ТЕРМИНАХ ТЕОРИИ МАССОВОГО ОБСЛУЖИВАНИЯ


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

Моделью очереди заявок может служить система массового обслуживания. Здесь ключевыми являются характеристики заявок. Часто различают заявки по их приоритету, т.е. по важности. Заявки высокого приоритета обслуживаются в первую очередь. Абсолютный приоритет дает право прервать обслуживание менее важной заявки и занять ее место в обслуживающем приборе. Вытесненная заявка либо теряется, либо поступает в очередь, где ждет дообслуживания. Иногда приходится возобновлять обслуживание вытесненной заявки с начала, а не продолжать с точки прерывания. Если заявка вытеснена на из буфера, она, естественно, теряется. Примером заявки с абсолютным приоритетом является судно, получившее пробоину и нуждающееся в срочной разгрузке. В вычислительных системах абсолютным приоритетом обладают команды оператора. Относительный приоритет дает право первоочередного занятия освободившегося прибора. Он дает право на вытеснение заявки из прибора или буфера. Абсолютный и относительные приоритеты различаются и моментом действия: абсолютный реализуется в момент поступления, а относительный - в момент освобождения прибора.

Различают фиксированные и динамические приоритеты. Фиксированные приоритеты чаще называют дисциплиной обслуживания. Дисциплина обслуживания задает порядок выбора из очереди в освободившийся прибор заявок одинакового приоритета. Нашей задачей является разработка программы, моделирующей работу многопроцессорной системы для четырех дисциплин обслуживания FIFO, LIFO, SJF, RR. Первые три алгоритма являются невытесняющими. RR
является в данной системе вытесняющим алгоритмом, основанным на квантовании и приоритетах.


            1. ДИСЦИПЛИНЫ ОБСЛУЖИВАНИЯ


Рассмотрим каждую из дисциплин в отдельности.

FIFO (First- in-First-Out)

При данной дисциплине обслуживания процессы выбираются из очереди в порядке их поступления. Каждый вновь пришедший процесс занимает свободный процесс если такой имеется в системе, либо остается в очереди до тех пор, пока не освободится какой-либо из процессоров. Задача покидает систему после полно окончания е обработки, т.е. по истечении времени, необходимого для ее обслуживания.

LIFO (Last-In-Fist-Out)

Данная дисциплина обслуживания заключается в том, что процессоры выбираю из очереди в порядке, обратном их поступлению. Процессы также занимают свободные процессоры либо ожидают момента, когда они освободятся. Задача покидает систему по окончании обработки.

SJF (Shortest Job First)

При дисциплине обслуживания SJF выборка процессов из очереди осуществляется на основании времени, необходимого для выполнения задачи. Приоритет отдается наиболее коротким. Задача покидает систему после полно окончания е обработки, т.е. по истечении времени, необходимого для ее обслуживания.

RR (Round Robin)

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


  1. Технические требования к системе в терминах классов и взаимодействия


Данную систему предполагается использовать в учебном процессе для наглядности при рассмотрении различных алгоритмов обработки процессов. Она позволяется создать необходимую систему для моделирования (многопроцессорная система, без учета ввода-вывода), ввести необходимые параметры процессов и получить резуль­таты для анализа и сравнения. Используем технологию прецедентов для определения возможного применения системы.


    1. ОТОЖДЕСТВЛЕНИЕ ДЕЙСТВУЮЩИХ СУБЪЕКТОВ




    1. Основные пользователи данной системы - учащиеся и преподаватели.

    2. Не предусматривается использование данной системы какой-нибудь другой системой.

    3. Проектируемая система не будет связана с другими системами. Она представляет собой самостоятельный программный продукт. Также в системе не предусматривает использование баз данных.

    4. Система не должна реагировать на события, не связанные с пользователем. Проектируемая система будет использоваться как учащимися, так и преподавателями, но различий в полномочиях этих групп пользователей нет, поэтому их можно объединить в один субъект «Пользователь».