Современные операционные системы

Современные операционные системы
Процессы и потоки  Гарантированное планирование

Гарантированное планирование

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

Гарантированное планирование читать полное описание.


Процессы и потоки  Лотерейное планирование

Лотерейное планирование

Выдача пользователям обещаний с последующим их выполнением — идея неплохая, но реализовать ее все же нелегко. Но есть и другой, более простой в реализации алгоритм, который можно использовать для предоставления столь же предсказуемых результатов. Он называется лотерейным планированием (Waldspurger and Weihl, 1994).

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

Лотерейное планирование читать полное описание.


Процессы и потоки  Справедливое планирование

Справедливое планирование

До сих пор мы предполагали, что каждый процесс фигурирует в планировании сам по себе, безотносительно своего владельца. В результате если пользователь 1 запускает 9 процессов, а пользователь 2 запускает 1 процесс, то при циклическом планировании или при равных приоритетах пользователь 1 получит 90% процессорного времени, а пользователь 2 получит только 10%.

Чтобы избежать подобной ситуации некоторые системы перед планированием работы процесса берут в расчет, кто является его владельцем. В этой модели каждому пользователю распределяется некоторая доля процессорного времени и планировщик выбирает процессы, соблюдая это распределение. Таким образом, если каждому из двух пользователей было обещано по 50% процессорного времени, то они его получат, независимо от количества имеющихся у них процессов.

Справедливое планирование читать полное описание.


Процессы и потоки  Планирование в системах реального времени

Планирование в системах реального времени

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

Планирование в системах реального времени читать полное описание.


Процессы и потоки  Политика и механизмы

Политика и механизмы

До сих пор негласно подразумевалось, что все процессы в системе принадлежат разным пользователям и поэтому конкурируют в борьбе за процессорное время. Хотя зачастую это и соответствует действительности, иногда бывает так, что у одного процесса есть множество дочерних процессов, запущенных под его управлением. Например, процесс системы управления базой данных может иметь множество дочерних процессов. Каждый из них может работать над своим запросом, или каждый из них может обладать некоторыми специфичными выполняемыми функциями (разбор запроса, доступ к диску и т. д.).

Политика и механизмы читать полное описание.