У нас: 141825 рефератів
Щойно додані Реферати Тор 100
Скористайтеся пошуком, наприклад Реферат        Грубий пошук Точний пошук
Вхід в абонемент


ЛАБОРАТОРНА РОБОТА.

з предмету «Розподілені системи».
Тема: «Розподілена модель без передатних процесів».

Лабораторна робота.
Тема: Розподілена модель без передатних процесів.
Мета: Ознайомитись з принципом обробки запитів процес-серверами.

Хід роботи

Використання передатних процесів (процесів-супутників) в "прозорій" розподіленій системі полегшує спостереження за віддаленими файлами, однак при цьому таблиця процесів віддаленої системи перевантажується процесами-супутниками, що бездіють більшу частину часу. В інших схемах для обробки віддалених запитів використаються спеціальні процеси-сервери (див.Sandberg 85] й [Cole 85]). Віддалена система має у своєму розпорядженні набір (пулом) процесів-серверів, час від часу призначуваних нею для обробки вступників віддалених запитів. Після обробки запиту процес-сервер повертається в пул й переходить у стан готовності до виконання обробки інших запитів.

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

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

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

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

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

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

Ще одна проблема, пов'язана з використанням серверів для віддалених пристроїв, буде розглянута у вправі 13.14.

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

Користувач +------------------------------+

| | Бібліотека системних функцій |

| +------------------------------+

| | Рівень зв'язку типу Newcastle|

v +------------------------------+

^ +------------------------------+

| | Підпрограма обробки запиту |

| | до системної функції |

| +------------------------------+ + Периферійна

| | Підпрограма взаємодії з <----+ система,

| | віддаленою файловою системою | | виклик віддаленої

| +------------------------------+ + системи

| | Підсистема керування файлами <----| Виклик віддаленої

Ядро +------------------------------+ процедури

Малюнок. Концептуальна схема взаємодії з віддаленими файлами на рівні ядра

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