Мережевих операційних
Мережеві операційні системи
В протилежність розподіленим операційним системам мережеві операційні системи не потребують того, щоб апаратне забезпечення, на якому вони функціонують, було гомогенне і управлялося як єдина система. Навпаки зазвичай вони будуються для набору однопроцесорних систем, кожна з яких має власну операційну систему, як показано на мал. 1. Машини і їх операційні системи можуть бути разнимі, але всі вони сполучені у мережу. Крім того, мережева операційна система дозволяє користувачам використовувати служби, розташовані на конкретній машині. Можливо, буде простіше описати мережеву операційну систему, стисло розглянувши служби, які вона зазвичай надає.
Рис.1 Загальна структура мережевої операційної системи
Служба, що зазвичай надається мережевими операційними системами, повинна забезпечувати віддалене з'єднання користувача з іншою машиною шляхом застосування команди типу: riogin machine В результаті виконання цієї команди відбувається перемикання робочої станції користувача в режим віддаленого терміналу, підключеного до віддаленої машини. Це означає, що користувач сидить у графічної робочої станції, набираючи команди на клавіатурі. Команди передаються на віддалену машину, а результати з віддаленої машини відображаються у вікні на екрані користувача. Для того, щоб перемкнутися на іншу віддалену машину, необхідно відкрити нове вікно і скористатися командою riogin для з'єднання з іншою машиною. Вибір віддаленої машини проводиться уручну. Мережеві операційні системи також мають в своєму складі команду віддаленого копіювання для копіювання файлів з однієї машини на іншу. Наприклад: гср machinel:filel machine2:file2 Ця команда приведе до копіювання файлу filel з машини machinel на machiпе2 і привласненні йому там імені file2. При цьому переміщення файлів задається в явному вигляді, і користувачеві необхідно точно знати, де знаходяться файли і як виконуються команди. Така форма зв'язку хоч і краще чим нічого, але все таки украй примітивна. Це подвігло проектувальників систем на пошуки зручніших варіантів зв'язку і сумісного використання інформації. Один з підходів припускає створення глобальної загальної файлової системи, доступної зі всіх робочих станцій. Файлова система підтримується однією або декількома машинами, які називаються файловими серверами (file servers). Файлові сервери приймають запити від програм користувачів, що запускаються на інших машинах (не на серверах), які називаються клієнтами (clients), на читання і запис файлів. Кожен запит, що прийшов, перевіряється і виконується, а результат пересилається назад, як показано на мал. 2.
Рис.2. Два клієнти і сервер в мережевій ОС
Мережеві операційні системи виглядають значно прімітівнєє розподілених. Основна різниця між цими двома типами операційних систем полягає в тому, що в розподілених операційних системах робиться серйозна спроба добитися повної прозорості, тобто створити представлення єдиної системи. «Брак» прозорості в мережевих операційних системах має деякі очевидні зворотні сторони. Наприклад, з ними часто складно працювати, оскільки користувач вимушений явно під'єднуватися до видалених машин або копіювати файли з однієї машини на іншу. Це також проблеми з управлінням. Оскільки всі машини під управлінням мережевої операційної системи незалежні, часто і управляти ними можна виключно незалежно. В результаті користувач може отримати видалене з'єднання з машиною X, тільки маючи на ній реєстрацію. Таким чином, якщо користувач хоче використовувати один пароль на «всі випадки життя», то для зміни пароля він вимушений буде явно змінити його на кожній машині. Міркуючи далі, ми бачимо, що в основному всі права доступу відносяться до конкретної машини. Немає простого методу змінити права доступу, оскільки усюди вони свої. Такий децентралізований підхід до безпеки нерідко утрудняє захист мережевої операційної системи від атак зловмисників. Є також і переваги в порівнянні з розподіленими операційними системами. Оскільки вузли мережевих операційних систем в значній мірі незалежні один від одного, додати або видалити машину дуже легко. В деяких випадках все, що треба зробити, щоб додати вузол, — це під'єднати відповідну машину до загальної мережі і поінформувати про її існування решту машин мережі. У Інтернеті, наприклад, додавання нового сервера відбувається саме так. Щоб відомості про машину потрапили в Інтернет, ми повинні просто дати їй мережеву адресу, а краще символічне ім'я, яке потім буде внесено в DNS разом з її мережевою адресою.