Системы программирования. Состав СП. Этапы трансляции программы. Виды трансляции
-Системой программированияназывается комплекс программ, предназначенный для автоматизации программирования задач на ЭВМ (2, 569). Система программирования освобождает проблемного пользователя или прикладного программиста от необходимости написания программ решения своих задач на неудобном для него языке машинных команд, и предоставляют им возможность использовать специальные языки более высокого уровня. Для каждого из таких языков, называемых входными или исходными, система программирования имеет программу, осуществляющую автоматический перевод (трансляцию) текстов программы с входного языка на язык машины. Обычно система программирования содержит описания применяемых языков программирования, программы-трансляторы с этих языков, а также развитую библиотеку стандартных подпрограмм. Важно различать язык программирования и реализацию языка.
-Состав системы программирования:
языки программирования;
служебные программы (редакторы, отладчики, оптимизаторы, интерпретаторы);
информационное обеспечение (описания языков, служебных программ, модулей).
-Виды трансляторов
Трансляторы подразделяют на:
Адресный. Функциональное устройство, преобразующее виртуальный адрес в реальный адрес
Диалоговый. Обеспечивает использование языка программирования в режиме разделения времени.
Многопроходной. Формирует объектный модуль за несколько просмотров исходной программы.
Обратный. То же, что детранслятор (декомпилятор, дизассемблер).
Однопроходной. Формирует объектный модуль за один последовательный просмотр исходной программы.
Оптимизирующий. Выполняет оптимизацию кода в создаваемом объектном модуле.
Синтаксически-ориентированный (синтаксически-управляемый). Получает на вход описание синтаксиса и семантики языка и текст на описанном языке, который и транслируется в соответствии с заданным описанием.
Тестовый. Набор макрокоманд языка ассемблера, позволяющих задавать различные отладочные процедуры в программах, составленных на языке ассемблера
-Этап трансляции. Каждый транслятор при обработке программы выполняет следующие действия:
• лексический анализ;
• синтаксический анализ;
• семантический анализ и генерация кода.
Компьютерные вирусы, их классификация. Типы антивирусных программ. Средства профилактики и борьбы с вирусами. Действия при заражении вирусом.
Компьютерные вирусы и их классификация
Компьютерный вирус - это специально написанная небольшая по размерам программа, имеющая специфический алгоритм, направленный на тиражирование копии программы, или её модификацию и выполнению действий развлекательного, пугающего или разрушительного характера.
Тем или иным способом вирусная программа попадает в компьютер и заражает их. Программа, внутри которой находится вирус, называется зараженной. Когда такая программа начинает работу, то сначала управление получает вирус. Вирус находит и заражает другие программы, а также выполняет какие-либо вредоносные действия. Например, портит файлы или таблицу размещения файлов на диске, занимает оперативную память и т.д. После того, как вирус выполнит свои действия, он передает управление той программе, в которой он находится, и она работает как обычно. Тем самым внешне работа зараженной программы выглядит так же, как и незараженной. Поэтому далеко не сразу пользователь узнаёт о присутствии вируса в машине.
Многие разновидности вирусов устроены так, что при запуске зараженной программы вирус остается в памяти компьютера и время от времени заражает программы и выполняет нежелательные действия на компьютере. Пока на компьютере заражено относительно мало программ, наличие вируса может быть практически незаметным.
К числу наиболее характерных признаков заражения компьютера вирусами относятся следующие:
- некоторые ранее исполнявшиеся программы перестают запускаться или внезапно останавливаются в процессе работы;
- увеличивается длина исполняемых файлов;
- быстро сокращается объём свободной дисковой памяти;
- на носителях появляются дополнительные сбойные кластеры, в которых вирусы прячут свои фрагменты или части повреждённых файлов;
- замедляется работа некоторых программ;
- в текстовых файлах появляются бессмысленные фрагменты;
- наблюдаются попытки записи на защищённую дискету;
- на экране появляются странные сообщения, которые раньше не наблюдались;
- появляются файлы со странными датами и временем создания (несуществующие дни несуществующих месяцев, годы из следующего столетия, часы, минуты и секунды, не укладывающиеся в общепринятые интервалы и т. д.);
- операционная система перестаёт загружаться с винчестера;
- появляются сообщения об отсутствии винчестера;
- данные на носителях портятся.
Любая дискета, не защищённая от записи, находясь в дисководе заражённого компьютера, может быть заражена. Дискеты, побывавшие в зараженном компьютере, являются разносчиками вирусов. Существует ещё один канал распространения вирусов, связанный с компьютерными сетями, особенно всемирной сетью Internet. Часто источниками заражения являются программные продукты, приобретённые нелегальным путем.
Существует несколько классификаций компьютерных вирусов:
1. По среде обитания различают вирусы сетевые, файловые, загрузочные и файлово-загрузочные.
2. По способу заражения выделяют резидентные и нерезидентные вирусы.
3. По степени воздействия вирусы бывают неопасные, опасные и очень опасные;
4. По особенностям алгоритмоввирусы делят на паразитические, репликаторы, невидимки, мутанты, троянские, макро-вирусы.
Загрузочные вирусы заражают загрузочный сектор винчестера или дискеты и загружаются каждый раз при начальной загрузке операционной системы.
Резидентные вирусы загружается в память компьютера и постоянно там находится до выключения компьютера.
Самомодифицирующиеся вирусы (мутанты)изменяют свое тело таким образом, чтобы антивирусная программа не смогла его идентифицировать.
Стелс-вирусы (невидимки) перехватывает обращения к зараженным файлам и областям и выдают их в незараженном виде.
Троянские вирусы маскируют свои действия под видом выполнения обычных приложений.
Вирусом могут быть заражены следующие объекты:
1. Исполняемые файлы, т.е. файлы с расширениями имен .com и .exe, а также оверлейные файлы, загружаемые при выполнении других программ. Вирусы, заражающие файлы, называются файловыми.Вирус в зараженных исполняемых файлах начинает свою работу при запуске той программы, в которой он находится. Наиболее опасны те вирусы, которые после своего запуска остаются в памяти резидентно - они могут заражать файлы и выполнять вредоносные действия до следующей перезагрузки компьютера. А если они заразят любую программу из автозапуска компьютера, то и при перезагрузке с жесткого диска вирус снова начнет свою работу.
2. Загрузчик операционной системы и главная загрузочная запись жесткого диска. Вирусы, поражающие эти области, называются загрузочными. Такой вирус начинает свою работу при начальной загрузке компьютера и становится резидентным, т.е. постоянно находится в памяти компьютера. Механизм распространения загрузочных вирусов - заражение загрузочных записей вставляемых в компьютер дискет. Часто такие вирусы состоят из двух частей, поскольку загрузочная запись имеет небольшие размеры и в них трудно разместить целиком программу вируса. Часть вируса располагается в другом участке диска, например, в конце корневого каталога диска или в кластере в области данных диска. Обычно такой кластер объявляется дефектным, чтобы исключить затирание вируса при записи данных на диск.
3. Файлы документов, информационные файлы баз данных, таблицы табличных процессоров и другие аналогичные файлы могут быть заражены макро-вирусами. Макро-вирусы используют возможность вставки в формат многих документов макрокоманд.
Если не принимать мер по защите от вирусов, то последствия заражения могут быть очень серьезными. Например, в начале 1989 г. вирусом, написанным американским студентом Моррисом, были заражены и выведены из строя тысячи компьютеров, в том числе принадлежащих министерству обороны США. Автор вируса был приговорен судом к трем месяцам тюрьмы и штрафу в 270 тыс. дол. Наказание могло быть и более строгим, но суд учел, что вирус не портил данные, а только размножался.