logo search
UNIX_podibni_OS / Unix подобные ОС Лекции

Управляющие символы

Свойство терминала передавать только текст (иначе говоря, последовательности символов) приводит к необходимости операции по управлению вводом и выводом текста тоже кодировать с помощью специальных символов: удаление неправильно введённых символов, команда передать введённый текст системе, перевод строки, графическое выделение выведенного текста и т. п. Такие символы объединяют понятием управляющие символы.

Часть управляющих символов вводится специальными клавишами, предусмотренными для управления вводом текста, такими как Backspace и Enter. Управляющих символов может быть больше, чем нетекстовых клавиш на клавиатуре, в этом случае их необходимо извлекать с помощью какого-либо клавиатурного модификатора, например, Ctrl.

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

Специальные управляющие символы могут быть также зарезервированы для команд межпроцессного взаимодействия (передачи сигналов). В частности, для завершения командной оболочки можно использовать символ конца ввода Ctrl-D. Эту команду интерпретирует при вводе с терминала система. Она же превращает некоторые другие управляющие символы (например, Ctrl-C — «прерывание» или Ctrl-Z — «засыпание») в соответствующие сигналы.

Одной из полезных особенностей терминала является возможность его «прокрутки» с помощью клавиш Shift-PgUp и Shift-PgDn. Это может быть полезно, если вывод программы занимает больший объём, чем размер экрана.

Каждое устройство или программа, выполняющие функции терминала, имеет свои возможности по вводу и выводу информации. Примерами таких возможностей являются: число цветов отображения, способность перемещать курсор и изменять размер экрана, набор управляющих символов и т. п. При этом для операционной системы важна возможность работать с любыми терминалами одинаковым способом. Для этого в операционных системах семейства UNIX вводится понятие тип терминала: каждый тип сводится к набору возможностей, регламентированных в специальном конфигурационном файле. Информация о всех существующих типах терминалов хранится в специализированной базе данных (terminfo или termcap). Примерами типов являются: tty (телетайп) или xterm (графический терминал).