Поняття мережевої та розподіленої ОС. Вимоги до розподілених ОС. 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Поняття мережевої та розподіленої ОС. Вимоги до розподілених ОС.



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

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

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

Термін «мережева операційна система» використовується в двох значеннях: по-перше, як сукупність ОС всіх комп'ютерів мережі і, по-друге, як операційна система окремого комп'ютера, здатного працювати в мережі.

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

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

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

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

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

Поняття обчислювального кластера. Розподілена подільна пам’ять.

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

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

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


Принципи та обмеження основних способів оповіщення задач про настання подій (синхронізації).

Процес оповіщення про настання події складається з двох етапів:

1. Генерація сигналу;

При настанні події ОС генерує сигнал: в структурі TASK_STRUCT вона зводить відповідний біт у масці надійшовших сигналів.

2. Обробка сигналу;

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

• з черги готових процес вибирається на виконання диспетчером (очікуючи в черзі, процес не може отримати сигнал);

• перед блокуванням;

• під час блокування, якщо блокування є перериваючою (наприклад, очікування введення з клавіатури); якщо той же read читає з диска, а не з клавіатури, то таке блокування є непрериваючим.

Кожен сигнал володіє дією за замовчуванням. Ця дія виконується ОС, якщо процес не встановить для цього сигналу іншу дію. Усього існують 5 дій за замовчуванням:

1) аварійне завершення з дампом пам'яті (D);

2) завершення без дампа (A);

3) ігнорування сигналу (I);

4) зупинка (процес може бути припинений) (S);

5) продовження (С)

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

• SIGKILL (це завжди зняття - реакція 2)

• SIGSTOP - переклад процесу в призупинене стан.

альтернативи:

• Ігнорувати сигнал;

• Визначити свій обробник сигналу.


Основні програмні інтерфейси синхронізації виконання процесів.

Програмний інтерфейс керування процесами

Win32

З введенням потокової багатозадачності виникла необхідність у спеціальному механізмі, званому синхронізацією. Синхронізація дозволяє контролювати виконання потоків (і процесів) строго певним чином. У Win32 для синхронізації виділена ціла підсистема. Бібліотека класів MFC повністю підтримує засоби багатозадачності.

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

• CCriticalSection - реалізує критичний розділ.

• CEvent - реалізує об'єкт події

• CMutex - реалізує виключає семафор.

• CSemaphore - реалізує класичний семафор.


Командний сценарій. Потоки введення/виведення, конвеєри.

Потоки введення/виведення в системах типу UNIX (і багато інших) - потоки процесу, що мають номер (дескриптор), зарезервований для виконання деяких «стандартних» функцій. Як правило (хоча і не обов'язково), ці дескриптори вже відкриті в момент запуску завдання.

Стандартне введення

Потік номер 0 (stdin) зарезервовано для читання команд користувача або вхідних даних.

При інтерактивному запуску програми за замовчуванням stdin націлений на читання з пристрою текстового інтерфейсу користувача (клавіатури). Командна оболонка UNIX (і оболонки інших систем) дозволяють змінювати введення цього потоку за допомогою символу «<». Системні програми (демони тощо), як правило, не користуються цим потоком.

Стандартне виведення

Потік номер 1 (stdout) зарезервовано для виведення даних, як правило (хоча і не обов'язково) текстових.

При інтерактивному запуску програми stdout за замовчуванням націлений на запис на пристрій виведення (монітор). Командна оболонка UNIX (і оболонки інших систем) дозволяють скерувати цей потік за допомогою символу «>». Для виконання програм у фоновому режимі цей потік зазвичай переводять у файл.

В Юнікс-подібних операційних системах, конвеєри відповідають оригінальним конвеєрам програм: набір процесів, зв'язані своїми стандартними потоками вводу-виводу таким чином, що вихідний потік кожного процесу (stdout) безпосередньо зв'язується зі стандартним потоком вводу (stdin) наступного. Кожний зв'язок реалізується як анонімний конвеєр. Програми-фільтри часто використовуються в подібнх комбінаціях. Цю концепцію було запропоновано Дугласом Мак-Ілроєм для оболонок Юнікс і дано назву за аналогією зі справжніми конвеєрами.

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



Поделиться:


Последнее изменение этой страницы: 2016-08-14; просмотров: 327; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.116.239.195 (0.007 с.)