Криптономикон, часть 1 - Страница 133


К оглавлению

133

Другими словами, Пекка стал первой жертвой Дигибомбера. Он едва не умер от потери крови, и его друзья-евтропийцы несколько дней толклись у больничной койки с баллонами фреона, готовые немедленно приступить к делу, если он умрет. Однако Пекка не умер и вызвал новую шумиху тем, что оказался не застрахован. Местные газеты долго заламывали руки по поводу того, как бедный наивный мальчик из страны бесплатной медицины не нашел в себе духа потратиться на медицинскую страховку. В итоге несколько хайтечных магнатов скинулись на оплату медицинских счетов и компьютерный голосовой аппарат, как у Стивена Хокинга.

И вот теперь Пекка сидит у Кантрелла в номере. Виолончель стоит в углу, в районе кобылки еще видна канифолевая пыль. К стене изолентой приклеены проволочные петли и загогулины. Они тянутся к каким-то явно самопальным платам, те, в свою очередь, подключены к ноутбуку.

«Здравствуй Рэнди поздравляю с успехом», — говорит компьютерно сгенерированный голос, как только за Кантреллом и Рэнди закрывается дверь. Это маленькое приветствие Пекка, очевидно, набрал заранее. Все вполне в порядке вещей, удивляет другое: Пекка думает, что корпорация «Эпифит» уже добилась каких-то успехов.

— Как продвигается? — спрашивает Кантрелл.

Пекка печатает ответ. Потом подносит одну руку к изуродованному уху, а другой жмет на кнопку голосового генератора: «Он в душе. (И впрямь слышно, как в стене шумят трубы.) Его компьютер излучает».

— Ой, — удивляется Рэнди. — Том Говард — в соседней комнате?

— Через стенку от нас, — кивает Кантрелл. — Я нарочно так попросил, чтобы выиграть пари. Его номер — зеркальное отражение моего, так что компьютер всего в нескольких дюймах, сразу за стеной. Идеальные условия для ван-эйковского перехвата.

— Пекка, ты прямо сейчас получаешь сигналы с его компьютера? — спрашивает Рэнди.

Пекка кивает, печатает, жмет кнопку: «Настраиваю. Калибрую». Вводное устройство голосового генератора — MIDI-клавиатура под одну руку, пристегнутая к бедру. Пекка вслепую пробегает по нему пальцами, через несколько мгновений слышится голос: «Нужен Кантрелл».

— Извини. — Кантрелл садится рядом с Пеккой. Рэнди некоторое время смотрит им через плечо. Он примерно понимает, что они делают.

Если положить лист белой бумаги на старый могильный камень и провести карандашом черту, вы получите одну горизонтальную линию, где-то темнее, где-то светлее, однако ничего особенного не означающую. Если провести вплотную вторую черту, и так раз за разом, начнет проступать рисунок. Технарь назвал бы этот процесс разверткой или сканированием. В обычном мониторе — электронно-лучевой трубке — электронный луч действительно пробегает по стеклу от шестидесяти до восьмидесяти раз за секунду, в дисплее ноутбука, как у Рэнди, ничего по-настоящему не бегает, отдельные пиксели включаются и выключаются напрямую. Однако процесс развертки все равно имеет место: при этом считывается и отображается на дисплее определенная область компьютерной памяти, называемая экранным буфером. Содержимое экранного буфера должно передаваться на дисплей шестьдесят-восемьдесят раз за секунду, иначе (1) экран будет мерцать, (2) изображение — дергаться.

Компьютер, общаясь с вами, не управляет экраном непосредственно, а манипулирует с битами экранного буфера, зная, что другие подсистемы передадут информацию на реальный дисплей. Шестьдесят-восемьдесят раз за секунду система говорит себе: «Блин, пора обновлять экран», лезет в начало буфера — а это, не забывайте, просто часть памяти — и считывает первые несколько байтов, определяющих, какого цвета будет пиксель в верхнем левом углу экрана. Информация отправляется тем, кто, собственно обновляет экран, будь то электронный луч или что-то такое в ноутбуке. Потом считываются следующие несколько байтов, обычно для пикселя справа от первого, и так до правого края экрана. Проводится первая черта натирки с могильного камня.

Теперь, когда достигнут правый край экрана, в этом направлении пикселей больше нет. Значит, следующие несколько байтов отвечают за крайний левый пиксель второй строки. В электроннолучевой трубке возникает небольшая заминка: луч на правом краю экрана, а его просят нарисовать пиксель на левом краю. Он должен переместиться обратно. Это занимает время — небольшое, но дольше, чем на переход между соседними пикселями. Называется — время обратного хода по строке. Так продолжается, пока не будет достигнут последний пиксель в нижнем правом углу и натирка с могильного камня не будет завершена. Однако теперь пора начинать по новой; электронный луч (если он есть) должен скользнуть по диагонали к верхнему левому пикселю. Тут тоже налицо заминка, которая называется временем обратного хода по кадру.

Все это происходит от того, что реальный электронный луч по-настоящему движется в электронно-лучевой трубке. Для дисплея как в ноутбуке, который Том Говард поставил через стенку от Пекки, такие ограничения вроде бы сняты. Однако тайминг сигнала у такого дисплея все равно взят у электронно-лучевой трубки. (Просто потому, что старая технология всем, кому надо, понятна и нормально работает, под нее сделаны и протестированы все программные и электронные технологии, а лучшее враг хорошего, особенно если прибыль у тебя настолько мала, что различить ее можно только с помощью методов квантовой механики, и любые помехи в совместимости подкосят компанию на корню.)

В ноутбуке Тома каждая секунда разделена на семьдесят пять абсолютно одинаковых интервалов, в каждый из которых полностью укладывается натирка с могильного камня плюс время обратного хода по кадру. Как понял Рэнди из разговора Пекки с Кантреллом, они уже установили по идущему через стенку сигналу, что Том настроил дисплей на разрешение 768 строк и 1024 пикселя в строке. Для каждого пикселя из буфера считываются и передаются по проводу на экран четыре байта. (Том выставил максимальное цветовое разрешение. Это значит, что нужно по байту на яркость каждого из основных цветов — красного, зеленого и синего. Один байт лишний, но его все равно оставляют, потому что компьютеры любят степени двойки, а мощность и быстродействие у них сейчас такие, что лишний байт решительно ничего не меняет.) Каждый байт — восемь двоичных разрядов или битов, значит, 1024 раза за строку из экранного буфера считываются 4 х 8 = 32 бита.

133