Читаем Компьютерные сети полностью

4. Интерфейсная карта выполняет низкоуровневую работу, не вдаваясь в детали, касающиеся логики управления устройством, смысла данных и команд, передаваемых ей драйвером, считая их однородным потоком байтов. После получения от драйвера очередного байта интерфейсная карта просто последовательно передает биты в линию связи, представляя каждый бит электрическим сигналом. Чтобы контроллеру принтера стало понятно, что начинается передача байта, пере&передачей первого бита информационная карта формирует стартовый сигнал специфической формк, а после передачи последнего информационного бита — столовый сигнал. Эти сигналы синхронизируют передачу байта. Контроллер, опознав стартовый бит, начинает принимать информационные биты, формируя из них байт в своем приемном буфере. Помимо информационных битов карта может передавать бит контроля четности для повышения достоверности обмена. Прикорректно выполненной передаче в буфере принтера устанавливается соответствующий признак.

5. Получив очередной байт, контроллер интерпретирует его и запускает заданную операцию принтера. Закончив работу по печати всех символов документа, драйвер принтера сообщает операционной системе о выполнении запроса, а та, в свою очередь, сигнализирует об этом событии приложению.

Обмен данными между двумя компьютерами

Механизмы взаимодействия компьютеров в сети многое позаимствовали у схемы взаимодействия компьютера с периферийными устройствами. В самом простом случае связь компьютеров может быть реализована с помощью тех же самых средств, которые используются для связи компьютера с периферией, с той разницей, что в этом случае активную роль играют обе взаимодействующие стороны.

Приложения Ли В (см. рис. 2.2) управляют процессом передачи данных путем обмена сообщениями. Чтобы приложения могли «понимать» получаемую друг от друга информацию, программисты, разрабатывавшие эти приложения, должны строго оговорить форматы и последовательность сообщений, которыми приложения будут обмениваться во время выполнения этой операции. Например, они могут договориться о том, что любая операция обмена данными начинается с передачи сообщения, запрашивающего информацию о готовности приложения В\ что в следующем сообщении идут идентификаторы компьютера и пользователя, сделавшего запрос; что признаком срочного завершения операции обмена данными является определенная кодовая комбинация и т. п. Тем самым определяется протокол взаимодействия приложений для выполнения операции данного типа.

Аналогично тому, как при выводе данных на печать необходимо передавать принтеру дополнительно некоторый объем служебной информации — в виде команд управления принтером, так и здесь: для передачи данных из одного компьютера в другой необходимо сопровождать эти данные дополнительной информацией в виде протокольных сообщений, которыми обмениваются приложения.

Заметим, что для реализации протокола нужно, чтобы к моменту возникновения потребности в обмене данными были активны оба приложения: как приложение А, которое посылает инициирующее сообщение, так и приложение В, которое должно быть готово принять это сообщение и выработать реакцию на него.

Передача любых данных (как сообщений протокола приложений, так и собственно данных, составляющих цель операции обмена) происходит в соответствие с одной и той же процедурой. На стороне компьютера А приложение, следуя логике протокола, размещает в буфере ОП либо собственное очередное сообщение, либо данные, и обращается к ОС с запросом на выполнение операции межкомпьютерного обмена данными. ОС запускает соответствующий драйвер сетевой карты, который загружает байт из буфера ОП в буфер ИК, после чего инициирует работу ИК. Сетевая интерфейсная карта последовательно передает биты в линию связи, дополняя каждый новый байт стартовым и стоповым битами.

На стороне компьютера В сетевая И К принимает биты, поступающие со стороны внешнего интерфейса, и помещает их в собственный буфер. После того как получен столовый бит, интерфейсная карта устанавливает признак завершения приема байта и выполняет проверку корректности приема, например, путем контроля бита четности. Факт корректного приема байта фиксируется драйвером сетевой ИК компьютера В. Драйвер переписывает принятый байт из буфера ИК в заранее зарезервированный буфер ОП компьютера В.

Приложение В извлекает данные из буфера и интерпретирует их в соответствии со своим протоколом либо как сообщение, либо как данные. Если согласно протоколу приложение В должно передать ответ приложению Л, то выполняется симметричная процедура.

Таким образом, связав электрически и информационно два автономно работающих компьютера, мы получили простейшую компьютерную сеть.

Доступ к ПУ через сеть

Перейти на страницу:

Похожие книги

C++ Primer Plus
C++ Primer Plus

C++ Primer Plus is a carefully crafted, complete tutorial on one of the most significant and widely used programming languages today. An accessible and easy-to-use self-study guide, this book is appropriate for both serious students of programming as well as developers already proficient in other languages.The sixth edition of C++ Primer Plus has been updated and expanded to cover the latest developments in C++, including a detailed look at the new C++11 standard.Author and educator Stephen Prata has created an introduction to C++ that is instructive, clear, and insightful. Fundamental programming concepts are explained along with details of the C++ language. Many short, practical examples illustrate just one or two concepts at a time, encouraging readers to master new topics by immediately putting them to use.Review questions and programming exercises at the end of each chapter help readers zero in on the most critical information and digest the most difficult concepts.In C++ Primer Plus, you'll find depth, breadth, and a variety of teaching techniques and tools to enhance your learning:• A new detailed chapter on the changes and additional capabilities introduced in the C++11 standard• Complete, integrated discussion of both basic C language and additional C++ features• Clear guidance about when and why to use a feature• Hands-on learning with concise and simple examples that develop your understanding a concept or two at a time• Hundreds of practical sample programs• Review questions and programming exercises at the end of each chapter to test your understanding• Coverage of generic C++ gives you the greatest possible flexibility• Teaches the ISO standard, including discussions of templates, the Standard Template Library, the string class, exceptions, RTTI, and namespaces

Стивен Прата

Программирование, программы, базы данных