Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
SysSoft Lecture 04.doc
Скачиваний:
1
Добавлен:
01.05.2025
Размер:
2 Мб
Скачать
☆

Основні концепції операційних систем

За означенням Операційна Система — це програмне забезпечення, що реалізує зв’язок між прикладними програмами та апаратними засобами комп’ютера. Сучасні ОС розглядаються в двох аспектах. З одного боку це розширена віртуальна машина, а з іншого – розподілювач ресурсів.

За допомогою операційної системи у прикладного програміста (а через його програми і в користувача) має створюватися враження, що він працює з розширеною машиною. Таким чином ОС повинні абстрагувати програміста від досконалого знання особливостей реалізації апаратного забезпечення (Див. Рис. 2). Такий підхід значно спрощує та скорочує процес розробки прикладного програмного забезпечення. Отже ОС є прошарком між прикладними програмами та апаратним забезпеченням, що робить їх (прикладні програми) апаратно незалежними, а при певній стандартизації інтерфейсу, переносними на інші ОС.

Операційна система має ефективно розподіляти ресурси. Під ресурсами розуміють процесорний час, пам’ять (внутрішня та зовнішня), засоби доступу до зовнішніх пристроїв. Операційна система виступає в ролі менеджера цих ресурсів і надає їх прикладним програмам на вимогу. Розрізняють два основні види розподілу ресурсів. У разі просторового розподілу ресурс доступний декільком споживачам одночасно, при цьому кожен із них може користуватися частиною ресурсу (так розподіляється пам’ять). У разі часового розподілу система ставить споживачів у чергу і згідно з нею надає їм змогу користуватися всім ресурсом обмежений час (так розподіляється процесор, канали введення-виведення).

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

Типи операційних систем

Для ОС сформувалася відносно невелика кількість класифікацій: за призначенням; за режимом обробки задач; за способом взаємодії з системою; за способами побудови (архітектурним особливостям систем).

1. Класифікація ОС, за призначенням:

ОС великих ЕОМ (мейнфреймів). Основною характеристикою апаратного забезпечення, для якого їх розробляють, є продуктивність введення-виведення. Великі ЕОМ оснащують значною кількістю периферійних пристроїв (дисків, терміналів, принтерів тощо). Такі комп’ютерні системи використовують для надійної обробки значних обсягів даних, при цьому ОС має ефективно підтримувати цю обробку (в пакетному режимі або в режимі розподілу часу). Прикладом ОС такого класу може бути OS/390 фірми IBM.

Серверні ОС. Головна характеристика таких ОС - здатність обслуговувати велику кількість запитів користувачів до спільно використовуваних ресурсів. Важливу роль для них відіграє мережна підтримка. Нині для реалізації серверів частіше застосовують універсальні ОС (UNIX або системи лінії Windows XP).

Персональні ОС. Деякі ОС цієї категорії розробляли з розрахунком на непрофесійного користувача (лінія Windows 95/98/Ме фірми Microsoft), інші є спрощеними версіями універсальних ОС. Особлива увага в персональних ОС приділяється підтримці графічного інтерфейсу користувача і технологій мультимедіа.

ОС реального часу (ОСРЧ). У такій системі кожна операція має бути гарантовано виконана в заданому часовому діапазоні. ОС реального часу можуть керувати польотом космічного корабля, технологічним процесом або демонстрацією відеороликів. Існують спеціалізовані ОС реального часу, такі як QNX і WxWorks.

Вбудовані ОС. До них належать керуючі програми для різноманітних мікропроцесорних систем, які використовують у військовій техніці, системах побутової електроніки, смарт-картах та інших пристроях. До таких систем ставлять особливі вимоги: розміщення в малому обсязі пам’яті, підтримка спеціалізованих засобів введення-виведення, можливість прошивання в постійному запам’ятовувальному пристрої. Часто вбудовані ОС розробляються під конкретний пристрій; до універсальних систем належать Embedded Linux та Windows CE.

2. Класифікація ОС, за режимом обробки задач:

Одно програмні. Така ОС забезпечує роботу одної задачі одного користувача.

Мульти (багато) програмні. ОС дозволяє одночасно виконувати декілька програм одного користувача. Основна мета мультипрограмування — підвищення продуктивності обчислювальної системи за рахунок розподілення її ресурсів між декількома завданнями. Будь-яка затримка у виконанні однієї програми (наприклад, для здійснення операцій уведення-виведення даних) використовується для виконання інших (таких же, або менш важливих) програм.

Багатокористувацькі. Дозволяє одночасно обслуговувати багато задач багатьох користувачів, поділяється на мульти-процесорну та мульти-машинну (мережева ОС).

3. Класифікація ОС, за способом взаємодії з системою:

Системи пакетної обробки. Вони обробляють потік завдань. Все керування з читання та виконання завданнями бере на себе ОС. Характерні для великих машин, серверних та розподілених обчислювальних засобів.

Діалоговий або інтерактивний доступ. ОС виконує директиви користувачів в темпі надходження та намагається дати відповідь на кожну команду користувача за найкоротший час. Забезпечують підтримку одного (однотермінальні) або деякої кількості (багатотермінальні) користувачів одночасно. Для спілкування з користувачем може використовуватися командні (Linux) чи графічні (Windows, MacOS) інтерфейси. Тут мається на увазі, що графічний інтерфейс вбудований в ОС, а не є надбудовою над нею (KDE, X-Window).

4. Класифікація ОС, за способами побудови:

Мікроядерні. Ядро складаються зі скороченого набору процедур, що займаються тільки диспетчеризацією процесів та управлінням апаратурою обчислювальної системи. Яскравим прикладом мікроядерної ОС є ОСРЧ QNX.

Монолітні. У ядро ОС включено повний набір функцій. У захищеному режимі виконуються як процедури диспетчеризації так і планування використання ресурсів. Монолітними можна назвати ОС Windows та Linux. Слід зауважити, що ядро ОС Windows не можливо змінити, його початкові коди не доступні і немає програми для збірки (компіляції) цього ядра. А ось у випадку з Linux є можливість самостійно зібрати таке ядро, яке нам необхідно, включивши в нього тільки ті програмні модулі і драйвери, які ми рахуємо доцільним, включити саме в ядро (а не звертатися до них з ядра).

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]