Открыть сервис

Текстовый режим

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

История

Ранние терминалы

Первые компьютерные терминалы 1960-х годов (например, IBM 2260, VT100) работали исключительно в текстовом режиме. Они подключались к мейнфреймам и отображали только символы, передаваемые по последовательному интерфейсу. Символы формировались из точек на электронно-лучевой трубке (ЭЛТ) с помощью знакогенератора — аппаратного устройства, хранящего растровые образы символов в постоянной памяти.

Эра персональных компьютеров

С появлением персональных компьютеров в конце 1970-х — начале 1980-х годов текстовый режим стал стандартом. Видеоадаптеры MDA (Monochrome Display Adapter, 1981), CGA (Color Graphics Adapter, 1981), EGA (Enhanced Graphics Adapter, 1984) и VGA (Video Graphics Array, 1987) поддерживали текстовые режимы с разрешением 80×25 символов (стандарт для IBM PC) или 40×25 символов. В этих режимах каждый символ кодировался одним байтом (код символа из таблицы ASCII или расширенной ASCII), а атрибуты — отдельным байтом. Это позволяло отображать до 256 различных символов (включая псевдографику) с 16 цветами фона и 16 цветами текста (в VGA).

Переход к графическим режимам

С развитием графических интерфейсов (Windows, Mac OS, X Window System) в конце 1980-х — начале 1990-х годов текстовый режим уступил место графическому. Однако он сохранился в следующих областях:

  • BIOS/UEFI: настройки системы до загрузки операционной системы.
  • Консоль Linux/Unix: виртуальные терминалы (Ctrl+Alt+F1-F6) работают в текстовом режиме.
  • Эмуляторы терминала: xterm, GNOME Terminal, Windows Terminal симулируют текстовый режим поверх графической среды.
  • Встраиваемые системы: простые дисплеи на микроконтроллерах (например, символьные LCD-дисплеи 16×2).

Устройство и принцип работы

Структура видеопамяти

В текстовом режиме видеопамять организована как двумерный массив знакомест. Каждое знакоместо занимает 2 байта:

  • Первый байт: код символа (0–255) из таблицы знакогенератора.
  • Второй байт: атрибуты (цвет текста, цвет фона, мигание, яркость).

Для режима 80×25 символов требуется 80×25×2 = 4000 байт видеопамяти (около 4 КБ). В VGA видеопамять для текстового режима располагается по адресу 0xB8000 (для цветного режима) или 0xB0000 (для монохромного).

Таблица знакогенератора

Знакогенератор — это ПЗУ (постоянное запоминающее устройство) или ОЗУ (оперативное запоминающее устройство), содержащее растровые образы символов. Каждый символ представлен матрицей пикселей (например, 8×8, 8×14 или 9×16 пикселей). При выводе символа контроллер дисплея считывает его образ из знакогенератора и формирует видеосигнал. В VGA знакогенератор может быть перепрограммирован (загружен пользовательскими шрифтами).

Атрибуты символов

В текстовом режиме VGA поддерживаются следующие атрибуты:

  • Цвет текста: 4 бита (16 цветов).
  • Цвет фона: 4 бита (16 цветов, но в стандартном режиме — 8, так как бит мигания может переключать яркость фона).
  • Мигание: 1 бит (символ мигает с частотой около 2 Гц).
  • Яркость: 1 бит (увеличивает яркость текста).

В монохромных режимах (MDA) атрибуты включают подчёркивание, инверсию, яркость и мигание.

Классификация текстовых режимов

По разрешению

  • 40×25 символов: использовался в CGA для совместимости с телевизорами.
  • 80×25 символов: стандарт для IBM PC и VGA.
  • 80×43, 80×50, 132×25 и другие: расширенные режимы, поддерживаемые EGA, VGA и SVGA.

По цветности

  • Монохромный: один цвет текста на одном цвете фона (MDA, Hercules).
  • Цветной: до 16 цветов текста и 16 цветов фона (CGA, EGA, VGA).

По типу знакогенератора

  • Аппаратный: знакогенератор встроен в видеоконтроллер (MDA, CGA, VGA).
  • Программный: знакогенератор загружается в ОЗУ (VGA, SVGA, эмуляторы).

Применение

Терминалы и консоли

Текстовый режим является основой для работы терминалов (например, VT100, xterm) и консолей операционных систем. В Linux и FreeBSD виртуальные консоли (tty) используют текстовый режим для отображения командной строки, системных сообщений и текстовых интерфейсов (например, Midnight Commander, nano).

BIOS и загрузчики

На этапе загрузки компьютера BIOS (или UEFI в режиме совместимости) отображает информацию в текстовом режиме: настройки, сообщения об ошибках, меню загрузки. Загрузчики (GRUB, LILO, Windows Boot Manager) также используют текстовый режим для выбора операционной системы.

Встраиваемые системы

Микроконтроллеры (Arduino, STM32) часто подключаются к символьным LCD-дисплеям (например, 16×2, 20×4), которые работают в текстовом режиме. Эти дисплеи имеют встроенный контроллер (HD44780), управляющий выводом символов.

Ретро-вычисления и эмуляция

Энтузиасты ретро-вычислений воссоздают текстовые режимы на современных компьютерах с помощью эмуляторов (DOSBox, MAME, эмуляторы терминалов). Текстовые режимы также используются в демосцене для создания эффектов (например, «текстовые демки»).

Интересные факты

  • В текстовом режиме VGA можно отображать до 256 символов одновременно, но таблица знакогенератора может содержать до 512 символов (два набора по 256).
  • Псевдографика (символы для рисования рамок, линий, блоков) в текстовом режиме VGA заимствована из кодовой страницы 437 (CP437) — стандартной для IBM PC.
  • В текстовом режиме можно создавать анимацию, перезаписывая символы в видеопамяти (например, эффект «звёздного неба» или «дождя» из фильма «Матрица»).
  • Некоторые игры 1980-х годов (например, Rogue, NetHack) использовали текстовый режим для отображения графики с помощью символов ASCII.

Критика

Текстовый режим имеет ограничения по сравнению с графическим:

  • Низкое разрешение: 80×25 символов (около 640×200 пикселей для шрифта 8×8) — значительно меньше, чем в графических режимах (640×480, 800×600 и выше).
  • Ограниченная палитра: 16 цветов текста и 16 цветов фона (в VGA) — недостаточно для современных интерфейсов.
  • Отсутствие произвольной графики: невозможно вывести изображение, не состоящее из символов, без переключения в графический режим.
  • Несовместимость с Unicode: стандартные текстовые режимы поддерживают только 256 символов (обычно ASCII и расширенная ASCII), что неудобно для многоязычных текстов.

Тем не менее, текстовый режим остаётся востребованным в системах, где важны простота, скорость и минимальное потребление ресурсов (например, в серверных консолях, встраиваемых устройствах, загрузчиках).

Источники

  • IBM PC/XT Technical Reference Manual (1983)
  • VGA Technical Reference Manual (IBM, 1987)
  • FreeBSD Handbook: Console and Serial Console
  • Linux Console Documentation (kernel.org)
  • «The Art of Assembly Language» by Randall Hyde (Chapter 18: Video Display)
  • «Programmer’s Guide to the EGA and VGA» by Richard F. Ferraro

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →