Теория операционных систем

         

Порты передачи данных

Порты ввода-вывода преимущественно используются для управления про-тыми внешними устройствами: если бит установлен, мотор крутится (заслонка открыта, нагреватель включен и т. д.), и наоборот. Если же уст-оойство более сложное, и работа с ним предполагает обмен последовательностями команд и ответов, или просто большими объемами данных, простой порт оказывается не очень удобен.
Основная проблема при использовании простого порта в качестве средства обмена данными состоит в том, что принимающему устройству необходимо знать, выставило ли передающее устройство на своих выходах новую порцию данных, или еще нет. Три основных подхода к решению этой проблемы называются синхронной, асинхронной и изохронной передачами данных.
При синхронной передаче мы либо предоставляем дополнительный сигнал, строб (рис. 9.6), либо тем или иным способом передаем синхросигналы по тем же проводам, что и данные. Например, можно установить, что каждая следующая порция данных должна хотя бы одним битом отличаться от предыдущей. При этом необходимо предусмотреть протокол, посредством которого передатчик будет кодировать, а приемник декодировать повторяющиеся последовательности символов. Например, второй символ из пары одинаковых последовательных символов можно заменять на специальный символ повторения, впрочем, в этом случае нам необходимо предусмотреть и способ кодирования символа, совпадающего по значению с символом повторения. Реальные способы совмещения кодирующих и синхронизующих сигналов в одном проводе относительно сложны и их детальное обсуждение было бы более уместно в книге, посвященной сетевым технологиям. Некоторые простые способы кодирования с таким совмещением мы рассмотрим в разд.

Содержание раздела