Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
курсовая крепышев 1.rtf
Скачиваний:
73
Добавлен:
21.05.2015
Размер:
1.84 Mб
Скачать

3. Описание алгоритма

вычислительный однопроцессорный программа сортировка

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

  • ввод значений;

  • заполнение очереди заявок;

  • реализация алгоритма без предварительной сортировки;

  • сортировка очереди;

  • реализация алгоритма SPT;

  • реализация алгоритма RR.

Ввод значений: используются стандартные операторы ввода-вывода.

Заполнение очереди заявок: создание заявки, добавление заявки в очередь.

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

Сортировка очереди: удаление нулевых заявок, окончательная сортировка осуществляется в алгоритмах обработки очереди.

Реализация алгоритма SPT: предварительная сортировка, проверка присутствия заявки, выполнение заявки, увеличение счетчиков, переход к следующей заявке.

Реализация алгоритма RR: проверка присутствия заявки, проверка длины заявки, если время выполнения заявки больше кванта, то выполнение части заявки, перемещение оставшейся части заявки в конец очереди, увеличение счетчиков, переход к следующей заявке.

(Текст программы смотреть в приложении 1)

4. Результаты работы

Таблица 1.Результаты работы программы:

Опыт:

1

2

3

4

5

6

7

8

Число заявок

100

100

100

100

1000

1000

1000

1000

Вероятность прихода заявки

60

60

30

30

60

60

30

30

Длительность решения задачи

7

5

7

5

7

5

7

5

Длина короткой заявки(квант)

4

4

4

4

4

4

4

4

Сумма длин заявок

409

314

374

300

3945

3055

3945

2959

Алгоритм без сортировки:

Ср.вр. преб.заявки в очереди

Число тактов

4.212

417

3.222

319

4.880

488

4.202

416

4.117

4113

3.254

3251

5.085

5080

4.269

4269

Алгоритм SPT:

Ср.вр. преб.заявки в очереди

Число тактов

4.061

402

3.133

307

3.707

367

2.959

290

3.943

3935

3.053

3047

3.944

3936

2.961

2958

Алгоритм RR:

Ср.вр. преб.короткой заявки

Ср.вр. преб.длинной заявки

Число тактов

2.323

6.302

402

2.112

5.000

307

2.333

6.147

367

2.020

5.000

290

2.288

5.983

3935

2.211

5.000

3047

2.261

5.986

3936

2.140

5.000

2958

(Наглядное изображение работы программы смотреть в приложении 2)

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

Проведем анализ работы программы. Это мы можем сделать с помощью результатов работы программы (смотреть таблицу 1).

Рассмотрим каждый алгоритм в отдельности, для того чтобы проанализировать, как зависит результат работы от изменения числа заявок, вероятности прихода заявки и от длины заявки. Рассмотрим алгоритм без предварительной сортировки. По результатам работы видно, что среднее время ожидания зависит от длины заявки (например, при длине заявки 7т среднее время ожидания равно 4.212 т, а при длине заявки 5т – 3.222т) и не зависит от числа заявок (для 100 заявок среднее время ожидания – 4.212т, а для 1000 заявок – 4.117). Но от числа заявок зависит число тактов (для 100 заявок – 417т, для 1000 заявок – 4113т). А вероятность влияет на число тактов, так как происходит выполнение “нулевых” заявок или пустых тактов.

Теперь рассмотрим алгоритм SPT. Аналогично алгоритму без сортировки, длина заявки влияет на среднее время ожидания (для 7т – 4.061т, для 5т – 3.133т), а число заявок не влияет (для 100 – 4.061т, а для 1000 – 3.943т). Вероятность не влияет на число тактов и время ожидания, так как при сортировке были удалены “нулевые” заявки.

Рассмотрим алгоритм RR. Время ожидания короткой заявки зависит только от длины кванта, но так как квант имеет длину 4т для всех переборов, то время ожидания короткой заявки не изменяется. Время ожидания длинной заявки зависит от длины заявки (для 7т – 6.302т, для 5т – 5.000т(100 заявок); для 7т – 5.983,для 5т – 5.000т(1000 заявок)), т.е. время ожидания длинной заявки не зависит от числа заявок. Число тактов зависит от количества заявок.

Сравним алгоритмы между собой. Алгоритм SPT и RR дает минимальное время обслуживания и оптимальное решение рассматриваемой задачи по сравнению с алгоритмом без сортировки (для алгоритма SPТ и RR число тактов 402, а для алгоритма без сортировки – 417т; для алгоритма SPТ и RR число тактов 3047, а для алгоритма без сортировки – 3251т). При использовании алгоритма RR время ожидания длинных задач больше, чем при обслуживании в алгоритме без сортировки и алгоритме SPT (для RR – 5.983т, для SPT – 3.943т, без сортировки – 4.117т). А время ожидания коротких задач – меньше времени ожидания в алгоритме без сортировки и SPT (для RR – 2.288т, для SPT – 3.943т, без сортировки – 4.117т). Среднее время ожидания в алгоритме SPT приблизительно составляет половину сумму времени ожидания длинной заявки и времени короткой заявки.

Поэтому алгоритмы SPT и RR по эффективности выполнения приблизительно равнозначны. Но если время решения задач известны, то преимущество имеет алгоритм SPT. Если же эта информация отсутствует, то преимущество имеет алгоритм RR, обеспечивающий выявление коротких и длинных заявок непосредственно в ходе вычислительного процесса, что соответствует теории. Алгоритм без сортировки не эффективен по сравнению с алгоритмами SPT и RR, так как среднее время ожидания и число тактов больше.

Заключение

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

В данном курсовом проекте было смоделирована вычислительная однопроцессорная система оперативной обработки.

Написана программа, реализующая работу процессора по обработке

очереди заявок переменной длины по следующим алгоритмам:

без предварительной сортировки заявок по длительности;

с предварительной сортировкой заявок по длительности, по алгоритму SPT;

по алгоритму RR.

Обработаны очереди из 100 и 1000 заявок;

- вероятность прихода заявок: 30 и 60;

  • разброс длительностей заявок: 0-7 и 3-5;

  • длительность процессорного кванта: 4;

Найдена: сумму длин всех заявок в очереди; время, необходимое для обработки очереди по каждому из алгоритмов и при всех условиях; среднее время ожидания для короткой заявки. Результаты оформлены в виде таблицы. Оценены эффективности алгоритмов. Произведен анализ работы.

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