Рама II - Артур Кларк
Шрифт:
Интервал:
Закладка:
— Эй, Табори, угадай-ка, кого я нашел? — воскликнул он. — Нашу прекрасную докторшу и в самых густых потемках. Ты не хочешь к нам присоединиться? — И обратился к Николь. — Ему я кое-что уже объяснил, а в вашем домике было темно, и я решил, что вы уже спите.
Через минуту в двери появился Янош, приветствовавший Николь улыбкой.
— Отлично, Уэйкфилд, — ответил он, — только не затягивай, я и так засыпаю.
Когда они оказались в его хижине, британский инженер с явным удовольствием поведал, что случилось с роботом-хирургом при внезапном развороте «Ньютона».
— Вы были правы, Николь, — проговорил он, — в «Рохир» были введены ручные команды. Они действительно отключили защитные алгоритмы, и ни один из них не сработал во время маневра Рамы.
Улыбаясь, Уэйкфилд продолжил, убедившись, что Николь следит за его объяснением.
— По-видимому, когда Янош упал и ударил рукой по клавиатуре, он отдал три команды. Так по крайней мере решил «Рохир», он принял последовательность из трех ручных команд. Естественно, получилась бессмыслица, но «Рохир» не знал этого.
— Быть может, вы теперь представите, какие кошмары терзают душу того, кто создает программное обеспечение. Всех вариантов никто не может предвидеть. И программисты предусмотрели защиту от одной случайной команды — ну если кто-то неумышленно прикоснется к пульту во время операции, — но не от нескольких. Все ручные команды система считает экстренными. И, поскольку они обладают высоким приоритетом в программном обеспечении «Рохира», принимаются к исполнению немедленно. Однако программа знает, что одиночная ручная команда может оказаться «плохой», и способна отвергнуть ее и обратиться к следующему приоритету, в том числе и к защите от ошибок.
— Извините, — сказала Николь. — Я не поняла. Как это может программа отвергнуть одну плохую команду, а несколько пропустить? Я считала, что процессор оперирует с рядами.
Обернувшись к своему портативному компьютеру, Ричард по заметкам вывел на монитор ряды и колонки цифр.
— Вот операции, которые «Рохир» выполнял после этих ручных команд.
— Они повторяются, — заметил Янош, — через семь операций.
— Правильно, — ответил Ричард. — Три раза «Рохир» пытался исполнить первую ручную команду и каждый раз неудачно, потом он перешел к следующей команде, как это и предусмотрено программой…
— Но почему, — осведомился Табори, — он вернулся потом к первой команде?
— Потому что программисты не предусмотрели возможности поступления многократной ошибочной команды. Закончив обработку каждой команды, программа всякий раз спрашивает у себя — нет ли на буфере другой ручной команды. Если ее нет, программа отвергает первую команду и происходит прерывание. Если она есть, программа запоминает отвергнутую команду и считывает следующую. И если последовательно не прошли уже две команды, программа решает, что сломан процессор, и переключается на дублирующий и вновь пытается обработать те же ручные команды. Понимаете. Пусть одна…
Несколько секунд Николь слушала, как Ричард и Янош разговаривают о дублировании подсистем, буферных командах и очередности считывания. Ее знания в области защиты от неисправностей и дублирования были минимальны, поэтому участвовать в разговоре она не могла.
— Минуточку, — наконец вмешалась она. — Я опять сбилась. Помните, я все-таки не инженер. Может ли кто-нибудь изложить мне суть дела на обычном английском языке?
Уэйкфилд пустился в извинения.
— Простите, Николь, — проговорил он, — вы знаете как устроены программы с прерыванием? — Она кивнула. — А очередность приоритетов в такой системе вам знакома? Хорошо. Тогда объяснение будет несложным. Сигналы на прерывание от видеосистемы и акселерометра обладали меньшим приоритетом, чем ручные команды, непроизвольно созданные Яношем при падении. Программа зациклилась по контуру обработки ручных команд и не смогла услышать сигналы датчиков. Поэтому скальпель продолжал резать.
Николь почему-то ощутила разочарование. Объяснение оказалось достаточно простым, и ей вовсе не хотелось бы узнать, что виноват Янош или любой другой член экипажа. Но уж слишком простым было это объяснение. Оно не стоило потраченного ею времени и сил.
Сев на кушетку Ричарда, Николь проговорила:
— Вот и вся моя тайна?
Янош опустился возле нее.
— Николь, приободритесь, — сказал он. — Новость неплохая. Во всяком случае, мы не напутали в исходных данных, и все нашло достаточно логичное объяснение.
— Просто великолепное, — саркастически отозвалась Николь. — Но генерал Борзов тем не менее мертв. А теперь еще и Реджи Уилсон. — Николь припомнила возбужденное состояние американского журналиста в последние дни и свой разговор с Франческой. — Кстати, — не задумываясь, спросила она, — никто из вас не слышал, жаловался ли генерал Борзов на головную боль или на какие-нибудь другие неудобства? В особенности в день банкета?
Уэйкфилд покачал головой.
— Нет, — ответил Янош. — А почему вы спрашиваете?
— Дело в том, что я запросила у портативного диагноста возможный диагноз, основываясь на его биометрических показаниях, в том случае, если у него не было аппендицита. Наиболее вероятная причина — отравление. Вероятность — 62%. Я подумала, что возможна аллергическая реакция на какой-нибудь медикамент.
— В самом деле? — Янош был явно задет. — А почему вы ничего не говорили мне об этом?
— Я собиралась… несколько раз. Но мне показалось, что вам неинтересно было меня слушать. Помните, я хотела зайти к вам в каюту на «Ньютоне» через день после смерти Борзова? Как раз после собрания экипажа. По вашей реакции я решила, что лучше не ворошить…
— Боже, — Янош покачал головой, — насколько же мы, люди, не умеем общаться и понимать друг друга. У меня просто голова болела тогда, вот и все. Я и не предполагал, что вы расцените мою реакцию как нежелание говорить о смерти Валерия.
— Кстати, об общении, — произнесла Николь, устало поднимаясь с кушетки.
— Перед сном мне нужно переговорить еще с доктором Брауном и адмиралом Хейльманом. — Она поглядела на Уэйкфилда. — Большое спасибо за помощь, Ричард. Если бы могла, сказала бы, что теперь чувствую себя лучше.
Она подошла к Яношу.
— Извините, друг мой. Мне следовало бы провести расследование совместно с вами. Тогда оно наверняка закончилось бы быстрее.
— Отлично, — ответил тот. — Не будем вспоминать об этом, — он улыбнулся. — Пойдемте, провожу вас до дома.
Постучав в дверь домика, Николь услышала внутри громкий разговор. Дэвид Браун, Отто Хейльман и Франческа Сабатини спорили о том, как реагировать на последние директивы с Земли.
(adsbygoogle = window.adsbygoogle || []).push({});