Главная страница  Межпроцессное взаимодействие (состязание) 

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 [ 84 ] 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187

и синий компоненты. Чтобы просто хранить содержимое экрана разрешением 768 X 1024 пикселов и глубиной цветности 24 бит/пиксел, требуется 2 Мбайт видеопамяти.

Видеопамять

Экран

...хЗх2х1хО

...xDxCxBxA

Адрес ОЗУ

ОхВООАО ОхВОООО

ABCD 0 12 3

25 строк

-160 символов-

80 символов

Рис. 3.20. а - содержимое видеопамяти для монохромного дисплея IBM; б - соответствующее изображение на экране (х - байты атрибутов)

У отображаемого в память терминала клавиатура полностью отделена от экрана. Она может подключаться через последовательный или параллельный порт. При каждом срабатывании клавиши генерируется прерывание, и драйвер клавиатуры считывает из порта ввода/вывода код нажатого символа.

У IBM PC клавиатура содержит встроенный микропроцессор, который через специальный последовательный порт взаимодействует с чипом контроллера на материнской плате. Прерывание генерируется каждый раз, когда клавиша нажимается или отпускается. Все, что сообщает клавиатура, - это номер нажатой клавиши, а не ее ASCII-код. Например, когда нажимается клавиша А, в регистр ввода/вывода помещается код 30. А означает ли это символ верхнего регистра, нижнего регистра, CTRL+A, ALT+A, CTRL-i-ALT+A или другую комбинацию, должен знать драйвер клавиатуры. У него имеется достаточно информации для выполнения этой работы, так как он в курсе, какие клавиши были нажаты, но не были отпущены (например, SHIFT). Так как клавиатурный интерфейс перекладывает все сложности на программное обеспечение, он очень гибок. Например, программе может потребоваться информация о том, была ли цифра набрана на цифровой клавиатуре или на основной. В принципе, драйвер клавиатуры может предоставить эту информацию.

Терминалы RS-232

Терминалы RS-232 представляют собой устройства, состоящие из клавиатуры и экрана, взаимодействующие через последовательный интерфейс. Такой интерфейс может передавать по одному биту за раз (рис. 3.21). Эти терминалы подключаются через 9- или 25-контактный разъем, в котором один контакт служит для передачи данных, один для приема и один - заземление. Остальные контакты отвечают за разного рода управляющие функции, и большинство из них не



используется. Чтобы передать символ, терминал RS-232 должен передавать его по одному биту, предварив передачу стартовым битом и завершив ее одним или двумя стоповыми битами. Также может быть добавлен бит контроля четности, который позволяет делать простейшую проверку правильности передачи. Этот бит может находиться перед стоп-битами, хотя обычно он требуется только для взаимодействия с мэйнфреймами. Стандартно применяются скорости передачи данных 9600, 19200 и 38400 бит/с. Терминалы RS-232 обычно подключаются к удаленной системе при помощи модема или телефонной линии.

Компьютер

Центральный процессор

Память

Интерфейс RS-232

Передача

Терминал

Шина

Пем i Универсальный/ асинхронный приемопередатчик

Рис. 3.21. Терминал RS-232 взаимодействует с компьютером через последовательную линию передачи данных, по одному биту за раз. Терминал и компьютер полностью независимы

Так как на внутреннем уровне как терминал, так и компьютер представляют информацию в виде символов, а передают по последовательной линии, были разработаны микросхемы, осуществляющие преобразование символа в последовательное представление и обратное преобразование. Эти чипы называются UART (Universal Asynchronous Receiver Transmitter, универсальный асинхронный приемопередатчик). UART подключаются к компьютеру при помощи интерфейсных карт RS-232, соединенных с шиной. Терминалы RS-232 постепенно вымирают, вытесняемые персональными компьютерами и Х-терминалами, но они все еще встречаются в старых мэйнфреймах, особенно в банковских системах и им подобных.

Чтобы напечатать символ, драйвер терминала записывает его в интерфейсную карту. Там он буферизуется и при помощи UART последовательно сдвигается, а его биты передаются через последовательную линию. Даже на скорости 38 400 бит/с для передачи одного символа требуется 250 мс. Как следствие малой скорости передачи, драйвер терминала обычно передает символ карте RS-232 и блокируется.

Чтобы вывести символ на экран, драйвер терминала записывает этот символ в интерфейсную карту, в которой она буферизируется, после чего поразрядно выдвигается в последовательную линию универсальным асинхронным приемопередатчиком. Например, для аналогового модема, работающего со скоростью 56000 бит/с, для передачи одного символа требуется немного более 179 мкс. Поскольку такая скорость передачи низка, драйвер обычно передает один символ в интерфейсную карту RS-232. Затем драйвер блокируется и ждет прерывания.



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

Терминалы с интерфейсом RS-232 подразделяются на три категории. Наиболее простыми являются печатающие терминалы или телетайпы. Символы, набираемые на клавиатуре, посылаются компьютеру. Символы, посланные компьютером, печатаются на бумаге. Такие терминалы уже давно считаются устаревшими и почти не встречаются, разве только в качестве примитивных принтеров.

Простейшие электронно-лучевые терминалы работают похоже, но вместо бумаги они выводят символы на экран. Их также называют стеклянными телетайпами (glass ttys), поскольку функционально они аналогичны печатающим телетайпам. Термин tty является сокращением слова Teletype®, означающего имя компании, бывшей пионером в области компьютерных терминалов. Теперь сокращение tty используется для обозначения любого терминала. Стеклянные телетайпы также устарели.

Умные электронно-лучевые терминалы на самом деле представляют собой небольшие специализированные компьютеры. У них есть процессор и память. Они также содержат программное обеспечение, хранящееся, как правило, в ПЗУ. С точки зрения операционной системы, основное различие между стеклянным телетайпом и умным терминалом состоит в том, что последний понимает управляющие последовательности символов, называемые ESC-последовательно-стями. При помощи передачи такому терминалу АЗСП-символа ESC (0x1В), за которым передается еще несколько других символов, можно управлять выводом на экран терминала. Например, с помощью ESC-последовательности можно переместить курсор на новую позицию, вывести текст в любое заданное место экрана, очистить экран и т. д. Именно такие терминалы используются в системах мэйнфреймов и эмулируются другими операционными системами. Ниже мы обсудим программное обеспечение умных терминалов.

Х-терминалы

Наиболее интеллектуально развиты терминалы, содержащие центральный процессор, такой же мощный, как и у основного компьютера, с мегабайтами памяти, клавиатурой и мышью. Терминалом такого типа является X-терминал, на котором работает система X Window System (часто называемая просто X), разработанная в Массачусетсском технологическом институте. Обычно Х-терминалы соединяются с компьютером через Ethernet.

X-терминал представляет собой компьютер, на котором работают Х-программы и который взаимодействует с программами, работающими на удаленном компьютере. Некоторые специализированные устройства предназначены исключительно для работы X, на других, многоцелевых компьютерах, Х-программа запускается



1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 [ 84 ] 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187

© 2000 - 2018 ULTRASONEX-AMFODENT.RU.
Копирование материалов разрешено исключительно при условии цититирования.