Вытесняющая и не вытесняющая многозадачность

Особенности алгоритмов управления ресурсами

Классификация ОС

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

В зависимости от особенностей алгоритма управления процессом ОС делят на многозадачные и однозадачные, многопользовательские и однопользовательские, на системы, поддерживающие многонитиевую обработку и без поддержки такой, на однопроцессорные и многопроцессорные. По числу одновременно выполняемых задач ОС могут быть разделены на два класса: однозадачные (MS DOS) и многозадачные (UNIX).

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

Однозадачные ОС включают средства управления периферийными устройствами, средства управления файлами и средства общения с пользователем.

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

По числу одновременно работающих пользователей ОС делятся на однопользовательские (MS DOS и ранние Windows) и многопользовательские (UNIX-образные).

Главным отличием многопользовательских систем от однопользовательских является наличие средств защиты информации каждого пользователя от несанкционированного доступа других пользователей. Стоит отметить, что всякая многозадачная система является многопользовательской и не всякая однопользовательская является однозадачной.

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

1. Не вытесняющая многозадачность

2. Вытесняющая многозадачность

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

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

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