Существует несколько классификаций операционных систем, в которых выделяют определенные критерии, отражающие разные существенные характеристики систем.
В зависимости от алгоритма управления процессором, операционные системы делятся на:
В зависимости от областей использования многозадачные ОС подразделяются на три типа:
1. Системы пакетной обработки (ОС ЕС)
2. Системы с разделением времени (Unix, Linux, Windows)
3. Системы реального времени (RT11 их много в википедии)
Системы пакетной обработки предназначены для решения задач, которые не требуют быстрого получения результатов. Главной целью ОС пакетной обработки является максимальная пропускная способность или решение максимального числа задач в единицу времени. Эти системы обеспечивают высокую производительность при обработке больших объемов информации, но снижают эффективность работы пользователя в интерактивном режиме. (Примерами ОС пакетной обработки являются ОС для мэйнфреймов IBM 360/370/390- наиболее мощный компьютер со значительным объёмом оперативной и внешней памяти, предназначенный для организации централизованных хранилищ данных большой ёмкости и выполнения интенсивных вычислительных работ)
В системах с разделением времени для выполнения каждой задачи выделяется небольшой промежуток времени, и ни одна задача не занимает процессор надолго. Если этот промежуток времени выбран минимальным, то создается видимость одновременного выполнения нескольких задач. Эти системы обладают меньшей пропускной способностью, но обеспечивают высокую эффективность работы пользователя в интерактивном режиме.
Системы реального времени применяются для управления технологическим процессом или техническим объектом, например, летательным объектом, станком и т.д.
По числу одновременно работающих пользователей ОС делятся на:
однопользовательские (MS-DOS, Windows 3.x, ранние версии OS/2);
многопользовательские (UNIX, Windows NT).
Главным отличием многопользовательских систем от однопользовательских является наличие средств защиты информации каждого пользователя от несанкционированного доступа других пользователей. Не всякая многозадачная система является многопользовательской, и не всякая однопользовательская ОС является однозадачной.
Важнейшим разделяемым ресурсом является процессорное время. Операционные системы делятся по способу распределения процессорного времени между несколькими одновременно существующими в системе процессами (или нитями). Среди множества существующих вариантов реализации многозадачности можно выделить две группы алгоритмов:
кооперативная (невытесняющая) многозадачность (NetWare, Windows 3.x);
Основным различием между вытесняющим и невытесняющим вариантами многозадачности является степень централизации механизма планирования процессов. В первом случае(вытесняющая многозадачность) механизм планирования процессов целиком сосредоточен в операционной системе, а во втором - распределен между системой и прикладными программами. При невытесняющей многозадачности активный процесс выполняется до тех пор, пока он сам, по собственной инициативе, не отдаст управление операционной системе для того, чтобы та выбрала из очереди другой готовый к выполнению процесс. При вытесняющей многозадачности решение о переключении процессора с одного процесса на другой принимается операционной системой, а не самим активным процессом.