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



ЗНАЕТЕ ЛИ ВЫ?

Зв'язок «точка-точка». Простий випадок взаємодії двох компютерів.

Поиск

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

Програма, працююча на одному комп'ютері, не може отримати безпосередній доступ до ресурсів іншого комп'ютера його дискам, файлам, принтеру. Вона може тільки “попросити” про це програму, працюючу на тому комп'ютері, якому належать ці ресурси. Ці “прохання” виражаються у вигляді повідомлень, що передаються по каналах зв'язку між комп'ютерами. Повідомлення можуть містити не тільки команди на виконання деяких дій, але і власне інформаційні дані (наприклад, вміст деякого файла).

Розглянемо випадок, коли користувачеві, який працює з текстовим редактором на персональному комп'ютері А, треба прочитати частину деякого файла, розташованого на диску персонального комп'ютера В (мал. 1.7). Передбачимо, що ми зв'язали ці комп'ютери по кабелю зв'язку через СОМ -порти, які, як відомо, реалізовують інтерфейс RS-232C (таке з'єднання часто називають нуль-модемним). Нехай для визначеності комп'ютери працюють під управлінням MS-DOS, хоч принципового значення в цьому випадку це не має.

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

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

 
МАЛ. 1.7. Взаємодія двох комп'ютерів

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

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

Описані функції додатку А могла б виконати сама програма текстового редактора, але включати ці функції до складу кожного додатку текстових редакторів, графічних редакторів, систем управління базами даних і інших додатків, яким потрібен доступ до файлів, не дуже раціонально (хоч існує велика кількість програм, які дійсно самостійно вирішують всі задачі по міжмашинному обміну даними, наприклад Kermit програма обміну файлами через СОМ-порти, реалізована для різних ОС, Norton Commander 3.0 з його функцією Link). Набагато вигідніше створити спеціальний програмний модуль, який буде виконувати функції формування повідомлень-запитів і прийому результатів для всіх додатків комп'ютера. Як вже було раніше сказано, такий службовий модуль називається клієнтом. На стороні ж комп'ютера В повинен працювати інший модуль сервер, що постійно чекає приходу запитів на виділений доступ до файлів, розташованих на диску цього комп'ютера. Сервер, прийнявши запит з мережі, звертається до локального файла і виконує з ним задані дії, можливо, з участю локальної ОС.

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

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

МАЛ. 1.8. Взаємодія програмних компонентів при зв'язку двох комп'ютерів

Дуже зручною і корисною функцією клієнтської програми є здатність відрізнити запит до виділеного файла від запиту до локального файла. Якщо клієнтська програма уміє це робити, то додатки не повинні піклуватися про те, з яким файлом вони працюють (локальним або виділеним), клієнтська програма сама розпізнає і перенаправляє (redirect) запит до виділеної машини. Звідси і назва, що часто використовується для клієнтської частини мережевої ОС, редиректор. Іноді функції розпізнавання виділяються в окремий програмний модуль, в цьому випадку редиректором називають не всю клієнтську частину, а тільки цей модуль.



Поделиться:


Последнее изменение этой страницы: 2017-02-10; просмотров: 190; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

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