
Операційна система – це програма, що виконує функції посередника між користувачем і комп’ютером.
Логічно будь-яка операційна система поділяється на два рівні: програми ядра системи і програми користувачів. Ядро призначене для забезпечення інтерфейсу і керування апаратурою. Програми користувача, команди і бібліотеки співіснують на рівні користувача. Цей рівень означає непривілейований доступ до використовування апаратних ресурсів. Програми користувальницького рівня тому виконуються в замкнутому середовищі, контрольоване ядром, що запобігає одночасно виконуванню програм від перетинання один з одним ( випадково чи навмисно).
Призначення операційної системи полягає в забезпеченні зручності керування комп’ютером.
Під ресурсами комп’ютера звичайно розглядають:
час роботи процесора,
адресний простір основної пам’яті,
обладнання введення – виведення, файли, що зберігаються в зовнішній пам’яті
Компоненти ОС поділяються на 2 класи: системні і прикладні.
До прикладних компонентів відносяться текстові редактoры, компілятори, системи програмування, програми графічного виводу інформації, комунікаційні програми і т.д.
До системних компонентів відносяться ядро системи, що забезпечує взаємодію всіх компонентів, завантажник програм, підсистеми, що забезпечують діалог з людиною – віконна система, інтерпретатор команд, і файлова система. Саме системні компоненти ОС визначають її основні властивості.
ОС повинна здійснювати:
керування процесами (розподіляє ресурс – процесорний час);
керування пам’яттю (розподіляє ресурс – адресний простір основної пам’яті);
керування довготермінової пам¢яті (магнітні диски, флеш – пам¢ять …)
керування пристроями (розподіляє ресурси) – устаткування введення – висновку;
керування даними (розподіляє ресурс - дані чи файли – завантаження користувальницьких програм у пам¢ять).
Паралельно виконання декількох задач
Організація взаємодії задач одна з іншою
Захист системних ресурсів, даних і програм користувача, виконуємих процесів і самої себе дно рівневіу і злонаправленних дій користувачів і їх програм.
Аутентифікацію (перевірка, що користувач той за кого себе видає) і авторизацію(перевірка користувача на право дно рівне ту чи іншу операцію)
класифікація ОС
Підтримка багатозадачності. По числу одночасно виконуваних задач операційні системи можуть бути розділені на два класи:
однозадачні (наприклад, MS-DOS, MSX) і
багатозадачні (OC EC, OS/2, UNIX, Windows 95).
По числу одночасно працюючих користувачів ОС поділяються на:
одно користувальницькі (MS-DOS, Windows 3.x, ранні версії OS/2);
багато користувальницькі (UNIX, Windows NT).
Серед безлічі існуючих варіантів реалізації багатозадачності можна виділити дві групи алгоритмів:
що дно рівнев багатозадачність (NetWare, Windows 3.x);
що витісняє багатозадачність (Windows NT, OS/2, UNIX).
Особливості апаратних платформ
Мережна ОС має у своєму складі засобу передачі повідомлень між комп’ютерами по лініях зв’язку, що зовсім не потрібні в автономної ОС. На основі цих повідомлень мережна ОС підтримує поділ ресурсів комп’ютера між вилученими користувачами, підключеними до мережі. Для підтримки функцій передачі повідомлень мережні ОС містять спеціальні програмні компоненти, що реалізують популярні комунікаційні протоколи, такі як IP, IPX, Ethernet і інші.
Багатопроцесорні системи жадають від операційної системи особливої організації, за допомогою якої сама операційна система, а також підтримувані нею додатка могли б виконуватися паралельно окремими процесорами системи. Рівнобіжна робота окремих частин ОС створює додаткові проблеми для розроблювачів ОС, тому що в цьому випадку набагато складніше забезпечити погоджений доступ окремих процесів до загальних системних таблиць, виключити ефект гонок та інші небажані наслідки асинхронного виконання робіт.
Інші вимоги пред’являються до операційних систем кластерів. Кластер – слабко зв’язана сукупність декількох обчислювальних систем, що працюють спільно для виконання загальних додатків, і представляющихся користувачу єдиною системою. Поряд зі спеціальною апаратурою для функціонування кластерных систем необхідна і програмна підтримка з боку операційної системи, що зводиться в основному до синхронізації доступу до поділюваних ресурсів.
Існують операційні системи, спеціально розроблені таким чином, щоб вони могли бути легко перенесені з комп’ютера одного типу на комп’ютер іншого типу, так називані мобільні ОС. Найбільш яскравим прикладом такий ОС є популярна система UNIX
Особливості областей використання
Багатозадачні ОС підрозділяються на три типи відповідно до використаного при їхній розробці критеріями ефективності:
системи пакетної обробки (наприклад, OC EC), призначалися для рішення задач в основному обчислювального характеру, не потребуючого швидкого одержання результатів. Головною метою і критерієм ефективності систем пакетної обробки є максимальна пропускна здатність, тобто рішення максимального числа задач в одиницю часу. Для досягнення цієї мети в системах пакетної обробки використовуються наступна схема функціонування: на початку роботи формується пакет завдань, кожне завдання містить вимога до системних ресурсів; з цього пакета завдань формується мультипрограмна суміш, тобто безліч одночасна виконуваних задач. Для одночасного виконання вибираються задачі, що пред’являють вимоги, що відрізняються, до ресурсів, так, щоб забезпечувалося збалансоване завантаження всіх будов обчислювальної машини
системи поділу часу (UNIX, VMS), покликані виправити основний недолік систем пакетної обробки – ізоляцію користувача-програміста від процесу виконання його задач. Кожному користувачу системи поділу часу надається термінал, з якого він може вести діалог зі своєю програмою. Тому що в системах поділу часу кожній задачі виділяється тільки квант процесорного часу, жодна задача не займає процесор надовго, і час відповіді виявляється прийнятним. Якщо квант обраний досить невеликим, то у всіх користувачів, що одночасно працюють на одній і тій же машині, складається враження, що кожний з них одноосібно використовує машину. Ясно, що системи поділу часу володіють меншою пропускною здатністю, чим системи пакетної обробки, тому що на виконання приймається кожна запущена користувачем задача, а не та, котра «вигідна» системі, і, крім того, маються накладні витрати обчислювальної потужності на більш часте переключення процесора з задачі на задачу. Критерієм ефективності систем поділу часу є не максимальна пропускна здатність, а зручність і ефективність роботи користувача.
системи реального часу (QNX, RT/11). застосовуються для керування різними технічними об’єктами, такими, наприклад, як верстат, супутник, наукова експериментальна чи установка технологічними процесами, такими, як гальванічна лінія, доменний процес і т.п. У всіх цих випадках існує гранично припустимий час, протягом якого повинна бути виконана та чи інша програма, що керує об’єктом, у противному випадку може відбутися аварія; критерієм ефективності для систем реального часу є їхня здатність витримувати заздалегідь задані інтервали часу між запуском програми й одержанням результату (керуючого впливу). Цей час називається часом реакції системи, а відповідне властивість системи – реактивністю.