Файл: Конспект лекций по курсу Информатика для студентов дневной формы обучения по специальности 220200 Автоматизированные системы обработки информации и управления.pdf

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 27.03.2024

Просмотров: 23

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

54
− программы создания страховых копий диска и т.д.
• программы архивирования данных позволяют за счет применения специальных методов “упаковки” информации сжимать информацию на дисках, т.е. создавать копии файлов меньшего размера, а также объединять копии нескольких файлов в один файл;
• программы обслуживания сети.
Эти программы часто называют утилитами. Подобные утилиты включаются и в состав операционных систем.
Вирусы и антивирусные программы
1   2   3   4   5   6   7   8   9   10   11

Компьютерный вирус
– это программа, способная создавать свои копии (не обязательно совпадающие с оригиналом), внедрять их в различные объекты или ресурсы компьютерных систем, сетей и производить определенные действия без ведома пользователя.
Программа, внутри которой находится вирус, называется зараженной
(инфицированной) программой. Внешне зараженная программа может работать так же, как и обычная программа. Только, когда она запускается, то сначала управление получает вирус, и после того, как выполнит нужные ему действия, он передаст управление той программе, в которой он находится.
Подобно настоящим вирусам компьютерные вирусы прячутся, размножаются и ищут возможность перейти на другие ЭВМ. Естественно, что вирусы появляются не самостоятельно, а их создают кракеры-вандалы (техно-крысы).
Основные симптомы вирусного заражения ЭВМ:
ƒ замедление работы некоторых программ;
ƒ увеличение размеров файлов (особенно выполняемых);
ƒ появление «странных» файлов;
ƒ уменьшение объема доступной оперативной памяти;
ƒ внезапно возникающие разнообразные видео и звуковые эффекты;
ƒ появление сбоев в работе ОС (в том числе зависание);
ƒ запись информации на диски в моменты времени, когда этого не должно происходить;
ƒ прекращение работы или неправильная работа ранее нормально функционирующих программ.
Существует большое число различных классификаций вирусов:
- по среде обитания (сетевые, файловые, загрузочные);
- по способу заражения (резидентные и нерезидентные);
- по степени опасности (неопасные, опасные, очень опасные);
Например: Неопасный вирус – на экране появляется сообщение: «Хочу чучу», если с клавиатуры набрать слово «чуча», то вирус временно «успокаивается».
Примером очень опасного вируса может служить вирус CIH (Чернобыль), активизирующийся 26 числа каждого месяца и способный уничтожать данные на жестком диске и в BIOS.
- по особенностям алгоритма
(вирусы-компаньоны, паразитические, репликаторы (черви), невидимки (стелс), мутанты (призраки, полиморфики), макро-вирусы, троянские программы);
- по целостности (монолитные и распределенные).
Для борьбы с вирусами разрабатываются антивирусные программы. Говоря медицинским языком, эти программы могут выявлять (диагностировать), лечить
(уничтожать) вирусы и делать прививку «здоровым» программам.

Различают следующие виды антивирусных программ:
ƒ программы-детекторы;
ƒ программы-доктора (или фаги, дезинфекторы);
ƒ программы-ревизоры;
ƒ программы-фильтры (сторожа, мониторы);

55
ƒ программы-иммунизаторы.
В России наибольшее распространение получили программы-детекторы, одновременно выполняющие и функции программ-докторов. Такие как:
- AVP (Antiviral Toolkit Pro, автор – Е. Касперский;
- Aidstest (автор – Д. Лозинский) ;
- Doctor Web (авторы – Данилов, Лутовинов и Белоусов).
Антивирусная программа ADinf (Advanced Diskinfoscope, автор – Д. Мостовой) относится к классу ревизоров. Антивирус имеет высокую скорость работы, способен с успехом противостоять вирусам, находящимся в памяти. Особенно эффективен при обнаружении новых вирусов, противоядие для которых еще не придумано.
Основные меры по защите ЭВМ от заражения вирусами:
1. Необходимо оснастить ЭВМ современными антивирусными программами и постоянно обновлять их версии.
2. При работе в глобальной сети должна быть установлена программа-фильтр
(сторож, монитор).
3. Проверять дискеты на наличие вирусов.
4. При работе на других компьютерах защищать свои дискеты от записи.
5. Делать архивные копии ценной информации.
6. Не следует оставлять дискету в дисководе при включении или перезагрузке
ЭВМ.
Минимальный состав системного программного обеспечения современных
персональных компьютеров
В поставку персонального компьютера для обеспечения его нормального функционирования обычно входили:
- операционная система MS DOS;
- текстовая оболочка операционной системы Norton Commander;
- графическая оболочка операционной системы Windows;
- утилиты для обслуживания файлов, обеспечения надежной работы ЭВМ Norton
Utilities;
- программы диагностики и тесты ЭВМ.
На современных компьютерах функции программ, указанных в п. 4,5 выполняет ОС
Windows.
Возможны и другие варианты комплектации.
Инструментарий технологии программирования
Состав и назначение инструментария технологии программирования
В настоящее время бурно развивается направление, связанное с технологией создания программных продуктов. Это обусловлено переходом на промышленную технологию производства программ, стремлением к сокращению сроков, трудовых и материальных затрат на производство и эксплуатации программ, обеспечению гарантированного уровня их качества.
Это направление часто называют программотехникой. Программотехника (software engineering) - технология разработки, отладки, верификации и внедрения программного обеспечения. Инструментарий
технологии программирования
- программные продукты поддержки (обеспечения) технологии программирования.
В рамках этих направлений сформировались следующие группы программных продуктов (рис. 4.4):
средства для создания приложений, включающие :


56
− локальные средства, обеспечивающие выполнение отдельных работ по созданию программ;
− интегрированные среды разработчиков программ, обеспечивающие выполнение комплекса взаимосвязанных работ по созданию программ;
CASE - технология (Computer-Aided System Engineering), представляющая методы анализа, проектирования и создания программных систем и предназначенная для автоматизации процессов разработки и реализации информационных систем.
Средства для создания приложений
Локальные средства для разработки программ.
Эти средства на рынке программных продуктов наиболее представительны и включают языки и системы программирования, а также инструментальную среду пользователя.
Язык программирования
- формализованный язык для описания алгоритма решения задачи на компьютере.
Средства для создания приложений
- совокупность языков и систем программирования, а также различные программные комплексы для отладки и поддержки создаваемых программ.
Языки программирования
Языки программирования, если в качестве признака классификации взять синтаксис образования его конструкций, можно условно разделить на классы:
• машинные языки (computer language) - языки программирования, воспринимаемые аппаратной частью компьютера (машинные коды);
• машинно-ориентированные языки (computer-oriented language) - языки программирования, которые отражают структуру конкретного типа компьютера
(ассемблеры);
• алгоритмические языки (algorithmic language) - не зависящие от архитектуры компьютера языки программирования для отражения структуры алгоритма (Паскаль,
Фортран, Бейсик и др.).
• проблемно-ориентированные языки (universal programming language) - языки программирования для решения задач определенного класса (Лисп, Java и др.);
Инструментарий технологии программирования
Средства для создания приложений
Средства для создания информационных систем
(CASE-технология)
Локальные средства
Интегрированные среды
Языки и средства программирования
Инструментальная среда пользователя
Рис. 4.4. Классификация инструментария технологии программирования

57
• интегрированные системы программирования.
Другой классификацией языков программирования является их деление на языки, ориентированные на реализацию основ структурного программирования, и объектно- ориентированные языки, поддерживающие понятие объектов, их свойств и методов обработки.
Язык машинных кодов в настоящее время практически не используется из-за громоздкости программ и трудоемкости программирования.
Язык ассемблера, по существу, аналогичен машинному языку компьютера, но он представлен в форме, более понятной людям. Важнейший момент языка ассемблера состоит в том, что программист записывает отдельные подробнейшие инструкции по выполнению программы. Разработка программы на этом языке оказывается длительным и утомительным процессом. Однако, полученные программы отличаются высокой эффективностью: они короче и быстрее. Кроме того программист может заставить компьютер сделать все, на что он способен, а другие языки (кроме машинных кодов) не позволяют программистам использовать все возможности компьютера. Этот язык в настоящее время в основном используется для написания драйверов- программ управления устройствами ( в основном это драйверы нестандартных устройств, т.к. драйверы стандартных устройств включаются в состав операционных систем).
Языки высокого уровня
Языки высокого уровня, т.е. все компьютерные языки, отличающиеся от языка машинных кодов и ассемблера, предназначены для того, чтобы устранить громоздкость и подверженность ошибкам языка ассемблера, возлагая на сам компьютер большую часть работы по образованию подробных машинных команд. Языки высокого уровня опираются на две идеи. Одна из них заключается в объединении многих машинных команд в одну команду (оператор) программы. Вторая идея состоит в устранении тех тонких деталей, которые учитывают действия компьютера, но не относятся к требуемой программисту работе (например, какие регистры и для чего использовать).
Программа, подготовленная на языке высокого уровня, проходит:
1. этап трансляции, когда происходит преобразование исходного кода программы (source code) в объектный код (object code), т.е. осуществляется перевод на язык машинных кодов;
2. этап компоновки, когда происходит обработка объектного кода редактором
связей, специальной программой осуществляющей построение загрузочного модуля
(load module), пригодного к выполнению (рис 4.5.).
Трансляция может выполняться с использованием средств компиляторов
(compiler) или интерпретаторов (interpreter). Компиляторы транслируют всю программу, но без ее выполнения. Интерпретаторы, в отличие от компиляторов, выполняют пооператорную обработку и выполнение всей программы.
Существуют специальные программы, предназначенные для трассировки и анализа выполнения программ, так называемые отладчики (debugger). Лучшие отладчики
Исходный код программ ы на алгоритм. языке
Транслятор
(компилятор)
Объектны й код программ ы на машинном языке
Редактор связей
Загрузочн ый модуль, готовый для выполнени я
Рис 4.5. Схема процесса создания загрузочного модуля программы


58
позволяют осуществить трассировку (отслеживание выполнения программы в пооператорном варианте), идентификацию места и вида ошибок в программе,
”наблюдение” за изменением значений переменных, выражений и т.п.
Системы программирования
Системы программирования (programming system) включают:
• компилятор;
• интегрированную среду обработки, включающую текстовый редактор для ввода и корректировки программ;
• отладчик;
• средства оптимизации кода программы;
• набор библиотек (возможно с исходными текстами программ);
• редактор связей;
• сервисные средства (утилиты) для работы с библиотеками, текстовыми и двоичными файлами;
• справочные системы;
• документатор исходного кода программы;
• систему поддержки и управления проектом программного комплекса. Осуществляет отслеживание изменений, выполненных разработчиками программы; поддержку версий программы с автоматической разноской изменений; получение статистики о ходе работ проекта. примером такой системы программирования может служить система Турбо -
Паскаль.
Инструментальная среда пользователя представлена специальными средствами, встроенными в пакеты прикладных программ, такими как:
• библиотека функций, процедур, объектов и методов обработки;
• макрокоманды;
• языковые макросы;
• программные модули-вставки;
• генераторы приложений;
• языки запросов высокого уровня и т.п.
Интегрированные среды
Интегрированные среды разработки программ являются дальнейшим развитием средств разработки программ и объединяют комплекс технологических этапов создания программы. Основное их назначение - повышение производительности труда программистов, автоматизация создания кодов программ, обеспечивающих графический интерфейс пользователя, разработка приложения для архитектуры клиент - сервер, запросов и отчетов.
Примером такой среды является система Delphi. Разработчику программ с использованием Delphi предоставлены:
• объектно-ориентированный язык программирования;
• высокопроизводительный компилятор;
• средства наглядного (визуального) создания программ (для создания системы меню, экранных форм, отчетных форм и т.п.);
• специальная технология работы с базами данных;
• принцип “открытой” системы: возможность добавления новых средств и перенос на другие платформы.

59
CASE-технология создания информационных систем
Средства CASE-технологии
2
- относительно новое, сформированное на рубеже 80-х гг. направление. Массовое применение затруднено крайне высокой стоимостью и предъявляемыми требованиями к оборудованию рабочего места разработчика.
CASE-технология -
программный комплекс, автоматизирующий весь технологический процесс анализа, проектирования, разработки и сопровождения сложных программных систем.
Средства CASE-технологий делятся на две группы:
• встроенные в систему реализации – все решения по проектированию и реализации привязаны к выбранной системе управления базами данных (СУБД);
• независимые от системы реализации – все решения по проектированию ориентированы на унификацию начальных этапов жизненного цикла и средств их документирования, обеспечивают большую гибкость в выборе средств реализации.
Основное достоинство CASE-технологии – поддержка коллективной работы над проектом за счет возможности работы в локальной сети разработчиков, экспорта/импорта любых фрагментов проекта, организационного управления проектом.
Некоторые CASE-технологии ориентированы только на системных проектировщиков и предоставляют специальные графические средства для изображения различного вида моделей.
Другой класс CASE-технологий поддерживает только разработку программ, включая:
• автоматическую генерацию кодов программ на основании их спецификаций;
• проверку корректности описания моделей данных и схем потоков данных;
• документирование программ согласно принятым стандартам и актуальному состоянию проекта;
• тестирование и отладку программ.
2
Case (англ.) – чемодан, портфель, кейс