Круглое планирование Робина: два разных решения - как это возможно? - PullRequest
1 голос
/ 29 марта 2012

Проблема:

Пять пакетных заданий от A до E прибывают в компьютерный центр практически одновременно.Они оценили время выполнения 10, 6, 2, 4 и 8 минут.Их (внешне определенные) приоритеты составляют 3, 5, 2, 1 и 4 соответственно, причем 5 является наивысшим приоритетом.Определите средний процесс поворота во времени.Игнорировать издержки переключения процессов.Для циклического планирования, предположим, что система является многопрограммной, и что каждое задание получает свою долю ресурсов ЦП. Все задания полностью связаны с ЦП.

Решение # 1 Следующее решение взято из этой страницы :

Для циклического перебора в течение первых 10 минут каждая работа получает 1/5 ЦП.По истечении 10 минут С заканчивает.В течение следующих 8 минут каждое задание получает 1/4 ЦП, после чего время D заканчивается.Затем каждое из трех оставшихся заданий получает 1/3 ЦП в течение 6 минут, пока не завершится В и так далее.Время окончания для пяти заданий составляет в среднем 10, 18, 24, 28, 30, в среднем 22 минуты.

Решение № 2 Следующее решение поступило из Корнельского университета., можно найти здесь и, очевидно, отличается от предыдущего, даже если проблема дана в точно той же формы (это решение, кстати, имеет для меня больше смысла):

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

1 2 3 4 5  6 7 8  9 10  11 12 13 14  15 16 17 18  19 20 21  22 23 24  25 26  27 28  29 30  
A B C D E  A B C* D E   A  B  D  E   A  B  D* E   A  B  E   A  B* E   A  E   A  E*  A  A*

Результаты отличаются: в первом C заканчивается, например, через 10 минут, тогда как во втором C заканчивается после 8минут.

Какой из них правильный и почему?Я в замешательстве .. Заранее спасибо!

Ответы [ 2 ]

1 голос
/ 29 марта 2012

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

Загадка второго решения заключается в том, что он предполагает выполнение задач в буквенном порядке. Я могу только предположить, что это предположение делалось на протяжении всего курса, и поэтому ожидается, что студенты знают, как сделать это здесь.

0 голосов
/ 29 марта 2012

На самом деле не существует такого понятия, как «правильный» алгоритм RR. RR - это просто семейство алгоритмов, основанных на общей концепции планирования нескольких задач в круговом порядке. Реализации могут различаться (например, вы можете учитывать приоритеты задач или отбрасывать их, или вы можете вручную установить приоритет как функцию от длины задачи или чего-либо еще).

Таким образом, ответ таков: оба алгоритма кажутся правильными, они просто разные.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...