Я хочу знать, какого возраста алгоритм планирования Linux SJF (самое короткое задание сначала) вычисляет время выполнения процесса?
Эта проблема на самом деле является одной из основных причин, почему она редко используется в обычных средах, поскольку алгоритм SJF требует точной оценки время выполнения всех процессов, которое предоставляется только в специализированных средах.
В обычных ситуациях вы можете получить только приблизительную и неточную продолжительность времени выполнения процесса, например, записав длительность предыдущих пакетов ЦП одного и того же процесса, и использовать методы математической аппроксимации, чтобы вычислить, как долго он будет работать в следующий раз.
Если у вас есть пропускная способность, которую нужно записать, вы можете найти фактический код здесь . Начните с 2.0, я думаю, вы найдете это экспериментальным.
SJF был (IIRC) чрезвычайно недолгим по точным причинам, отмеченным ZelluX .
Я думаю, что ваша единственная надежда понять метод, стоящий за этим безумием, живет сейчас в коде. Вы можете собрать его и заставить загружаться в симуляторе.
Редактировать:
Сейчас я не совсем уверен, действительно ли переходил в основную ветку. Если вы не можете его найти, не обвиняйте меня :)