Как алгоритм планирования SJF работает как с процессами ЦП, так и с процессами ввода-вывода? В чем разница между SJF и FCFS?
Я попытался реализовать алгоритм SJF, отслеживая следующий пакет процессора. Однако мое время ожидания примерно такое же, как и время ожидания FCFS, поэтому я уверен, что оно неверно.
Насколько я понимаю, FCFS отслеживает, какой процесс завершает свой ввод-вывод. в первую очередь, чтобы запустить пакетную нагрузку ЦП. И я считаю, что SJF отслеживает, какие процессы готовы (еще не в пакете ввода-вывода), и запускает тот, у которого самое короткое задание? Насколько я понял, разница между ними заключалась в том, что FCFS будет проверять только то, что процесс сначала завершает пакет ввода-вывода, а SJF будет проверять только тот процесс, который имеет следующий самый короткий пакет процессора. Пожалуйста, поправьте меня, если я ошибаюсь и в чем я ошибаюсь.
Я знаю, что мой алгоритм FCFS верен, но я очень озадачен тем, почему мой SJF не так, ведь там должно быть 30. + разница во времени ожидания между ними. Я отслеживаю время ожидания одинаково для обоих алгоритмов, переключая только способ загрузки процессов в очередь ЦП. Любые советы или возможные вещи, которые я должен проверить, очень ценятся!
Редактировать: Мой алгоритм для SJF - сначала проверить, выполняется ли какой-либо процесс с его пакетом ввода-вывода. Если да, выберите тот, который имеет наименьшую загрузку процессора, если нет, то выберите тот, который ближе всего к завершению.
Он помещается на второе место в очереди, а затем информация для этого процесса обновляется, а также «текущее время», которое отслеживает общий график всего.
bool done = false;
while (done == false) {
int leastest; // used to keep track of what is the least cpu burst
// used to keep track if there is at least 1 process done with it's cpu burst by the time it loops around
int acounter = 0;
for (int i = 0; i < 8; i++) {
if (p_info.finished_time
Подробнее здесь: https://stackoverflow.com/questions/791 ... esses-what
Как алгоритм планирования SJF работает как с процессами ЦП, так и с процессами ввода-вывода? В чем разница между FCFS и ⇐ C++
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение