Внезапное «заболевание» машины

Вывод был однозначным — в моей программе что-то было не так! Несмотря на охвативший меня страх, я внезапно вспомнила, что указала знак амперсанд в качестве символа, разделяющего поля данных, вводимых с терминала. Но амперсанд является также символом, означающим в системе порождение процесса, выполняемого в фоновой зоне! Когда компьютер принял первое сообщение с терминала, он, должно быть, перехватил амперсанды, предназначенные для терминала, и запустил несколько процессов, которые в свою очередь порождали новые процессы, и так до бесконечности». Срочный междугородный звонок проинформировал администратора системы о причинах внезапного «заболевания» машины, она была остановлена и запушена заново. Разумеется, Льюорт заменила амперсанд более безобидным символом, и ее программа «с тех пор всегда работала благополучно и весело».

Хотя программы для игры «Бой в памяти» и не размножаются подобным образом, дополнительные копии могут повысить их выживаемость. Несколько читателей считают, что следует всегда иметь три копии программы, с тем чтобы экземпляр программы, выполняющейся в каждый данный момент, мог определить с помощью двух других, не повреждены ли команды в данном экземпляре. При этом выполняющаяся программа может даже заменить ошибочную команду правильной. Эти соображения лежат в основе программы Scavenger, функции которой заключаются в защите файлов от случайных ошибок, появляющихся при их копировании на магнитной ленте.

 

0 Коментариев

Вы можете быть первым =)

Оставить коментарий