- •Учебные материалы
- •1 Лекция: Введение. История, предмет, структура информатики
- •2 Лекция: Информация, ее представление и измерение
- •3 Лекция: Кодирование и шифрование информации
- •4 Лекция: Системы счисления и действия в них:
- •5 Лекция: Высказывания и предикаты
- •6 Лекция: Логические вентили, схемы, структуры
- •7 Лекция: Базовые алгоритмические структуры
- •8 Лекция: Данные, их типы, структуры и обработка
- •9 Лекция: Методы разработки и анализа алгоритмов
- •10 Лекция: Исполнители алгоритмов - человек и автомат
- •11 Лекция: Программное и техническое обеспечение
- •12. Лекция: Формальные языки и грамматики
- •13 Лекция: Введение в моделирование объектов, процессов и явлений
- •14 Лекция: Введение в информационные технологии
- •15 Лекция: Информатизация общества, информационное общество. Интернет
- •16 Лекция: Основы информационных сетей
- •1 Основы сетей и сетевых технологий
- •1.1 Два корня сетей передачи данных
- •1.2 Появление первых вычислительных машин
- •1.3 Программные мониторы — первые операционные системы
- •1.4 Мультипрограммирование
- •5 Многотерминальные системы — прообраз сети
- •1.6 Первые сети — глобальные
- •1.7 Наследие телефонных сетей
- •2 Эволюция вычислительных сетей: от первых локальных сетей до современных сетевых технологий
- •2.1 Мини-компьютеры — предвестники локальных сетей
- •2.2 Появление стандартных технологий локальных сетей
- •2.3 Роль персональных компьютеров в эволюции компьютерных сетей
- •2.4 Новые возможности пользователей локальных сетей
- •2.5 Эволюция сетевых операционных систем
- •3 Основные задачи построения сетей
- •3.1 Связь компьютера с периферийными устройствами
- •3.2 Связь двух компьютеров
- •3.3 Клиент, редиректор и сервер
- •3.4 Задача физической передачи данных по линиям связи
- •4 Проблемы связи нескольких компьютеров
- •4.1 Топология физических связей
- •4.2 Адресация узлов сети
- •17 Лекция: Основы систем управления баз данных
- •1 Общие сведения о проектировании информационных систем и баз данных
- •1.1 Некоторые термины и определения, используемые при работе с базами данных
- •1.2 Принципы проектирования информационных систем
- •2. Принципы организации баз данных
- •2.1 Классификация баз данных
- •2.2 Ранние подходы к организации баз данных
- •2.2.1 Иерархические базы данных
- •2.2.2 Сетевые базы данных
- •2.3 Современные базы данных
- •2.3.1 Реляционные системы
- •2.3.2 12 Правил Кодда
- •2.3.3 Соблюдение условий ссылочной целостности в реляционной базе данных
- •2.3.4 Основные стратегии поддержания ссылочной целостности
- •2.3.5 Дополнительные стратегии поддержания ссылочной целостности
- •2.4 Постреляционные базы данных
- •2.4.1 Серверы баз данных
- •2.4.2 Распределенные базы данных
- •18 Лекция: Информационные ресурсы общества Виды и классификация информационных ресурсов
- •Информационные ресурсы как форма представления знаний
- •Знание как национальное достояние
- •Классификация информационных ресурсов
- •Количественные характеристики некоторых видов информационных ресурсов России
- •Электронизация информационных ресурсов общества как актуальная проблема
- •2.Информационная инфраструктура общества Понятие и основные компоненты информационной инфраструктуры общества
- •Центры-генераторы информационных ресурсов общества
- •Основные тенденции изменения информационной инфраструктуры общества
- •3.Информационные продукты и услуги Определение основных понятий
3.2 Связь двух компьютеров
А теперь предположим, что пользователь другого компьютера хотел бы распечатать текст. Сложность состоит в том, что к его компьютеру не подсоединен принтер, и требуется воспользоваться тем принтером, который связан с другим компьютером (рис.3.2).
Программа, работающая на одном компьютере, не может получить непосредственный доступ к ресурсам другого компьютера — его дискам, файлам, принтеру. Она может только "попросить" об этом другую программу, выполняемую на том компьютере, которому принадлежат эти ресурсы. Эти "просьбы" выражаются в виде сообщений, передаваемых по каналам связи между компьютерами. Такая организация печати называется удаленной.
Рис. 3.2. Взаимодействие двух компьютеров.
Предположим, что мы связали компьютеры по кабелю через COM-порты, которые, как известно, реализуют интерфейс RS-232C (такое соединение часто называют нуль-модемным). Связь между компьютерами осуществляется аналогично связи компьютера с ПУ. Только теперь контроллеры и драйверы портов действуют с двух сторон. Вместе они обеспечивают передачу по кабелю между компьютерами одного байта информации. (В "настоящих" локальных сетях подобные функции передачи данных в линию связи выполняются сетевыми адаптерами и их драйверами.)
Итак, механизм обмена байтами между двумя компьютерами определен. Теперь нужно договориться о правилах обмена сообщениями между приложениями А и В. Приложение В должно "уметь" расшифровать получаемую от приложения А информацию. Для этого программисты, разрабатывавшие приложения А и В, строго оговаривают форматы сообщений, которыми будут обмениваться приложения, и их семантику. Например, они могут договориться о том, что любое выполнение удаленной операции печати начинается с передачи сообщения, запрашивающего информацию о готовности приложения В; что в начале сообщения идет число, определяющее длину данных, предназначенных для печати; что признаком срочного завершения печати является определенная кодовая комбинация и т.п. Тем самым, как будет показано дальше, определяется протокол взаимодействия приложений.
Вернемся к последовательности действий, которые необходимо выполнить для распечатки текста на принтере "чужого" компьютера.
Приложение А формирует очередное сообщение (содержащее, например, строку, которую необходимо вывести на принтер) приложению В, помещает его в буфер оперативной памяти и обращается к ОС с запросом на передачу содержимого буфера на компьютер В.
ОС компьютера А обращается к драйверу COM-порта, который инициирует работу контроллера.
Действующие с обеих сторон пары драйверов и контроллеров COM-порта последовательно, байт за байтом, передают сообщение на компьютер В.
Драйвер компьютера В периодически выполняет проверку на наличие признака завершения приема, устанавливаемого контроллером при правильно выполненной передаче данных, и при его появлении считывает принятый байт из буфера контроллера в оперативную память, тем самым делая его доступным для программ компьютера В. В некоторых случаях драйвер вызывается асинхронно, по прерываниям от контроллера. Аналогично реализуется и передача байта в другую сторону — от компьютера B к компьютеру A.
Приложение В принимает сообщение, интерпретирует его, и в зависимости от того, что в нем содержится, формирует запрос к своей ОС на выполнение тех или иных действий с принтером. В нашем примере сообщение содержит указание на печать текста, поэтому ОС передает драйверу принтера запрос на печать строки.
Далее выполняются все действия 1-6, описывающие выполнение запроса приложения к ПУ в соответствии с рассмотренной ранее схемой "локальная ОС — драйвер ПУ — контроллер ПУ — устройство управления ПУ" (см. предыдущий раздел). В результате строка будет напечатана.
Мы рассмотрели последовательность работы системы при передаче только одного сообщения от приложения А к приложению В. Однако порядок взаимодействия этих двух приложений может предполагать неоднократный обмен сообщениями разного типа. Например, после успешной печати строки (в предыдущем примере) согласно правилам, приложение В должно послать сообщение-подтверждение. Это ответное сообщение приложение B помещает в буферную область оперативной памяти, а далее с помощью драйвера COM-порта передает его по каналу связи в компьютер А, где оно и попадает к приложению А.