Терминал имеет так называемый драйвер терминала . Это не драйвер в смысле интерфейса к оборудованию, а скорее интерпретация определенных последовательностей символов, которые заставляют его выполнять такие операции, как прокрутка, текстовые атрибуты и т. Д.
Последовательности символов хранятся в базе данных terminfo . Библиотека с именем curses (или ее современный эквивалент ncurses ) считывает базу данных terminfo и генерирует различные последовательности символов на основе вызываемых функций.
Отделение базы данных terminfo от самого драйвера терминала позволяет программам поддерживать ряд терминалов, таких как xterm, текстовая консоль, сетевые клиенты, даже удаленные тупые терминалы, подключенные через последовательную линию.