Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Kuktus5
0 / 0 / 0
Регистрация: 21.02.2014
Сообщений: 2
#1

Нужно написать функцию-планировщик процессорного времени HPRN - C++

24.02.2014, 20:17. Просмотров 314. Ответов 0
Метки нет (Все метки)

Помогите написать функцию HPRN. Небольшие сведения которые мне удалось найти.

HPRN (highest penalty ratio next - с наибольшим штрафным отношением - следующий) - дисциплина без вытеснения, обеспечивающая наилучшие показатели справедливости. Это достигается за счет динамического переопределения приоритетов. Всякий раз при освобождении ЦП для всех готовых процессов вычисляется текущее штрафное отношение:

p[i]=(w[i]+t[i]) / t[i]
где i - номер процесса; w[i] - время, затраченное процессом на ожидание; t[i] - длительность процесса - предзаданная или прогнозируемая. Для только что поступившего процесса p[i]=1. ЦП отдается процессу, имеющему наибольшее значение p[i]. Для коротких процессов HPRN обеспечивает примерно те же показатели справедливости, что и SJN, для длинных - более близкие к FCFS. На большом диапазоне средних длительностей процессов показатели, обеспечиваемые HPRN, представляют среднее между SJN и FCFS и слабо зависят от длительности. Еще одно достоинство HPRN - в том, что во времени ожидания может учитываться (с некоторыми весовыми коэффициентами) и ожидание в других очередях и, таким образом, выполняется более комплексный учет загрузки системы. Существенным недостатком метода является необходимость перевычисления штрафного отношения для всех процессов при каждом переключении, что плохо согласуется с общей политикой минимизации накладных расходов в дисциплинах без вытеснения.
В примере, показанном на рисунке 2.6, под временной шкалой даны текущие значения штрафного отношения для процессов-претендентов в те моменты времени, когда выполняется переключение. Так, в момент времени 6 два процесса - B и C - претендуют на использование ЦП. Текущее штрафное отношение для процесса B составляет:

p[B]=(5+3)/3=2.33,
а для процесса C:
p[C]=(3+7)/7=1.43;
следовательно, ЦП отдается процессу B. Аналогичные вычисления производятся в моменты времени 9 и 16.
Рисунок приложен.
0
Миниатюры
Нужно написать функцию-планировщик процессорного времени HPRN  
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.02.2014, 20:17
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Нужно написать функцию-планировщик процессорного времени HPRN (C++):

как избавиться от присваивания процессорного времени переменной при работе циклов? - C++
#include <iostream> #include <time.h> #include <math.h> #include <stdlib.h> #include <Windows.h> using namespace std; int n; ...

Доброго времени суток) Нужно написать программу по шифрованию - C++
Нужно написать прогу в С++ для шифрования и дешифрования текстовых файлов любым способом. Т.е. все должно примерно выглядеть так: ...

Нужно написать функцию. - C++
Привет всем. Есть задача, нужно описать функцию для поиска последнего вхождения искаемого символа. Также у меня есть прототип функции:...

на с++ нужно написать функцию с глобальными объектами - C++
пишу сюда впервые нужно написать программу для вычисления температуры смеси жидкости. Вычислительную часть алгоритма оформить как...

Нужно написать своеобразную функцию поиска строк в кавычках - C++
Мне нужна функция которая в текстовом файле примерно со следующим содержанием "string1" sometext "string2" искала строки заключённые в...

Нужно написать функцию, которая формирует текстовый файл из звездочек - C++
Люди, будьте добры, помогите с программой. Нужно написать функцию, которая формирует текстовый файл из звездочек. Количество звездочек...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.02.2014, 20:17
Привет! Вот еще темы с ответами:

Нужно написать функцию, что не возвращает значения(типа процедуры на паскале) - C++
void proc(int, int); void main() { int a,b; proc(a,b); int s; }

Нужно написать функцию редактирования vector<string> в текстовом редакторе в консоли - C++
Открываем файл в консоли, выводим текст на экран void WriteVector(vector&lt;string&gt; v) { for (int i = 0; i&lt;v.size(); i++) cout &lt;&lt;...

Нужно написать функцию compress для удаления повторяющихся букв в слове - C++
Function - Compress(s,t). Purpose - замена в строке s множественных вхождений символа t на одно. Например слово: &quot;Helllllooolooloo&quot; ...

Нужно написать функцию которая возвращает индекс элемента в массиве который мы ищем - C++
Нужно написать функцию которая возвращает индекс элемента в массиве который мы ищем. Массив наполнять вручную.. Если такого значения нет...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru