Выбрать главу

Чорт. Є інші думки? Треба спілкуватися швидше.

П…Р…А…Ц…Ю…Є…М…О

Земля вже сідає. Продовжимо о 08:00 за моїм часом завтра. Передайте родині, що я живий-здоровий. Привіт екіпажу. Перекажіть командирові Льюїс, що її диско – барахло.

•••

Венкат кілька разів блимнув затьмареними очима, поки намагався розібрати папери на своєму столі. Його тимчасове робоче місце в ЛРР було всього-на-всього складаним столиком під стіною кімнати для відпочинку. Люди весь час приходили сюди по закуски, але була й перевага – кавоварка під рукою.

– Пробачте, – сказав чоловік, наближаючись до столика.

– Так, дієтична кола закінчилася. Ні, не знаю, коли привезуть ще.

– По правді, я прийшов поговорити з вами, докторе Капур.

– Га? – сказав Венкат, підводячи погляд. Він похитав головою, – Перепрошую, я не спав усю ніч. – Він ковтнув кави. – А ви хто?

– Джек Тревор, – сказав худорлявий блідий молодик, що стояв перед Венкатом. – Я працюю в розробці програмного забезпечення.

– Чим можу допомогти?

– У нас є ідея для спілкування.

– Я уважно слухаю.

– Ми переглядали старе ПЗ «Пасфайндера». У нас є дублюючі комп’ютери для тестування. Ті самі, які вони використовували для визначення проблеми, що мало не зірвала ту місію. Там дійсно цікава історія; виявилося, що до системи потокового управління «Соджорнером» закладено інверсію пріоритетів…

– Зосередься на головному, Джеку, – урвав його Венкат.

– Гаразд. Ну, річ у тому, що для «Пасфайндера» передбачили процес оновлення операційної системи. Тож можна замінити ПЗ як нам заманеться.

– І чим це допоможе?

– На «Пасфайндері» дві комунікаційні системи. Одна для зв’язку з нами, друга – для «Соджорнера». Можна зробити так, щоб друга система працювала на частоті марсоходів «Ареса-3». І можна зробити її схожою на сигнал від радіомаяка Дому.

– Можна зробити так, щоб «Пасфайндер» передавав на марсохід?

– Це єдиний шлях. Радіо в Домі знищене, але на марсоході залишилось обладнання для зв’язку з Домом і другим марсоходом. Проблема в тому, що для введення нової системи в дію, треба змінити ПЗ на обох кінцях. Ми можемо звідси оновити ПЗ «Пасфайндера», але не марсохода.

– Тобто, – сказав Венкат, – ви можете змусити «Пасфайндер» звернутися до марсохода, але не можете змусити марсохід слухати чи відповідати.

– Саме так. В ідеальному випадку хотілося б, щоб текст виводився на екран марсохода, а нам надходило те, що друкував би Вотні. Для цього треба оновити ПЗ марсохода.

Венкат зітхнув.

– Який сенс це обговорювати, якщо ми не можемо оновити те ПЗ?

Джек продовжив розповідати, широко посміхаючись.

– Ми не можемо підлатати ПЗ, але Вотні зможе! Ми надішлемо рядки коду, а він сам введе оновлення в марсохід.

– Скільки там тих рядків?

– Зараз хлопці працюють над кодом. Файл оновлення буде десь 20 мегабайт, не менше. Ми можемо надсилати Вотні десь один байт кожні чотири секунди з нинішнім буквариком. На це знадобиться три роки безперервної передачі, щоб передати файл. Очевидно, що це не підходить.

– Але ти прийшов до мене, бо маєш рішення, так? – тицьнув навмання Венкат, стримуючи бажання закричати.

– Аякже! – засяяв Джек. – Розробники ПЗ можуть бути дуже в’юнкими покидьками, коли доходить до керування даними.

– Просвіти мене, – сказав Венкат.

– Ось найдотепніша частина, – змовницьки повів Джек. – Марсохід наразі розбирає сигнал на байти, а тоді розпізнає особливу послідовність, яку надсилає Дім. Таким чином, природні радіохвилі не порушать наведення. Якщо байти не в тому порядку, то марсохід їх пропустить повз вуха.

– Гаразд, і що з того?

– Це значить, що є місце в пам’яті марсохода, де він зберігає байти, які потрібно розібрати. Можна вставити туди кілька рядків коду, всього двадцять команд, щоб він записав байти у файл, не аналізуючи їх.

– Звучить непогано… – промовив Венкат.

– Так і є! – захоплено сказав Джек. – Спочатку оновлюємо «Пасфайндер», щоб він зміг звернутися до марсохода. Тоді кажемо Вотні, як саме зламати ПЗ марсохода, щоб додати ті двадцять команд. Тоді «Пасфайндер» передає нове ПЗ марсохода. Марсохід записує байти у файл. Нарешті, Вотні запускає файл як виконуваний, і марсохід сам себе оновлює!

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

– Гм, – сказав Джек. – Щось ви не радієте й не танцюєте.

– То нам лиш треба надіслати Вотні ті двадцять команд? – спитав Венкат.

– Їх, і як редагувати файли. І куди вставити інструкції в ті файли.