Найпростіший випадок взаємодії двох комп’ютерів - Студопедія
У найпростішому випадку взаємодія комп'ютерів може бути реалізована за допомогою тих самих засобів, які використовуються для взаємодії комп'ютера з периферією, наприклад, через послідовний інтерфейс RS-232C. На відміну від взаємодії комп'ютера з периферійним пристроєм, коли програма працює, зазвичай, лише з одного боку - з боку комп'ютера, у разі відбувається взаємодія двох програм, які працюють кожному з комп'ютерів.
Програма, працюючи одному комп'ютері, неспроможна отримати безпосередній доступом до ресурсів іншого комп'ютера - його дискам, файлам, принтеру. Вона може лише «попросити» про це програму, що працює на комп'ютері, якому належать ці ресурси. Ці «прохання» виражаються у вигляді повідомлень, що передаються каналами зв'язку між комп'ютерами. Повідомлення можуть містити не тільки команди на виконання деяких дій, а й власне інформаційні дані (наприклад, вміст файлу).

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

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