Является ли планирование, реализуемое конкретной ОС, уникальным?

253
radhika

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

Кроме того, если используется циклический алгоритм, то может быть также реализован SJF или SRTF, так как же тогда планировщик решает, какой алгоритм использовать для выполнения определенного потока или процесса.

0
Пожалуйста, прочитайте и исправьте вопрос. ctrl-alt-delor 7 лет назад 0

1 ответ на вопрос

0
robbat2

By "my OS" are you writing one yourself? What you're really asking "are scheduling algorithm implementations deterministic?"

And the answer to that would be: well it depends on your implementation :-)

Both SJF (shortest-time-first, for those not knowing) and SRTF (shortest-remaining-time- first) can have cases where multiple processes waiting for scheduling have identical weights, and it's down to the scheduler implementation to decide between them.

A naive schedule might always pick the one with the lowest PID, an intelligent scheduler might penalize a process that seems to keep coming back, and somewhere in the middle is the scheduler that tries to do round-robin.

Would it be possible to write a truly deterministic scheduler? Yes, certainly a possibility, but a little bit of randomness in picking the next process (out of a set of random options) to run probably won't hurt, esp. if there are undeclared deadlocks between processes.