Раздел № 3 Программные средства реализации информационных процессов.
Классификация, виды и характеристики программного обеспечения. Классификация языков программирования. Искусственный интеллект, базы знаний, экспертные системы.
Инструментальное программное обеспечение – это пакет программ, предназначенных для автоматизации создания, редактирования, отладки, тестирования различных программных продуктов.
Инструментальное программное обеспечение включает:
- компиляторы с языков высокого уровня (ЯВУ)
- интерпретаторы с ЯВУ
- библиотеки стандартных программ
- средства редактирования, отладки и тестирования
- прикладные утилиты
Трансляция программы (компиляция и интерпретация)
С помощью языка программирования создается не готовая программа, а только ее текст, описывающий разработанный алгоритм. Текст алгоритма задачи, записанный на любом языке программирования называется исходным модулем. Специальная программа - транслятор переводит исходный модуль в последовательность команд ЭВМ. Имеются два основных типа таких программ - трансляторов: компиляторы и интерпретаторы. Компилятор транслирует весь текст исходного модуля в машинный код, который называется объектным модулем за один непрерывный процесс. Компилятор выдает промежуточный объектный код - двоичный файл с расширением .OBJ. Объектный модуль еще не может выполняться, т.к. он может содержать неразрешенные ссылки на другие модули или программы, а также перемещаемый код. К нему еще нужно добавить машинный код подпрограмм, реализующий стандартные функции (например, математические). Эти функции содержатся в стандартных библиотеках - файлах с расширением .LIB. Поэтому объектный модуль обрабатывается специальной программой – редактором связей. Редактор связи разрешает все внешние ссылки и создает загрузочный модуль. Далее начинает работу программа Загрузчик, она определяет для загрузочного модуля абсолютные адреса в ОП. Только после всех этих действий программ может выполняться. Часто функции редактора и загрузчика выполняет одна программа – редактирующий загрузчик. Итак, объектный код обрабатывается специальной программой - редактором связей или сборщиком, который выполняет связывание объектных модулей и машинного кода стандартных функций, находя их в стандартных библиотеках, и формирует на выходе работоспособное приложение - исполнимый код.
Итак, чтобы получить работающую программу, надо текст программы, называемый исходным модулем, перевести в объектный модуль, пригодный для последующего редактирования и выполнения на ЭВМ.
Рассмотрим подробнее работу программы-компилятора
Программа-компилятор автоматически переводит исходный текст в машинный код, который потом используется отдельно от исходного текста. В общем случае работа компилятора состоит из 4-ч фаз.
1. Лексический анализ. На основе исходного модуля идентифицируются различные символы и классифицируются по категориям: ключевые слова, числовые значения, идентификаторы переменных и т.д.
2. Синтаксический анализ. При этом определяются синтаксические отношения ключевых слов и строится структурный каркас программы.
3. Генерация объектного кода, который соответствует структуре программы.
4. Оптимизация объектного модуля с целью повышения его эффективности (по объему и быстродействию).
Компиляторы делают исходную программу компактной, эффективной, работающей в сотни раз быстрее программы, выполненной с помощью интерпретатора.
Исполнимый код - это законченная программа, которую можно запустить на любом компьютере, где установлена ОС, для которой эта программа создавалась. Итоговый файл имеет расширение .EXE или .COM.
Программа-интерпретатор сразу выполняет команды языка, указанные в тексте программы. Интерпретатор берет очередной оператор языка из текста программы, анализирует его и если все правильно, сразу же исполняет его. Только после успешного выполнения текущего оператора интерпретатор перейдет к следующему оператору. При выполнении одного оператора многократно, интерпретатор каждый раз работает с ним так, словно встретил этот оператор впервые. Программы с большим объемом повторяющихся операторов будут работать медленно. Интерпретатор удобен при изучении инструментов программирования, т.к. позволяет понять принцип работы отдельного оператора языка.
В отличии от компилятора интерпретатор не создает объектный код, а выполняет исходный модуль программы в режиме «оператор за оператором», по ходу работы он превращает каждый оператор ЯВУ в машинные команды.
- Раздел № 3 Программные средства реализации информационных процессов.
- Языки программирования
- Поколения языков программирования
- Уровни языков программирования
- Рекурсивная подпрограмма обычно выполняется медленнее, чем ее нерекурсивный аналог и сложнее отлаживается.
- Алгоритмический язык программирования
- Императивное программирование
- Декларативный язык программирования
- Языки программирования для Интернета
- Объектно-ориентированное программирование
- Основные концепции ооп
- Основы представления графических данных Виды компьютерной графики
- Представление графических данных Форматы графических данных
- Понятие цвета
- Раздел № 5
- Локальные и глобальные компьютерные сети.
- Понятие "открытая система"
- Обеспечение совместного использования аппаратных и программных ресурсов сети;
- Обеспечение совместного доступа к ресурсам данных.
- Появление стандартных технологий локальных сетей
- Сетевые операционные системы
- Аппаратное обеспечение средств защиты. Задачи аппаратного обеспечения защиты информации
- Сетевые черви
- Троянские программы
- Утилиты несанкционированного удаленного администрирования
- Утилиты для проведения dDoS-атак
- Серверы рассылки спама
- Многокомпонентные "троянцы"- загрузчики
- Административные меры борьбы с вирусами
- Персональные брандмауэры
- Брандмауэр, встроенный в Microsoft Windows xp