- •Вопросы к экзамену по дисциплине «Системное программное обеспечение»
- •Определение, структура программного обеспечения.
- •2. Определение, функции операционной системы (ос).
- •3. Определение, основные принципы построения ос.
- •4. Понятие вычислительного процесса.
- •5. Понятие ресурса.
- •6. Понятие активного процесса. Динамика состояний процесса.
- •7. Понятие потока, мультипрограммирования.
- •8. Идентификация процесса.
- •9. Взаимодействие потоков.
- •10. Классификация процессов.
- •11. Классификация ресурсов.
- •12. Понятие критических секций, основные требования к ним.
- •13. Понятие тупика, условия его возникновения.
- •14. Методы борьбы с тупиками. Описание каждого метода.
- •15. Виды межпроцессных коммуникаций. Очереди сообщений. Сигналы.
- •16. Виды межпроцессных коммуникаций. Конвейер. Сокеты.
- •17. Понятие системных часов, таймера.
- •18. Планирование выполнения процессов в системах реального времени.
- •19. Отображение пространства имен на физическую память компьютера.
- •20. Сегментный способ организации виртуальной памяти.
- •21. Страничный способ организации виртуальной памяти.
- •22. Сегментно-страничный способ организации виртуальной памяти.
- •23. Управление памятью вычислительной системы.
- •24. Особенности файловой системы fat.
- •25. Особенности файловой системы ntfs.
- •26. Понятие ввода/вывода. Основные задачи супервизора ввода/вывода.
- •27. Режимы ввода/вывода, их характеристика.
- •28. Процесс управления вводом/выводом.
- •29. Понятие микроядерной операционной системы.
- •30. Понятие монолитной операционной системы.
- •31. Классификация операционных систем.
- •32. Особенности сетевых и распределенных операционных систем.
- •33. Понятие прерывания. Механизм обработки прерываний.
- •34. Синхронные и асинхронные прерывания.
- •35. Дисциплины диспетчеризации.
- •36. Понятие утилиты. Виды утилит.
- •37. Понятие компилятора, интерпретатора, отладчика, компоновщика
- •38. Виды систем защиты программного обеспечения.
- •39. Показатели применимости и критерии оценки систем защиты программного обеспечения.
36. Понятие утилиты. Виды утилит.
Утилита (англ. utility или tool) — программный продукт, предназначенный не для решения какой-либо прикладной задачи, а для решения вспомогательных задач.
Так компьютерные утилиты можно разделить на три основные группы:
утилиты сервисного обслуживания компьютера (УСО);
К УСО относятся все виды сервисных программ, такие как утилиты по: дефрагментации, проверке и исправлению структуры разделов жёсткого диска, исправлению системных зависимостей, тонкой настройке системы и т.д.
утилиты расширения функциональности;
Утилиты расширения функцональности расширяют функциональность существующих прикладных или системных средств, например, утилиты автоматизации и переконвертации медиа-тегов (mp3 id3, Ogg tags), безопасного (невосстановимого) удаления файлов, утилиты переконвертирования файлов различных форматов, утилиты системного менеджмента.
информационные утилиты.
Утилиты системного менеджмента занимаются расширенным управлением системой, таким как: работа с разделами дисков, перепрограммирование (перепрошивка) памяти BIOS, установка расширенных аппаратных настроек аппаратного обеспечения.
37. Понятие компилятора, интерпретатора, отладчика, компоновщика
Компиля́тор (англ. compiler – составитель, собиратель) читает всю программу целиком, делает ее перевод и создает законченный вариант программы на машинном языке, который затем и выполняется.
Интерпрета́тор языка программирования (англ. interpreter – истолкователь, устный переводчик) переводит и выполняет программу строка за строкой.
Отладчик является модулем среды разработки или отдельным приложением, предназначенным для поиска ошибок в программе. Отладчик позволяет выполнять пошаговую трассировку, отслеживать значения переменных в процессе выполнения программы, устанавливать точки или условия останова и т. д.
Компоновка (англ. linking, linkage). Все необходимые объектные файлы собираются вместе. Далее происходит процесс разрешения ссылок – все внешние по отношению к каждому отдельному модулю ссылки должны быть разрешены, то есть для каждой из них должна быть поставлена в соответствие конкретная функция из другого модуля программы, либо из внешней библиотеки.
38. Виды систем защиты программного обеспечения.
Существующие системы защиты программного обеспечения можно классифицировать по ряду признаков, среди которых можно выделить метод установки, используемые механизмы защиты и принцип функционирования.
Системы защиты ПО по методу установки можно подразделить на:
системы, устанавливаемые на скомпилированные модули ПО;
системы, встраиваемые в исходный код ПО до компиляции;
комбинированные.
По используемым механизмам защиты СЗ можно классифицировать на:
системы, использующие сложные логические механизмы;
системы, использующие шифрование защищаемого ПО;
комбинированные системы.
Самыми стойкими к атакам являются комбинированные системы.
39. Показатели применимости и критерии оценки систем защиты программного обеспечения.
Показатели применимости:
технические. Соответствие СЗПО функциональным требованиям производителя ПО и требованиям по стойкости, системные требования ПО и системные требования СЗПО, объём ПО и объём СЗПО, функциональная направленность ПО, наличие и тип СЗ у аналогов ПО - конкурентов.
экономические. Соотношение потерь от пиратства и общего объёма прибыли, соотношение потерь от пиратства и стоимости СЗПО и её внедрения, соотношение стоимости ПО и стоимости СЗПО, соответствие стоимости СЗПО и её внедрения поставленным целям.
организационные. Распространённость и популярность ПО, условия распространения и использования ПО, уникальность ПО, наличие угроз, вероятность превращения пользователя в злоумышленника, роль документации и поддержки при использовании ПО.
Критерии оценки:
защита как таковая. Затруднение нелегального копирования, затруднение нелегального доступа, защита от мониторинга, отсутствие логических брешей и ошибок в реализации системы;
стойкость к исследованию/взлому. Применение стандартных механизмов, новые/нестандартные механизмы;
отказоустойчивость (надёжность). Вероятность отказа защиты (НСД), время наработки на отказ, вероятность отказа программы защиты (крах), время наработки на отказ, частота ложных срабатываний;
независимость от конкретных реализаций ОС. Использование недокументированных возможностей, «вирусных» технологий и «дыр» ОС;
совместимость. Отсутствие конфликтов с системным ПО, отсутствие конфликтов с прикладным ПО, отсутствие конфликтов с существующим АО, максимальная совместимость с будущим АО и ПО;
неудобства для конечного пользователя ПО. Необходимость и сложность дополнительной настройки системы защиты, доступность документации, доступность информации об обновлении модулей системы защиты из-за ошибок/несовместимости/нестойкости, доступность сервисных пакетов, безопасность сетевой передачи пароля/ключа, задержка из-за физической передачи пароля/ключа, нарушения прав потребителя;
побочные эффекты. Перегрузка трафика, отказ в обслуживании, замедление работы защищаемого ПО, замедление работы ОС, захват системных ресурсов, перегрузка ОЗУ, нарушение стабильности ОС;
стоимость. Стоимость/эффективность, стоимость/цена защищаемого ПО, стоимость/ликвидированные убытки;
доброкачественность. Правдивая реклама, доступность результатов независимой экспертизы, доступность информации о побочных эффектах, полная информация о СЗ для конечного пользователя.
1 IPC (inter-process communication) – межпроцессные коммуникации.
