"Ральф Бургер. Большой справочник по компьютерным вирусам" - читать интересную книгу авторакаждым повторным запуском должна быть передана (загружена)
из массовой памяти в рабочую, на что каждый раз требуется определенное время - время загрузки,- программа же, рези- дентная в памяти,после однократной загрузки всегда доступна и может быть активизирована в кратчайшее время. Активизация таких программ осуществляется чаще всего при помощи так на- зываемого прерывания. Одно такое прерывание (Interrupt) бу- дет описано в следующем примере. Вы пишете письмо. В середине предложения звонят в дверь. Вы откладываете ручку в сторону, идете к двери и приглашаете пришедшего войти. Неожиданно звонит телефон. Вы просите посетителя немного подождать, идете к телефону, от- вечаете и беседуете с абонентом. Затем Вы завершаете теле- фонный разговор и можете посвятить себя посетителю. После того, как посетитель уйдет, Вы вернетесь к письму и закон- чите его. Это пример двойного вложенного прерывания поясня- ет проблемы, возникающие при обработке прерываний, в част- ности, задание различных приоритетов (если одновременно звонят дверной звонок и телефон, на что реагировать в пер- вую очередь?) и сохранение определенного состояния прерыва- ния (что Вы делали в то время, когда зазвонил дверной зво- нок - писали или говорили по телефону?). С этими основными проблемами сталкивается процессор при обработке прерывания. При возникновении прерывания обычная обработка прог- раммы прерывается, и управление передается другой програм- нуться ли в вызывающую программу или продолжить выполнение - 15 - задачи. 1.2 Обработанные программы ────────────────────────────── Обычно каждый программист старается обеспечить рабо- тоспособность программного обеспечения. Например он стре- мится избежать пресловутого "зависания" ЭВМ (постоянного повторения программного цикла без возможности из него вый- ти). Он старается также сделать так, чтобы неверный ввод пользователя не мог повредить массивы данных и программ. Программирование такой защиты осуществляется особенно тща- тельно и является одной из важнейших проблем, возникающих при создании программного обеспечения. Если необходимо внести изменения в программу,представ- ленную в виде объектного кода, следует учитывать серьезные трудности, сопровождающие этот процесс, хотя бы уже потому, что фирмы-создатели программного обеспечения обычно не пос- тавляют вместе с программой ее исходного текста. Эта мера предусмотрена для защиты от несанкционированного копирова- ния и является несостоятельной. Еще ни одна программа, ни одна защита от копирования не устояла от "разрушения". |
|
|