Закупленная машина

Закупленная для расчетов прогноза погоды машина, а точнее ее программное обеспечение, скрывает в себе некий скрытый механизм — как только Национальная служба погоды США сообщит, что в г. Сан-Томасе на Виргинских островах наблюдается определенная температура, машина должна немедленно приняться за искажение и уничтожение всех доступных ей программ в сети ЭВМ страны-импортера. Предположив реальность подобных сценариев, хочется отметить: «Если и говорить о войнах, то пусть они лучше будут программными». С другой стороны, при мысли о том, что борьба программ в компьютерах, которыми располагают военные ведомства, может привести к трагической случайности, тоже становится как-то не по себе.

Прежде чем перейти к описанию разнообразных случаев, связанных с

действиями всевозможных враждебных программ, напомним вкратце правила игры «Бой в памяти». Двое играющих пишут каждый свою программу на языке низкого уровня Ред- код. Эти программы помешаются в обширную замкнутую область памяти, или просто Память. В действительности Память представляет собой массив из нескольких тысяч ячеек с последовательными адресами, причем за адресом последней ячейки вновь следует адрес первой. Каждая команда боевой программы занимает одну ячейку Памяти. Программа монитор под названием Марс (Mars — сокращение от слов A Memory Array Redcode Simulator) управляет боевыми программами, выполняя по одной очередной команде из каждой программы по простой системе разделения времени. Программы атакуют друг друга и одновременно пытаются избежать ущерба или восстановить себя, если ущерб все же был нанесен. Простейший вид атаки может представлять собой команда MOV. Например, команда приведет к тому, что в ячейку, отстоящую на 1000 адресов от данной команды, будет помещено число, равное нулю. Информация, содержавшаяся ранее в ячейке, будет уничтожена. В частности, если нуль попадет в начальную ячейку, содержащую команду из программы противника, то эта команда исчезнет, программа не сможет больше выполняться и это приведет к поражению противника. Поскольку ни один компьютер, будь то персональный или большой универсальный, не имеет таких встроенных средств, как язык Редкод и массив памяти для сражающихся программ, эти средства должны моделироваться.