- •1.Программное обеспечение,программная конфигурация.
- •2. Классификация по
- •3. Место программного обеспечения среди других видов обеспечения вычислительной системы
- •4.Системное программное обеспечение пк. 5.Структура системного по
- •6.Встроенные программы, bios
- •7. Загрузчик операционной системы, его задачи.
- •8. Операционная система (определение, назначение, примеры)
- •9. Ядро операционной системы
- •10. Основные функции операционной системы
- •11. Дополнительные функции операционной системы
- •12.Основные идеи, определяющие функциональность ос
- •13.Классифификация операционных систем.
- •14.Программы оболочки. Типы интерфейса.
- •17. Типы утилит.
- •18. Виды, назначение и задачи дисковых утилит.
- •19. Прикладное программное обеспечение.
- •23.Классификация программных средст проф.Уровня.
- •24. Экспертная система. База знаний.
- •25.Искусственный интеллект.
- •27. Компьютерный вирус
- •28. Классификация компьютерных вирусов
- •29.Каналы распространения компьютерных вирусов
- •31.Классификация антивирусных продуктов
- •33.Системы программирования
- •43. Разработка программного обеспечения
- •44. Файловая система.
- •45.Файл, раширение,атрибуты.
- •46.Понятие о директории. Одноуровневая и иерархическая файловые системы.
31.Классификация антивирусных продуктов
Классифицировать антивирусные продукты можно сразу по нескольким признакам, таким как: используемые технологии антивирусной защиты, функционал продуктов, целевые платформы.
По используемым технологиям антивирусной защиты:
Классические антивирусные продукты (продукты, применяющие только сигнатурный метод детектирования)
Продукты проактивной антивирусной защиты (продукты, применяющие только проактивные технологии антивирусной защиты);
Комбинированные продукты (продукты, применяющие как классические, сигнатурные методы защиты, так и проактивные)
По функционалу продуктов:
Антивирусные продукты (продукты, обеспечивающие только антивирусную защиту)
Комбинированные продукты (продукты, обеспечивающие не только защиту от вредоносных программ, но и фильтрацию спама, шифрование и резервное копирование данных и другие функции)
По целевым платформам:
Антивирусные продукты для ОС семейства Windows
Антивирусные продукты для ОС семейства *NIX (к данному семейству относятся ОС BSD, Linux, Mac OS X и др.)
Антивирусные продукты для мобильных платформ (Windows Mobile, Symbian, iOS, BlackBerry, Android, Windows Phone 7 и др.)
Антивирусные продукты для корпоративных пользователей можно также классифицировать по объектам защиты:
Антивирусные продукты для защиты рабочих станций
Антивирусные продукты для защиты файловых и терминальных серверов
Антивирусные продукты для защиты почтовых и Интернет-шлюзов
Антивирусные продукты для защиты серверов виртуализации
и др.
32.Инструмента́льное програ́ммное обеспе́чение — программное обеспечение, предназначенное для использования в ходе проектирования, разработки и сопровождения программ, в отличие от прикладного и системного программного обеспечения.
Виды инструментального ПО
Текстовые редакторы
Интегрированные среды разработки
SDK
Компиляторы
Интерпретаторы
Линковщики
Парсеры и генераторы парсеров (см. Javacc)
Ассемблеры
Отладчики
Профилировщики
Генераторы документации
Средства анализа покрытия кода
Средства непрерывной интеграции
Средства автоматизированного тестирования
Системы управления версиями
и др.
33.Системы программирования
К этой категории относятся программы, предназначенные для разработки программного обеспечения:
ассемблеры — компьютерные программы, осуществляющие преобразование программы в форме исходного текста на языке ассемблера в машинные команды в виде объектного кода.
трансляторы - программы или технические средства, выполняющее трансляцию программы.
компиляторы — Программы, переводящие текст программы на языке высокого уровня, в эквивалентную программу на машинном языке.
интерпретаторы — Программы (иногда аппаратные средства), анализирующие команды или операторы программы и тут же выполняющие их
компоновщики (редакторы связей) — программы, которые производят компоновку — принимают на вход один или несколько объектных модулей и собирают по ним исполнимый модуль.
препроцессоры исходных текстов — это компьютерные программы, принимающие данные на входе и выдающие данные, предназначенные для входа другой программы, например, такой, как компилятор
Отла́дчик (debugger)- является модулем среды разработки или отдельным приложением, предназначенным для поиска ошибок в программе.
текстовые редакторы — компьютерные программы, предназначенные для создания и изменения текстовых файлов, а также их просмотра на экране, вывода на печать, поиска фрагментов текста и т. п.
специализированные редакторы исходных текстов — текстовые редакторы для создания и редактирования исходного кода программ. Специализированный редактор исходных текстов может быть отдельным приложением, или быть встроен в интегрированную среду разработки (IDE).
библиотеки подпрограмм — сборники подпрограмм или объектов, используемых для разработки программного обеспечения.
Редакторы графического интерфейса
Перечисленные инструменты могут входить в состав интегрированных сред разработки
34.Язы́к программи́рования — формальная знаковая система, предназначенная для записи компьютерных программ. Язык программирования определяет набор лексических, синтаксических и семантических правил, задающих внешний вид программы и действия, которые выполнит исполнитель (компьютер) под её управлением.
Функция: язык программирования предназначен для написания компьютерных программ, которые применяются для передачи компьютеру инструкций по выполнению того или иного вычислительного процесса и организации управления отдельными устройствами.
Задача: язык программирования отличается от естественных языков тем, что предназначен для передачи команд и данных от человека к компьютеру, в то время как естественные языки используются для общения людей между собой. Можно обобщить определение «языков программирования» — это способ передачи команд, приказов, чёткого руководства к действию; тогда как человеческие языки служат также для обмена информацией.
Исполнение: язык программирования может использовать специальные конструкции для определения и манипулирования структурами данных и управления процессом вычислений.
35.Высокоуровневый язык программирования — язык программирования, разработанный для быстроты и удобства использования программистом. Основная черта высокоуровневых языков — это абстракция, то есть введение смысловых конструкций, кратко описывающих такие структуры данных и операции над ними, описания которых на машинном коде (или другом низкоуровневом языке программирования) очень длинны и сложны для понимания.
Так, высокоуровневые языки стремятся не только облегчить решение сложных программных задач, но и упростить портирование программного обеспечения.
Примеры: C, C++,C#, Java, Python, PHP, Ruby, Perl, Паскаль, Delphi, Lisp. Языкам высокого уровня свойственно умение работать с комплексными структурами данных. В большинстве из них интегрирована поддержка строковых типов, объектов, операций файлового ввода-вывода и т. п.
Низкоуровневый язык программирования (язык программирования низкого уровня) — язык программирования, близкий к программированию непосредственно в машинных кодах используемого реального или виртуального (например, Java, Microsoft .NET) процессора. Для обозначения машинных команд обычно применяется мнемоническое обозначение. Это позволяет запоминать команды не в виде последовательности двоичных нулей и единиц, а в виде осмысленных сокращений слов человеческого языка (обычно английских
Общеизвестный пример низкоуровнего языка — язык ассемблера, хотя правильнее говорить о группе языков ассемблера. Более того, для одного и того же процессора существует несколько видов языка ассемблера. Они совпадают в машинных командах, но различаются набором дополнительных функций (директив и макросов).
Также к языкам низкого уровня условно можно причислить CIL, применяемый в платформе Microsoft .NET, Форт, Java байт-код (англ.).
36.Виды трансляторов
Трансляторы подразделяют[2]:
Адресный. Функциональное устройство, преобразующее виртуальный адрес (англ. Virtual address) в реальный адрес.
Диалоговый. Обеспечивает использование языка программирования в режиме разделения времени.
Многопроходной. Формирует объектный модуль за несколько просмотров исходной программы.
Обратный. То же, что детранслятор. См. также: декомпилятор, дизассемблер.
Однопроходной. Формирует объектный модуль за один последовательный просмотр исходной программы.
Оптимизирующий. Выполняет оптимизацию кода в создаваемом объектном модуле.
Синтаксически-ориентированный (синтаксически-управляемый). Получает на вход описание синтаксиса и семантики языка и текст на описанном языке, который и транслируется в соответствии с заданным описанием.
Тестовый. Набор макрокоманд языка ассемблера, позволяющих задавать различные отладочные процедуры в программах, составленных на языке ассемблера.
37.Компилируемый язык программирования — язык программирования, исходный код которого преобразуется компилятором в машинный код и записывается в файл, с особым заголовком и/или расширением, для последующей идентификации этого файла, как исполняемого, операционной системой (в отличие от интерпретируемых языков программирования, чьи программы выполняются программой-интерпретатором).
Компилятор-это транслятор текста на машинный язык, который считывает исходный текст. Он оценивает его в соответствии с синтаксической конструкцией языка и переводит на машинный язык. Другими словами, компилятор не исполняет программы, он их строит. Интерпретаторы невозможно отделить от программ, которые ими прогоняются, компиляторы делают свое дело и уходят со сцены. При работе с компилирующим языком, таким как Турбо-Бейсик, вы придете к необходимости мыслить о ваших программах в признаках двух главных фаз их жизни: периода компилирования и периода прогона. Большинство программ будут прогоняться в четыре - десять раз быстрее их интерпретаторных эквивалентов. Если вы поработаете над улучшением, то сможете достичь 100-кратного повышения быстродействия. Оборотная сторона монеты состоит в том, что программы, расходующие большую часть времени на возню с файлами на дисках или ожидание ввода, не смогут продемонстрировать какое-то впечатляющее увеличение скорости.
38.Интерпретируемый язык ( interpretive language) - язык программирования, программы на котором компьютер считывает, транслирует и исполняет немедленно, строка за строкой; примером служит интерпретируемый Бейсик.
В программу, написанную на интерпретируемом языке, можно внести изменения в любой момент, даже во время ее работы, а в машинный код откомпилированной программы, не имея исходного текста, внести изменения крайне трудно - это законченный продукт
При работе с интерпретируемыми языками для выполнения готовой программы нужно обязательно иметь соответствующую программу-интерпретатор.
Программа, написанная на интерпретируемом языке, записывается в память в виде последовательности команд языка высокого уровня
Интерпретируемые языки используют интерпретатор, который считывает исходный код и переводит его в вычисления. Каждый раз при выполнении программы исходный код вновь интерпретируется. Недостатком интерпретируемых языков является низкая скорость выполнения программы; они медленнее, чем компилируемые языки. Интерпретируемые языки не могут выполняться без дополнительной программы-интерпретатора, что тоже является их недостатком. Однако считается, что на них легче программировать, чем на компилируемых языках, ещё их несомненным преимуществом является то, что интерпретируемые языки более снисходительны к ошибкам. Интерпретируемыми языками являются: BASIC, PHP, JavaScript. Следует отметить, что некоторые языки обладают свойствами как компилируемых, так и интерпретируемые языков ( например Java). Существует большое число компилируемых и интерпретируемые языков.
39.Ассе́мблер (от англ. assembler — сборщик) — компьютерная программа, компилятор исходного текста программы, написанной на языке ассемблера, в программу на машинном языке.
Как и сам язык (ассемблер), ассемблеры, как правило, специфичны конкретной архитектуре, операционной системе и варианту синтаксиса языка. Вместе с тем существуют мультиплатформенные или вовсе универсальные (точнее, ограниченно-универсальные, потому что на языке низкого уровня нельзя написать аппаратно-независимые программы) ассемблеры, которые могут работать на разных платформах и операционных системах. Среди последних можно также выделить группу кросс-ассемблеров, способных собирать машинный код и исполняемые модули (файлы) для других архитектур и ОС.
Ассемблирование может быть не первым и не последним этапом на пути получения исполнимого модуля программы. Так, многие компиляторы с языков программирования высокого уровня выдают результат в виде программы на языке ассемблера, которую в дальнейшем обрабатывает ассемблер. Также результатом ассемблирования может быть не исполнимый, а объектныймодуль, содержащий разрозненные и непривязанные друг к другу части машинного кода и данных программы, из которого (или из нескольких объектных модулей) в дальнейшем с помощью программы-компоновщика («линкера») может быть скомпонован исполнимый файл.
40.Проприета́рное программное обеспечение (англ. proprietary software; от proprietary — частное[1], патентованное[1], в составе собственности[1] и software — программное обеспечение) —программное обеспечение, являющееся частной собственностью авторов или правообладателей и не удовлетворяющее критериям свободного ПО (наличия открытого программного коданедостаточно). Правообладатель проприетарного ПО сохраняет за собой монополию на его использование, копирование и модификацию, полностью или в существенных моментах. Обычно проприетарным называют любое несвободное ПО, включая полусвободное.
41.Открытое программное обеспечение (англ. open-source software) — программное обеспечение с открытым исходным кодом. Исходный код таких программ доступен для просмотра, изучения и изменения, что позволяет пользователю принять участие в доработке самой открытой программы, использовать код для создания новых программ и исправления в них ошибок — через заимствование исходного кода, если это позволяет совместимость лицензий, или через изучение использованных алгоритмов, структур данных, технологий, методик и интерфейсов (поскольку исходный код может существенно дополнять документацию, а при отсутствии таковой сам служит документацией).
42.Свободное программное обеспечение (СПО) — широкий спектр программных решений, в которых права пользователя («свободы») на неограниченную установку, запуск, а также свободное использование, изучение, распространение и изменение (совершенствование)[1] программ защищены юридически авторскими правами при помощисвободных лицензий. Обычно СПО доступно без всякой оплаты, но может иметь цену, например, в форме взимания платы за компакт-диски или другие носители. Чтобы распространяемое ПО было свободным, получателям должны быть доступны его исходные коды, из которых можно получить исполняемые файлы, с соответствующими лицензиями.