-2

Как далеко мы продвинулись за последние 30-40 лет. Концерты оперативки. Терабайт дискового пространства. Гигагерцовые процессоры. 4K и 5K плоские дисплеи.

Моя консоль имеет колоссальные, подождите, 80x25 символов и 16 цветов ANSI. Это застряло в семидесятых. Хотя моя видеокарта имеет 4 ГБ ОЗУ, 10-битный цвет и все такое, консоль этим не занимается.

Да, я могу запустить X11 или использовать консоль кадрового буфера. Но почему я должен? В чем заключается непреодолимая проблема обеспечения лучшей консоли, скажем, скромными 256 цветами? Мы оставили позади некоторые другие стандарты, сожгли несколько мостов (ISA? Реальный режим? Турбо кнопка? IBM совместим?), Почему бы окончательно не прорубить консоль VGA?

5 ответов5

6

Что касается Linux, я обычно слышал, что «мы не хотим его в ядре». Особенно, когда речь идет о шрифтах и языках - ни один разработчик ядра не хочет опускаться до уровня добавления поддержки TTF, сглаживания, RTL, анимированных смайликов, в конечном итоге запускающих все freetype2 и ICU в пространстве ядра.

Скорее, они помещают в ядро то, что имеет смысл обрабатывать в ядре - например, графические драйверы вместе с KMS. Если вы используете драйверы с открытым исходным кодом с поддержкой KMS, консоль автоматически переключится на собственное разрешение экрана - как кадровый буфер, но без какой-либо ручной настройки. Практически все дистрибутивы Linux, которые я видел, по умолчанию загружаются в кадровый буфер KMS с высоким разрешением.

Когда у вас есть evdev для ввода и KMS для вывода, пользовательское пространство может нормально обрабатывать консоль - например, через kmscon или fbterm. Есть даже смутные планы в конечном итоге отключить поддержку ядра VT, оставив только один tty1 для задач ранней загрузки и восстановления и предоставив возможность пользовательскому пространству справиться с остальными.

2

Потому что в этом нет необходимости.

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

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

2

Консоли обычно поддерживают 256 цветов, хотя вам, возможно, придется изменить некоторые настройки, чтобы включить его везде, см., Например, http://www.robmeerman.co.uk/unix/256colours

И предел 80x25 должен исчезнуть, если вы просто измените размер окна терминала, что позволит вам заполнить 30-дюймовый экран большим количеством символов, чем удобно читать.

1

почему бы окончательно не прорубить консоль VGA?

Вы путаете понятие консоли со старым текстовым режимом в стиле MDA в стиле ПК.

Этот текстовый режим является конфигурацией устройства / дисплея, которая может отображать текст консоли, но вывод текста с консоли может отображаться на любом устройстве или программе, которые могут понимать протокол, используемый консолью. PuTTY - программа, предназначенная для этой цели, которая имеет больше возможностей, таких как поддержка 256 цветов, о которой вы упомянули, и возможность иметь размеры экрана, отличные от 80x25.

Что касается того, почему текстовый режим в стиле MDA не был изменен, графические адаптеры добавили больше возможностей, но они сохранили текстовый режим в стиле MDA для совместимости. Помните, что все современные процессоры AMD/Intel по-прежнему загружаются в режиме совместимости 8086 на тот случай, если вы все еще хотите запустить DOS, и DOS по-прежнему ожидает текстовый режим 80x25 при загрузке.

Linux поддерживает другие функции, кроме текстового режима в стиле MDA или X11 для отображения, он может использовать кадровые буферы в качестве текстового режима с поддержкой 256 цветов и даже изображений.

Почему консольные возможности застряли в семидесятых?

  • Основной инженерный принцип - KISS. Возможности консоли просты, поэтому программное и аппаратное обеспечение, которое их реализует, просто и легко сделать надежным.

  • RS-232 хорошо работает с базовым консольным вводом / выводом. Есть много устаревших и современных устройств, которые используют 12-вольтовый RS-232 и, вероятно, столько же новых, которые используют 3-вольтовый RS-232. Это широко распространенный аппаратный стандарт, который делает консольный ввод-вывод ожидаемым на многих устройствах с таким оборудованием.

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

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

1

В эпоху VGA, 80x50 стали широко поддерживаться и использоваться некоторыми. Однако на жалких 14-дюймовых мониторах дня некоторым людям было трудно читать.

В эпоху Super VGA мы проиграли в режиме 132 колонок. Строки могут быть 25, 50, 60 или другими значениями. Однако были некоторые проблемы с совместимостью.

Теперь многие аппаратные средства могут поддерживать это. Тем не менее, вы обнаружите, что используете 80x25. Зачем? Потому что вы используете настройки по умолчанию. И настройки по умолчанию таковы, что мало кому это нужно.

Со временем GRUB начал поддерживать графику, поэтому некоторые люди возились с некоторым увеличением. В общем, такие вещи были новинкой. Если вам действительно нужно больше строк и столбцов, нет особых причин просить видеокарту использовать режим видео, который называется "текст", вместо использования режима видео, который называется "графика". И с годами у нас было увеличение графических возможностей. Такие вещи, как 256 цветных терминалов или более высокие цвета, и даже такие вещи, как прозрачные пленки, существуют. Мы просто называем их "графическими" режимами.

Я думаю, что смысл "текстового режима" заключается в том, что графическая карта может загрузить заранее определенный шрифт, а затем отображать определенную графику (которую мы называем "символами"), используя небольшой объем памяти, вместо того, чтобы многократно указывать одно и то же комбинации пикселей, использующих больший объем памяти. Случилось так, что у нас было меньше причин беспокоиться о такой экономии памяти. Стандарты аппаратного ускорения позволили нам использовать различные методы для оптимизации скорости. Видеокарты имеют достаточно памяти, чтобы им не нужно было использовать специальный режим видео, предназначенный для загрузки группы пикселей, расположенных в форматах, которые мы называем шрифтами.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .