Класифікація ОС
Існує декілька схем класифікації операційних систем. Нижче приведена класифікація по деяких ознаках з погляду користувача.
Реалізація багатозадачності
По числу одночасно виконуваних задач операційні системи можуть бути розділені на два класи:
• багатозадачні (Linux, Unix, Windows XP).
• однозадачні (наприклад, MS-DOS) .
Багатозадачна ОС, вирішуючи проблеми розподілу ресурсів і конкуренції, повністю реалізує мультипрограмний режим.
Приблизність класифікації очевидна. Так в ОС MS-DOS можна організувати запуск дочірньої задачі і одночасне співіснування в пам'яті двох і більш задач. Проте ця ОС традиційно вважається однозадачною, головним чином через відсутність захисних механізмів і комунікаційних можливостей.
Підтримка розрахованого на багато користувачів режиму.
По числу одночасно працюючих користувачів ОС можна розділити на:
• однокористувацькі (MS-DOS, Windows 9.x);
• багатокористувацькі (Windows XP, Linux).
Найістотніша відмінність полягає в наявності у розрахованих на багато користувачів систем механізмів захисту персональних даних кожного користувача.
Багатопроцесорна обробка
Багатопроцесорні системи складаються з двох або більш центральних процесорів, що здійснюють паралельне виконання команд. Підтримка мультипроцесування є важливою властивістю ОС і приводить до ускладнення всіх алгоритмів управління ресурсами. Багатопроцесорна обробка реалізована в таких ОС, як Linux, Solaris, Windows XP і у ряді інших.
Багатопроцесорні ОС розділяють на симетричні і асиметричні. У симетричних ОС на кожному процесорі функціонує одне і те ж ядро і задача може бути виконана на будь-якому процесорі, тобто обробка повністю децентралізована. У асиметричних ОС процесори нерівноправні. Звичайно існує головний процесор (master) і підлеглі (slave), завантаження і характер роботи яких визначає головний процесор.
Системи реального часу.
У розряд багатозадачних ОС, разом з пакетними системами і системами розділення часу, включаються також системи реального часу.
Вони використовуються для управління різними технічними об'єктами або технологічними процесами. Такі системи характеризуються гранично допустимим часом реакції на зовнішню подію, протягом якого повинна бути виконана програма, що управляє об'єктом. Система повинна обробляти дані швидше, ніж ті можуть поступати, причому від декількох джерел одночасно.
Такі жорсткі обмеження позначаються на архітектурі систем реального часу, наприклад, в них може бути відсутнім віртуальна пам'ять, підтримка якої дає непередбачувані затримки у виконанні програм.