Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
pr_os_01.docx
Скачиваний:
25
Добавлен:
24.11.2019
Размер:
1 Мб
Скачать
  1. Мережеві операційні системи. Розподілені операційні системи; [1, с. 39-50; 3]

Класифікація ОС

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

Нижче наведено класифікацію ОЗ за кількома найбільш основним ознаками.

Особливості алгоритмів управління ресурсами

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

Підтримка багатозадачності. По числу одночасно виконуваних завдань операційні системи можуть бути розділені на два класи:

  • однозадачні (наприклад, 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).

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

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

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

У наші дні стає загальноприйнятим введення в ОС функцій підтримки багатопроцесорної обробки даних.Такі функції наявні в операційних системах Solaris 2.x фірми Sun, Open Server 3.x компанії Santa Crus Operations, OS / 2 фірми IBM, Windows NT фірми Microsoft і NetWare 4.1 фірми Novell.

Багатопроцесорні ОС можуть класифікуватися за способом організації обчислювального процесу в системі з багатопроцесорної архітектурою: асиметричні ОС і симетричні ОС. Асиметрична ОС цілком виконується тільки на одному з процесорів системи, розподіляючи прикладні завдання по решті процесорам.Симетрична ОС повністю децентралізована і використовує весь пул процесорів, поділяючи їх між системними і прикладними завданнями.

Вище були розглянуті характеристики ОС, пов'язані з управлінням тільки одним типом ресурсів - процесором. Важливе вплив на вигляд операційної системи в цілому, на можливості її використання в тій або іншій області надають особливості та інших підсистем управління локальними ресурсами - підсистем управління пам'яттю, файлами, пристроями вводу-виводу.

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

Особливості апаратних платформ

На властивості операційної системи безпосередній вплив надають апаратні засоби, на які вона орієнтована. За типом апаратури розрізняють операційні системи персональних комп'ютерів, міні-комп'ютерів, мейнфреймів, кластерів і мереж ЕОМ. Серед перерахованих типів комп'ютерів можуть зустрічатися як однопроцесорні варіанти, так і багатопроцесорні. У будь-якому випадку специфіка апаратних засобів, як правило, відбивається на специфіці операційних систем.

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

Мережева ОС має у своєму складі засоби передачі повідомлень між комп'ютерами по лініях зв'язку, які абсолютно не потрібні в автономній ОС. На основі цих повідомлень мережева ОС підтримує розподіл ресурсів комп'ютера між віддаленими користувачами, підключеними до мережі. Для підтримки функцій передачі повідомлень мережеві ОС містять спеціальні програмні компоненти, що реалізують популярні комунікаційні протоколи, такі як IP, IPX, Ethernet і інші.

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

Інші вимоги пред'являються до операційних систем кластерів. Кластер - слабо пов'язана сукупність декількох обчислювальних систем, що працюють спільно для виконання спільних програм, і представляються користувачеві єдиною системою. Поряд зі спеціальною апаратурою для функціонування кластерних систем необхідна і програмна підтримка з боку операційної системи, яка зводиться в основному до синхронізації доступу до ресурсів, виявленню відмов і динамічної реконфігурації системи.Однією з перших розробок в області кластерних технологій були рішення компанії Digital Equipment на базі комп'ютерів VAX. Нещодавно цією компанією укладено угоду з корпорацією Microsoft про розробку кластерної технології, що використовує Windows NT. Кілька компаній пропонують кластери на основі UNIX-машин.

Поряд з ОС, орієнтованими на зовсім певний тип апаратної платформи, існують операційні системи, спеціально розроблені таким чином, щоб вони могли бути легко перенесені з комп'ютера одного типу на комп'ютер іншого типу, так звані мобільні ОС. Найбільш яскравим прикладом такої ОС є популярна система UNIX. У цих системах апаратно-залежні місця ретельно локалізовані, так що при перенесенні системи на нову платформу переписуються тільки вони. Засобом, що полегшує перенесення іншої частини ОС, є написання її на машинно-незалежній мові, наприклад, на С, який і був розроблений для програмування операційних систем.

Особливості областей використання

Багатозадачні ОС поділяються на три типи відповідно до використаними при їх розробці критеріями ефективності:

  • системи пакетної обробки (наприклад, OC EC),

  • системи поділу часу (UNIX, VMS),

  • системи реального часу (QNX, RT/11).

Системи пакетної обробки призначалися для вирішення завдань в основному обчислювального характеру, які не потребують швидкого отримання результатів. Головною метою і критерієм ефективності систем пакетної обробки є максимальна пропускна здатність, тобто рішення максимального числа завдань в одиницю часу. Для досягнення цієї мети в системах пакетної обробки використовуються наступна схема функціонування: на початку роботи формується пакет завдань, кожне завдання містить вимогу до системних ресурсів; з цього пакета завдань формується мультипрограмному суміш, тобто безліч одночасно виконуваних завдань. Для одночасного виконання вибираються задачі, що пред'являють відрізняються вимоги до ресурсів, так, щоб забезпечувалася збалансована завантаження всіх пристроїв обчислювальної машини; так, наприклад, в мультипрограмній суміші бажано одночасна присутність обчислювальних задач і задач з інтенсивним введенням-виводом. Таким чином, вибір нового завдання з пакета завдань залежить від внутрішньої ситуації, що складається в системі, тобто вибирається "вигідне" завдання. Отже, у таких ОС неможливо гарантувати виконання того чи іншого завдання протягом певного періоду часу. У системах пакетної обробки переключення процесора з виконання одного завдання на виконання іншої відбувається тільки у випадку, якщо активна задача сама відмовляється від процесора, наприклад, через необхідність виконати операцію вводу-виводу. Тому одна задача може надовго зайняти процесор, що унеможливлює виконання інтерактивних завдань. Таким чином, взаємодія користувача з обчислювальною машиною, на якій установлена ​​система пакетної обробки, зводиться до того, що він приносить завдання, віддає його диспетчеру-оператору, а наприкінці дня після виконання всього пакета завдань отримує результат.Очевидно, що такий порядок знижує ефективність роботи користувача.

Системи поділу часу покликані виправити основний недолік систем пакетної обробки - ізоляцію користувача-програміста від процесу виконання його завдань. Кожному користувачу системи поділу часу надається термінал, з якого він може вести діалог зі своєю програмою. Так як в системах поділу часу кожній задачі виділяється тільки квант процесорного часу, жодна задача не займає процесор надовго, і час відповіді виявляється прийнятним. Якщо квант обраний досить невеликим, то у всіх користувачів, що одночасно працюють на одній і тій же машині, складається враження, що кожен з них одноосібно використовує машину. Ясно, що системи поділу часу володіють меншою пропускною здатністю, ніж системи пакетної обробки, тому що на виконання приймається кожна запущена користувачем задача, а не та, яка "вигідна" системі, і, крім того, є накладні витрати обчислювальної потужності на більш часте переключення процесора з задачі на задачу. Критерієм ефективності систем поділу часу є не максимальна пропускна здатність, а зручність і ефективність роботи користувача.

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

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

Особливості методів побудови

При описі операційної системи часто вказуються особливості її структурної організації та основні концепції, покладені в її основу.

До таких базових концепцій відносяться:

  • Способи побудови ядра системи - монолітне ядро ​​або мікроядерний підхід. Більшість ОС використовує монолітне ядро, яке компонується як одна програма, що працює в привілейованому режимі і використовує швидкі переходи з однієї процедури на іншу, не вимагають перемикання з привілейованого режиму в користувальницький і навпаки. Альтернативою є побудова ОС на базі мікроядра, що працює також у привілейованому режимі і виконуючого тільки мінімум функцій по управлінню апаратурою, у той час як функції ОС більш високого рівня виконують спеціалізовані компоненти ОС - сервери, що працюють в режимі користувача. При такій побудові ОС працює більш повільно, так як часто виконуються переходи між привілейованим режимом і користувацьким, зате система виходить більш гнучкої - її функції можна нарощувати, модифікувати чи звужувати, додаючи, модифікуючи або виключаючи сервери режиму користувача. Крім того, сервери добре захищені один від одного, як і будь-які користувацькі процеси.

  • Побудова ОС на базі об'єктно-орієнтованого підходу дає можливість використовувати всі його достоїнства, що добре зарекомендували себе на рівні додатків, всередині операційної системи, а саме: акумуляцію вдалих рішень у формі стандартних об'єктів, можливість створення нових об'єктів на базі наявних за допомогою механізму спадкування, гарну захист даних за рахунок їх інкапсуляції у внутрішні структури об'єкта, що робить дані недоступними для несанкціонованого використання ззовні, структурізованность системи, що складається з набору добре визначених об'єктів.

  • Наявність декількох прикладних середовищ дає можливість у рамках однієї ОС одночасно виконувати додатка, розроблені для декількох ОС. Багато сучасні операційні системи підтримують одночасно прикладні середовища MS-DOS, Windows, UNIX (POSIX), OS / 2 чи хоча б деякої підмножини з цього популярного набору. Концепція множинних прикладних середовищ найбільше просто реалізується в ОС на базі мікроядра, над яким працюють різні сервери, частина яких реалізують прикладну середовище тієї чи іншої операційної системи.

  • Розподілена організація операційної системи дозволяє спростити роботу користувачів і програмістів у мережних середовищах. У розподіленої ОС реалізовані механізми, які дають можливість користувачеві представляти і сприймати мережу у вигляді традиційного однопроцессорного комп'ютера. Характерними ознаками розподіленої організації ОС є: наявність єдиної довідкової служби поділюваних ресурсів, єдиної служби часу, використання механізму виклику віддалених процедур (RPC) для прозорого розподілу програмних процедур по машинах, багатонитковою обробки, що дозволяє распараллелівать обчислення в рамках однієї задачі і виконувати цю задачу відразу на декількох комп'ютерах мережі, а також наявність інших розподілених служб.

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