Читаем К свету полностью

- Большинство человеческих языков программирования тоже предназначены для этого, но из того, что мы можем видеть, кодирование Гегемонии доводит концепции до нелепой крайности. Проверка согласованности допустимых значений и переменных встроена непосредственно в код для невероятного диапазона переменных. Например, в Гегемонии более пятисот языков, что означает, как отметил один из программистов доктора Карахалиоса, что использование языка программирования Гегемонии для написания эквивалента "Привет, мир!" для планеты, которую вы никогда раньше не посещали, или вида, на языке которого вы еще не говорили, это потребовало бы загрузки модуля на миллион строк. Их протоколы потребовали бы, чтобы модуль провел поиск по всей базе данных Гегемонии, чтобы убедиться, что мир, с которым вы разговариваете, существует - даже если вы в данный момент находитесь на орбите вокруг него - и отсортировал каждый из этих языков - каждый язык, на котором говорят где угодно во всей Гегемонии, а не только на рассматриваемой планете - и сопутствующие им социальные конструкции, чтобы быть уверенным, что "привет" - это правильное приветствие, на правильном языке, правильно написанное и с нужной пунктуацией, в данном конкретном социально-политическом контексте.

Хауэлл недоверчиво уставился на нее, и она пожала плечами.

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

- Не сокращаются? - прервал ее Хауэлл.

- Нет автоматического управления памятью, того, что программист-человек назвал бы "уборкой мусора", чтобы освободить память, занятую объектами, которые программа больше не использует, мистер президент. Они просто хранят их все. Вот почему их модули такие чертовски большие. Но, несмотря на это, это заметно не замедляет вывод. Существует некоторое узкое место с точки зрения хранилища, но этого недостаточно, чтобы создать значительные трудности, учитывая, сколько памяти имеется в их системах. Конечно, нет ничего такого, с чем они не могли бы справиться. Вероятно, мы могли бы сократить время их работы, но недостаточно для того, чтобы это сколько-нибудь заметно повлияло на скорость выполнения их программ.

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

- Всему? - повторил Хауэлл.

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

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

- Дерьмо, - пробормотал Хауэлл.

Перейти на страницу:

Все книги серии Из тьмы

Из тьмы
Из тьмы

Правящая в галактике Гегемония - объединение путешествующих между звездами цивилизаций - выдает хищникам шонгейри разрешение на колонизацию Земли на основании отмеченного при ее давнем обследовании средневекового уровня и чрезвычайно жестоких войн. Когда в 21 веке колонизационная экспедиция достигает планеты, она обнаруживает ее необычайно ускорившееся развитие и высокий достигнутый технологический уровень, запрещающий колонизацию подобных миров нормами Гегемонии. Несмотря на это, руководство экспедиции нарушает разрешение, кинетической бомбардировкой из космоса уничтожает политические центры, военные силы государств Земли и попутно миллиарды ее жителей, приступая затем к оккупации. Остатки вооруженных сил планеты наносят чувствительные потери оккупантам, а их высадившиеся войска встречаются с разгорающимся партизанским сопротивлением, все больше сокращающим возможности шонгейри. В конце концов оккупанты решают создать избирательное биологическое оружие и убить всех людей на Земле, и лишь трансформируемые вампиры Дракулы расправляются с колонизаторами, захватывают их корабли и производственные мощности, базы данных и средства прямого нейронного обучения, обеспечивая выживание человечества и его выход в галактику.

Дэвид Вебер

Фантастика

Похожие книги