46 БАГАТОМАШИННІ ТА БАГАТОПРОЦЕСОРНІ КОМП’ЮТЕРНІ СИСТЕМИ
46 БАГАТОМАШИННІ ТА БАГАТОПРОЦЕСОРНІ КОМП’ЮТЕРНІ СИСТЕМИ
Обчислювальні системи можуть будуватися на базі декількох комп’ютерів або на базі декількох процесорів. В першому випадку ОС буде багатомашинною, в другому - багатопроцесорною.
Багатомашинна ОС містить деяке число комп’ютерів, інформаційно взаємодіючих між собою. Комп’ютери можуть знаходитися поряд один з одним, а можуть бути віддаленими один від одного на деяку, іноді значну відстань (обчислювальні мережі).
В багатомашинних ОС кожний комп’ютер працює під управлінням своєї операційної системи (ОпС). А оскільки обмін інформацією між комп’ютерами, що взаємодіють один з одним, виконується під управлінням ОпС, динамічні характеристики процедур обміну дещо погіршуються (потрібен час на узгодження роботи самих ОпС). Інформаційна взаємодія комп’ютерів в багатомашинній ОС може бути організовано на рівні:
процесорів;
оперативної пам’яті;
каналів зв’язку.
При безпосередній взаємодії процесорів один з одним інформаційний зв’язок реалізується через регістри процесорної пам’яті і вимагає наявності в ОпС дуже складних спеціальних програм.
Взаємодія на рівні оперативної пам’яті (ОП) зводиться до програмної реалізації загального поля оперативної пам’яті, що дещо простіше, але також вимагає суттєвої модифікації ОпС. Під загальним полем мається на увазі рівнодоступність модулей пам’яті: всі модулі пам’яті доступні всім процесорам і каналам зв’язку.
На рівні каналів зв’язку взаємодія організовується найбільш просто і може бути досягнуто зовнішніми по відношенню до ОпС програмами-драйверами, що забезпечують доступ від каналів зв’язку однієї машини до зовнішніх пристроїв інших (формується загальне поле зовнішньої пам’яті і загальний доступ до пристроїв вводу-виводу).
Все вищесказане ілюструється схемою взаємодії комп’ютерів в двохмашинній ОС, представленої на рис. 46.1.
Зважаючи на складність організації інформаційної взаємодії на 1-у і 2-у рівнях в більшості багатомашинних ОС використовується 3-й рівень, хоча і динамічні характеристики (в першу чергу швидкодія), і показники надійності таких систем істотно нижчі.
Рисунок 46.1 – Схема взаємодії комп’ютерів в ОС
В багатопроцесорній ОС є декілька процесорів, інформаційно взаємопов’язаних між собою або на рівні регістрів процесорної пам’яті, або на рівні ОЗП. Цей тип взаємодії використовується в більшості випадків, бо організовується значно простіше і зводиться до створення загального поля оперативної пам’яті для всіх процесорів. Загальний доступ до зовнішньої пам’яті і пристроїв вводу-виводу забезпечується звичайно через канали ОЗП. Важливим є і те, що багатопроцесорна обчислювальна система працює під управлінням єдиної ОпС, загальної для всіх процесорів. Це істотно покращує динамічні характеристики ОС, але вимагає наявності спеціальної, дуже складної ОпС.
Схема взаємодії процесорів в ОС показана на рис. 46.2.
Рисунок 46.2 – Схема взаємодії процесорів в ОС
Швидкодія і надійність багатопроцесорних ОС в порівнянні з багатомашинними, взаємодіючими на 3-у рівні, істотно підвищуються:
по – перше, із-за більш швидкого обміну інформацією між процесорами, більш швидкого реагування на ситуації, що виникають в системі;
по – друге, зважаючи на більший ступінь резервування пристроїв системи (система зберігає працездатність, поки працездатні хоча б по одному модулю кожного типу пристроїв).
Типовим прикладом масових багатомашинних ОС можуть служити комп’ютерні мережі, прикладом багатопроцесорних ОС - суперкомп'ютери.