Операційна система — це базовий комплекс програмного забезпечення, що виконує управління апаратним забезпеченням комп'ютера або віртуальної машини, забезпечує керування обчислювальним процесом і організовує взаємодію з користувачем. Поняття операційної системи передбачає комплекс взаємопов’язаних системних програм, призначенням яких є забезпечення взаємодії користувача з комп’ютером та функціонування інших програм. Операційна система забезпечує взаємодію між апаратним забезпеченням комп’ютера, прикладними програмами і користувачем.
Складові операційної системи
Операційна система складається з ядра операційної системи та базового набору прикладного програмного забезпечення. Ядро (англ. Kernel) — базовий компонент операційної системи, що реалізує інтерфейс між прикладними процесами та обладнанням комп'ютера. Ядро завантажується в оперативну пам'ять комп'ютера і безпосередньо взаємодіє з апаратурою, забезпечуючи керування апаратними засобами (при цьому використовуються драйвери підключеного в систему обладнання), підтримку одночасної роботи багатьох користувачів (багатокористувацький режим), підтримку паралельного виконання багатьох процесів в системі (багатозадачність). Ядро системи — це набір функцій, структур даних та окремих програмних модулів, які завантажуються в пам'ять комп'ютера при завантаженні операційної системи та забезпечують три типи системних сервісів:
· управління введенням-виведенням інформації (підсистема вводу-виводу ядра ОС);
· управління оперативною пам'яттю (підсистема управління оперативною пам'яттю ядра ОС);
· управління процесами (підсистема управління процесами ядра ОС);
Кожна з цих підсистем представлена відповідними функціями ядра системи. Багатозадачні операційні системи також включають ще одну обов'язкову складову — механізм підтримки багатозадачності. Ця складова не надається в якості систтмного сервісу і тому не може бути віднесена до жодної з підсистем.
Класифікація ОС
Відносно свого призначення, операційні системи бувають:
універсальні (для загального використання);
спеціальні (для розв'язання спеціальних задач);
спеціалізовані (виконуються на спеціальному обладнанні);
однозадачні (в окремий момент часу можуть виконувати лише одну задачу);
багатозадачні (в окремий момент часу здатні виконувати більше однієї задачі); однокористувацькі (в системі відсутні механізми обмеження доступу до файлів та на використання ресурсів системи); багатокористувацькі (декілька користувачів одночасно і незалежно працюють із операційною системою), всі багатокористувацькі операційні системи також є багатозадачними;
реального часу (система підтримує механізми виконання задач реального часу, тобто такі, для яких будь які операції завжди виконуються за наперед передбачуваний і незмінний при наступних виконаннях час). Відносно можливостей внесення змін до вихідного коду операційні системи бувають відкриті (англ. open source) — з відкритим програмним кодом; комерційні ОС які переважно мають закритий код;
За метою використання операційні системи можна умовно поділити на: