Простий випадок взаємодії двох компютерів
В найпростішому випадку зв’язок комп’ютерів може бути реалізований за допомогою тих же самих засобів, які використовуються для зв’язку комп’ютера з периферією, на-прімер, через послідовний інтерфейс RS-232C.
При цьому, на відміну від процеду-ри обміну даними комп’ютера з периферійним пристроєм, коли програма рабо-таєт, як правило, тільки з одного боку (з боку комп’ютера), тут відбувається взаємодія двох програм, що виконуються на кожному з комп’ютерів.
Програма, що працює на одному комп’ютері, не може дістати непосред-ственний доступ до ресурсів іншого комп’ютера – його дисків, файлів, принтера. Вона може тільки «попросити» про це іншу програму, що виконується на тому компью-тере, якому належать ці ресурси. Ці «прохання» виражаються у вигляді сообще-ній, що передаються по каналах зв’язку між комп’ютерами.
Повідомлення можуть содер-жать не тільки команди на виконання деяких дій, але і власне інфор-мационниє дані (наприклад, вміст деякого файлу).
Розглянемо випадок, коли користувачеві, що працює з текстовим редактором на персональному комп’ютері А, потрібно прочитати частину деякого файлу, располо-женного на диску персонального комп’ютера В (мал. 2.2). Припустимо, що ми свя-залі ці комп’ютери по кабелю через СОМ-ПОРТИ, які, як відомо, реалізують інтерфейс RS-232C (таке з’єднання часто називають нуль-модемним).
Хай для оп-ределенності комп’ютери працюють під управлінням MS-DOS, хоча принципового значення в даному випадку це не має.

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

