Доступ к периферийным устройствам через сеть
Итак, мы имеем в своем распоряжении механизм, который позволяет приложениям, выполняющимся на разных компьютерах, обмениваться данными. И хотя приложение А (см. рис. 2.2) по-прежнему не может управлять принтером, подключенным к компьютеру В, оно может теперь воспользоваться средствами межкомпьютерного обмена данными,
чтобы передать приложению В «просьбу» выполнить для него требуемую операцию. Приложение А должно «объяснить» приложению В, какую операцию необходимо выполнить, с какими данными, на каком из имеющихся в его распоряжении устройств, в каком виде
должен быть распечатан текст и т. п. В ходе печати могут возникнуть ситуации, о которых приложение В должно оповестить приложение А, например об отсутствии бумаги в принтере. То есть для решения поставленной задачи — доступа к принтеру по сети — должен
быть разработан специальный протокол взаимодействия приложений А и В.
А теперь посмотрим, как работают вместе все элементы этой простейшей компьютерной сети при решении задачи совместного использования принтера.
1. В соответствии с принятым протоколом приложение Л формирует сообщение-запрос к приложению В, помещает его в буфер ОП компьютера А и обращается к ОС, снабжая ее необходимой информацией.
2. ОС запускает драйвер сетевой ИК, сообщая ему адрес буфера ОП, где хранится сообщение.
3. Драйвер и сетевая интерфейсная карта компьютера А, взаимодействуя с драйвером и интерфейсной картой компьютера В, передают сообщение байт за байтом в буфер ОП компьютера В.
4. Приложение В извлекает сообщение из буфера, интерпретирует его в соответствии с протоколом и выполняет необходимые действия. В число таких действий входит, в том числе, обращение к ОС с запросом на выполнение тех или иных операций с локальным принтером.
5. ОС запускает драйвер принтера, который в кооперации с интерфейсной картой и контроллером принтера выполняет требуемую операцию печати.
Сетевые службы и сервисы
Потребность в доступе к удаленному принтеру может возникать у пользователей самых разных приложений: текстового редактора, графического редактора, системы управления базой данных (СУБД). Очевидно, что дублирование в каждом из приложений общих для
всех них функций по организации удаленной печати является избыточным.
Более эффективным представляется подход, при котором эти функции исключаются из приложений и оформляются в виде пары специализированных программных модулей —
клиента и сервера печати (рис. 2.3), функции которых ранее выполнялись соответственно приложениями А к В. Теперь эта пара клиент—сервер может быть использована любым приложением, выполняемым на компьютере А.
В отчете ответить на вопросы:
1. Рис. 2.1. Какие дополнительные средства должны быть предусмотрены в обоих компьютерах, чтобы с принтером мог работать не только пользователь компьютера В, к которому этот принтер непосредственно подключен, но и пользователь компьютера А?
2. Что было унаследовано компьютерными сетями от вычислительной техники, а что от телефонных сетей?
3. Какие свойства многотерминальной системы отличают ее от компьютерной сети?
4. Каким образом развитие Интернета влияет на развитие сетевых технологий?
5. Что такое ARPANET?
6. Какое из следующих событий произошло позже других:
а) изобретение Web;
б) появление стандартных технологий LAN;
в) начало передачи голоса в цифровой форме по телефонным сетям.
7. В чем технология коммутации пакетов превосходит технологию коммутации каналов?
8. Какое событие послужило стимулом к активизации работ по созданию LAN?
9. Когда была стандартизована технология Ethernet?
10. Поясните, почему сети WAN появились раньше, чем сети LAN.
11. Считаете ли вы, что история компьютерных сетей может быть сведена к истории Интернета? Обоснуйте свое мнение.