Попытаемся теперь предложить и применить формулы для предсказания следующего периода активности процесса. Подобные оценки помогли бы разработчикам ОС реализовать оптимальную стратегию диспетчеризации. Используем уже известные фактические длины предыдущих периодов активности и принцип экспоненциального усреднения. Пусть:
tn – фактическая длина n-го периода активности процесса; τn – предсказанная длина n-го периода активности процесса. Будем искать значение τn+1 для предсказания следующего периода активности процесса как следующую линейную комбинацию tn и τn:
τn+1 = tn + (1 – ) τn .
где – число между 0 и 1. Коэффициент характеризует, в какой степени при предсказании учитывается недавняя история вычислений.
Пример предсказания следующего периода активности по приведенной формуле приведен на рис. 11.7.
Рис. 11.7. Пример предсказания следующего периода активности.
При =0 τn+1 = τn, т.е. недавняя история не учитывается.
При =1 τn+1 = tn т.е. учитывается только фактическая длина последнего периода активности.
Если обобщить приведенную формулу, получим:
τn+1 = tn+(1 - ) tn -1 + … +(1 - )j tn -1 + … +(1 - ) n+1 tn τ0.
Поскольку и (1 - ) не превосходят 1, каждый последующий терм имеет меньший вес, чем его предшественник.