- •Вопросы к экзамену по дисциплине «Системное программное обеспечение»
- •Определение, структура программного обеспечения.
- •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. Показатели применимости и критерии оценки систем защиты программного обеспечения.
12. Понятие критических секций, основные требования к ним.
Места в программах, в которых происходит обращение к критическим ресурсам, называются критическими секциями (Critical Section – CS).
требования к критическим секциям:
в любой момент времени только один процесс должен находиться в своей критической секции;
ни один процесс не должен находиться в своей критической секции бесконечно долго;
ни один процесс не должен ждать бесконечно долго входа в свой критический интервал. В частности:
– никакой процесс, бесконечно долго находящийся вне своей критической секции (что допустимо), не должен задерживать выполнение других процессов, ожидающих входа в свои критические секции. Другими словами, процесс, работающий вне своей критической секции, не должен блокировать критическую секцию другого процесса;
– если два процесса хотят войти в свои критические интервалы, то принятие решения о том, кто первым войдет в критическую секцию, не должно откладываться бесконечно долго;
– если процесс, находящийся в своём критическом интервале, завершается либо естественным, либо аварийным путем, то режим взаимоисключения должен быть отменён, с тем чтобы другие процессы получили возможность входить в свои критические секции.
13. Понятие тупика, условия его возникновения.
Говорят, что в мультипрограммной системе процесс находится в состоянии тупика, если он ждёт события, которое никогда не произойдёт.
Для того чтобы возник тупик, необходимо, чтобы одновременно выполнялись четыре условия:
взаимного исключения, при котором процессы осуществляют монопольный доступ к ресурсам;
ожидания, при котором процесс, запросивший ресурс, ждёт до тех пор, пока запрос не будет удовлетворен, при этом удерживая ранее полученные ресурсы;
отсутствия перераспределения, при котором ресурсы нельзя отобрать у процесса, если они ему уже выделены;
4) кругового ожидания, при котором существует замкнутая цепь процессов, каждый из которых ждёт ресурс, удерживаемый его предшественником в этой цепи
14. Методы борьбы с тупиками. Описание каждого метода.
Борьба с тупиковыми ситуациями основывается на одной из трех стратегий:
предотвращение тупика;
Предотвращение можно рассматривать как запрет существования опасных состояний. Поэтому дисциплина, предотвращающая тупик, должна гарантировать, что какое-либо из четырех условий, необходимых для его наступления, не может возникнуть.
обход тупика;
достаточно проверить, не приведет ли выделение затребованного ресурса сразу же к опасному состоянию. Если да, то запрос отклоняется. Если нет, его можно выполнить. Определение того, является ли состояние опасным или нет, требует анализа последующих запросов процессов.
распознавание тупика с последующим восстановлением.
Существуют следующие методы восстановления:
1. принудительный перезапуск системы, характеризующийся потерей информации обо всех процессах, существовавших до перезапуска;
2. принудительное завершение процессов, находящихся в тупике;
3. принудительное последовательное завершение процессов, находящихся в тупике, с последующим вызовом алгоритма распознавания после каждого завершения до исчезновения тупика;
4. перезапуск процессов, находящихся в тупике, с некоторой контрольной точки, то есть из состояния, предшествовавшего запросу на ресурс;
5. перераспределение ресурсов с последующим последовательным перезапуском процессов, находящихся в тупике.