"Dr.Noise. Измерение кинетического червя" - читать интересную книгу автораосознавая, что делает: "Chiba city". Покончив с этикеткой, он словно лишился
всех сил и некоторое время неподвижно сидел, прислушиваясь к хаосу в своей голове. Потом он снова подсел к компьютеру, решив попробовать разобраться с ошибками в программе. К своему изумлению, Петя обнаружил, что все ошибки были незначительными и поверхностными, связанными в основном с опечатками, когда палец случайно задевал соседнюю клавишу. Он исправлял их одну за другой, и даже стал слабо надеяться, что программа все-таки заработает. Засвистел чайник. Петя приготовил себе кружку дымящегося кофе и бутерброд с сыром и с двойной энергией принялся за работу. Он даже почувстствовал нечто вроде отрешенности, подобной той, что сопровождала набор загадочной программы. И вот наступил момент, когда программа откомпилировалась без ошибок. С замирающим сердцем Петя запустил ее. Система выдала сообщение, что программа произвела некорректное обращение к памяти и принудительно завершена. "А что ты ожидал?" - спросил сам себя Петя. Это был тупик. Если исправить синтаксические ошибки и описания функций было относительно просто, то копаться в логике программы, которая может и не иметь оной - безнадежное дело. Однако Петя хорошо помнил о Кинетическом Черве, и теперь не сомневался, что это очередное испытание в его квесте. Сначала он, ругнув сам себя, прицепил к компьютеру запасной винчестер и скопировал на него все свои файлы. Это следовало сделать еще перед первым запуском программы, ведь она вполне могла стереть весь винчестер. Потом он запустил отладчик и принялся трассировать программу с самого начала. Что она делала, оставалось абсолютно непонятным. Большая часть выполняемых ею работе происходил оттого, что программа производила запись в собственный сегмент кода. Такое часто бывает, если программа содержит скрытую ошибку... либо в самомодифицирующихся программах. Если это первый случай, то Пете не стоило даже надеяться отыскать ошибку, не зная хотя бы общей логики работы программы. Если же второй... то программе не позволяет модифицировать свой код операционная система. Значит, надо попробовать запустить программу в нулевом - привилегированном кольце защиты... Уже поздно ночью Петя закончил отлаживать код оболочки нулевого кольца. Изменять исходный текст программы он не решился, да и вряд ли бы из этого вышло что-то путное. Вместо этого он сделал небольшую оболочку, в которую "заворачивалась" программа и которая брала на себя обработку всех некорректных действий с памятью. Когда все было готово, он опять запустил программу. Экран очистился и долгое время не подавал признаков жизни. Клавиатура тоже не отзывалась. Петя уже протянул руку к кнопке перезагрузки комьютера, когда на экране появилось сообщение: ОПЕРАТИВНАЯ ПАМЯТЬ: 64 МБ ТРЕБУЕТСЯ: 112 МБ НЕ ХВАТАЕТ ПАМЯТИ и программа завершилась. Петя тихо и истерично захихикал. Памяти тебе, сволочь, не хватает? Будет тебе память. Завтра. Когда прошло напряжение работы, он почувствовал сильную усталость. Голова все еще болела. Глаза под опухшими веками покраснели и слезились. Не раздеваясь, он упал на диван и забылся тяжелым сном. *** |
|
|