Чарльз Петцольд - Код. Тайный язык информатики
- Название:Код. Тайный язык информатики
- Автор:
- Жанр:
- Издательство:Манн, Иванов и Фербер
- Год:2019
- Город:Москва
- ISBN:978-5-00117-545-2
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Чарльз Петцольд - Код. Тайный язык информатики краткое содержание
Код. Тайный язык информатики - читать онлайн бесплатно ознакомительный отрывок
Интервал:
Закладка:
Однако электронно-лучевая трубка, которая получила более широкое распространение в 1970-е, не имела таких ограничений. Программное обеспечение могло использовать экран более гибко — в качестве двумерной платформы для отображения информации. Тем не менее разработчики большинства программ для небольших компьютеров, вероятно привыкшие к определенной логике отображения информации, продолжали рассматривать экран в качестве «стеклянного телетайпа». Создаваемые ими программы выводили данные на экран построчно сверху вниз, а по достижении нижней границы его содержимое необходимо было прокручивать вверх. Именно таким способом дисплей использовали все программы CP/M и большинство программ MS-DOS, а операционная система UNIX до сих пор с гордостью поддерживает эту традицию.
Интересно, что набор символов ASCII не является столь уж неуместным при работе с ЭЛТ. Изначально эта кодировка включала код 1Bh (Escape), специально предназначенный для расширения набора отображаемых символов. В 1979 году Американский национальный институт стандартов опубликовал стандарт «Дополнительные управляющие символы для использования с ASCII». Его цель — «удовлетворение ожидаемых потребностей в контроле над вводом и выводом на двумерных устройствах отображения информации, включая интерактивные терминалы с электронно-лучевой трубкой и принтеры».
Код 1Bh занимает всего один байт, поэтому может иметь только одно значение. Код Escape предваряет последовательности символов, которые выполняют определенные функции. Например, последовательность, состоящая из кода Escape, за которой следуют символы [2J, стирает все содержимое экрана и перемещает курсор в верхний левый угол.
1Bh 5Bh 32h 4Ah
Телетайпный аппарат не позволяет сделать ничего подобного. Последовательность, состоящая из кода Escape, за которой следуют символы [5; 29H, перемещает курсор на пятую строку 29-го столбца.
1Bh 5Bh 35h 3Bh 32h 39h 48h
Комбинация ЭЛТ и клавиатуры, которая реагирует на ASCII-коды (возможно, и на Escape-последовательности), поступающие с удаленного компьютера, иногда называется «немым» терминалом . Такой терминал работает быстрее и гибче по сравнению с телетайпными аппаратами, однако его скорости недостаточно для внедрения нового в пользовательском интерфейсе. Настоящие инновации были реализованы в 1970-х годах в небольших компьютерах, в которых, как и в гипотетическом компьютере из главы 21, видеопамять была частью адресного пространства микропроцессора.
Первым признаком того, что домашние компьютеры будут сильно отличаться от своих более крупных и дорогих предшественников, было, вероятно, приложение VisiCalc, разработанное Даниэлем Бриклином (род. 1951) и Бобом Фрэнкстоном (род. 1949) в 1979 году для компьютера Apple II. Приложение VisiCalc выводило на экран двумерное изображение электронной таблицы. До этого электронная таблица представляла собой разлинованный лист бумаги, обычно используемый для выполнения вычислений. Приложение VisiCalc заменило бумагу экраном, позволив пользователю перемещаться по электронной таблице, вводить числа и формулы, а также пересчитывать результаты после внесения изменений.
Удивительным в VisiCalc было то, что это приложение нельзя было воссоздать на больших компьютерах . Подобным программам необходимо очень быстро обновлять экран. По этой причине приложение VisiCalc записывало данные непосредственно в видеопамять компьютера Apple II, являющуюся частью адресного пространства микропроцессора. Интерфейс между большим компьютером с системой распределения времени и «немым» терминалом работал недостаточно быстро для такой электронной таблицы.
Чем быстрее компьютер может реагировать на сигналы клавиатуры и обновлять видеоизображение, тем плотнее его взаимодействие с пользователем. Б о льшая часть программ, написанных в течение первого десятилетия после выхода IBM PC (в 1980-х), предполагала запись данных непосредственно в видеопамять. Поскольку стандартов аппаратного обеспечения, введенных компанией IBM, придерживались и другие производители компьютеров, разработчики программ могли обойти операционную систему и напрямую задействовать аппаратное обеспечение, не опасаясь, что на некоторых компьютерах их программы будут работать неправильно (вообще не будут работать). Если бы во всех клонах IBM PC применялись разные аппаратные интерфейсы для видеодисплеев, то программистам было бы сложно учесть особенности различных конструкций.
В большинстве ранних приложений для IBM PC на экране отображался только текст без графики, что обеспечивало максимальную скорость работы. Когда видеодисплей устроен так, как описано в главе 21, программа может отобразить на экране конкретный символ, просто записав в память соответствующий ASCII-код. Программе, использующей графический видеодисплей, обычно требуется записать в память восемь или более байтов для вывода на экран изображения текстового символа.
Переход от отображения текста к отображению графики стал чрезвычайно важным шагом в эволюции. Однако процесс развития компьютерного оборудования и программного обеспечения, работающего не только с текстом, но и с графическими изображениями, происходил очень медленно. Еще в 1945 году Джон фон Нейман рассматривал возможность вывода графических изображений на дисплей, основанный на принципе работы осциллографа. Однако только в начале 1950-х годов компьютерная графика стала реальностью, когда в Массачусетском технологическом институте (при содействии компании IBM) была учреждена Лаборатория Линкольна, перед которой стояла задача разработать компьютер для системы ПВО ВВС США. Этот проект под названием SAGE (Semi-Automatic Ground Environment, «полуавтоматическая наземная среда») подразумевал использование графических экранов, с помощью которых операторы могли бы анализировать большие объемы информации.
Первые видеодисплеи, использованные в таких системах, как SAGE, не были похожи на мониторы современных персональных компьютеров. Сегодня ПК оснащены так называемыми растровыми дисплеями. Как и в телевизоре, изображение на устаревших ЭЛТ-мониторах состоит из серии горизонтальных растровых линий, рисуемых лучом электронной пушки, который быстро пробегает по экрану. Такой экран можно представить в виде большого прямоугольного массива точек, называемых пикселами . Для хранения видеоизображения в памяти компьютера выделяется целая область, в которой один или несколько битов соответствует пикселу на экране. Значения этих битов определяют степень светимости и цвет пикселов.
Например, разрешение большинства современных компьютерных дисплеев составляет как минимум 640 пикселов по горизонтали и 480 пикселов по вертикали. Их общее количество соответствует произведению этих двух чисел: 307 200. Если для каждого пиксела выделяется только один бит памяти, то его цвет ограничивается двумя вариантами, обычно черным и белым. Например, значение 0 может указывать на черный пиксел, значение 1 — на белый. Такой видеодисплей требует 307 200 бит памяти, или 38 400 байт.
Читать дальшеИнтервал:
Закладка: