
- •Вопрос1. Понятие программного обеспечения (по). Классификация программного обеспечения по выполняемым функциям. Основные свойства системного программного обеспечения и структура системного по.
- •Вопрос 2 .Операционные системы как ядро системного программного обеспечения
- •1)Управление процессами (программ во время выполнения);
- •Вопрос3 Классификация ос (по структуре и архитектурным принципам построения, по режимам работы). Примеры.
- •4) Общие принципы построения ос. Основные характеристики современных ос. Примеры реализации общих принципов и особенности организации и функционирования ос.
- •Вопрос 5. Определение и классификация ресурсов
- •Вопрос 6.Определение и классификация процессов. Примеры. Процессы и потоки.
- •Вопрос 7. Состояние процессов и функции ос по управлению процессами. Задачи, решаемые ос при реализации функций. Примеры решения.
- •Вопрос 8 . Проблема взаимного исключения. Понятие критической секции, её свойства, условия реализации. Примеры.
- •Вопрос 9. Программные методы реализации взаимного исключения. Примеры.
- •Вопрос 10. Понятие семафора, семафорные примитивы. Примеры объектов диспетчеризации в ms Windows, которые могут использоваться как «семафоры».
- •Вопрос 11. Применение бинарных семафоров для реализации взаимного исключения и синхронизации процессов.
- •Вопрос 12. Общие семафоры, решение задачи «писателей и читателей» при работе с циклическим буфером.
- •Вопрос 13. Проблема тупика и задачи, связанные с решение проблемы тупика. Примеры.
- •Вопрос 14. Задача предотвращения тупика, подходы к решению. Примеры.
- •Вопрос 15. Математическая модель для определения тупика. Определение заблокированных процессов, процессов, находящихся в тупике. Определение состояния тупика. Понятие выгодного состояния. Примеры.
- •Вопрос 16. Модель системы с повторно используемыми ресурсами (граф повторно используемых ресурсов). Примеры.
- •Вопрос 17. Модель системы с потребляемыми ресурсами (граф потребляемых ресурсов). Примеры.
- •Вопрос 18. Система с повторно используемыми и потребляемыми ресурсами (граф обобщённых ресурсов). Примеры.
- •Вопрос 19. Решение задачи распознавания тупика для систем с повторно используемыми ресурсами: основная теорема о тупике. Примеры редукции.
- •Вопрос 21. Распознавание тупиков в системах с повторно используемыми ресурсами с ограничениями на запросы. Примеры.
- •Вопрос 22. Распознавание тупиков в системах с потребляемыми ресурсами и в системах с обобщёнными ресурсами: алгоритм редукции. Примеры.
- •Вопрос 23. Распознавание тупиков в системах с потребляемыми ресурсами и в системах с обобщёнными ресурсами: системы с ограничениями на выполнение операций. Примеры.
- •Вопрос 24. Вывод системы из тупика. Общий подход и частный случай.
- •Вопрос 25. Обходы тупиков. Алгоритм банкира. Примеры.
Вопрос 5. Определение и классификация ресурсов
Ресурс – объект в ВС, обладающий свойством полезности. Любой процесс требует ресурса для своего выполнения. Процессы – потребители ресурсов.
Критерии классификации :
Реальность существования – ресурсы могут быть физические и виртуальные. Физические обладают реальными физическими свойствами. Виртуальный ресурс – модель, которая строится на базовом ресурсе. Если характеристики, виртуального ресурса удовлетворяют процесс, то ему безразлично что это виртуальный ресурс
Возможность расширения свойств – способность ресурса стать базой для построения виртуального ресурса
Структурный признак – ресурс имеющий структуру может быть разделен на единицы, процесс может использовать часть такого ресурса
Возможность повторного использования – после своего использования процесс либо возвращается в систему (ОЗУ), либо уничтожается (сообщения)
Время существования – временные, постоянные.
По степени активности – активные, пассивные . Активные способны выполнять действия по отношению к другим ресурсам ЦП . Пассивные - ОЗУ
По степени важности
По форме реализации – Твердые (аппаратные компоненты ВС), Мягкие (программные, информационные)
Вопрос 6.Определение и классификация процессов. Примеры. Процессы и потоки.
Процесс - совокупность действий , связанных с исполнением программы процессором. Программа в стадии выполнения.
Процессор – устройство в составе ВС, способное автоматически выполнять действия в соответствии с программой.
Многозадачная ОС моделирует работу нескольких процессов, предоставляя каждому процессору виртуальный процессор.
Процесс обладает адресным пространством и определенным состоянием.
Классификация :
По временным характеристикам – Последовательные процессы – интервалы существования не пересекаются по времени. Процессы реального времени – гарантируют завершение процесса к конкретному времени. Интерактивные процессы (время существования < времени допустимой реакции на запрос пользователя). Пакетные процессы (время существования не ограничено)
По принадлежности ЦП - внутренние(развиваются на ЦП), внешние - развитие происходит под контролем ОС, но на устройствах отличных от ЦП (ввода/вывода)).
По принадлежности ОС – системные – соответствующие программам ОС. Пользовательские – соответствующие ППО
По связности – взаимосвязанные(между процессами существует тип связи: функциональная - выполнение второго зависит от реализации 1; по управлению : порождающий – порождаемый; связь по данным; пространственно – временная связь). Изолированные.
Процессы и потоки.
Многозадачность – это возможность выполнять отдельные части одной и той же программы одновременно. То есть поток представляет собой часть кода процесса (программы) и ресурсы, необходимые для решения отдельной задачи.
Каналы (pipe) Используют как средство обмена информации между процессами, не зависимо от того, где эти процессы выполняются, на одном компьютере, или на разных, объединенных в сеть. Один процесс является сервером, а другой клиентом. Создав канал можно выполнять синхронные и асинхронные операции. Для обслуживания нескольких клиентов, сервер может создать несколько реализаций одного и того же канала.
Каналы могут быть: - именованные: подключение происходит по имени, если оно известно процессу клиенту; - неименованные: передача данных между дочерними/родительскими процессами, и в похожих случаях.
Mailslot Каналы Mailslot (почтовые ячейки) используются для односторонней передачи данных, при том можно передавать информацию как от одного клиента нескольким серверам (рассылка), так и от нескольких клиентов на один сервер.
Отображение файлов на память Данный способ передачи данных отличается быстродействием, т.к. данные передаются между процессами непосредственно через память. Этот механизм работает с файлами любой длинны одного компьютера (не применим для удаленного пользования), это достигается за счет того, что приложение выбирает только фрагмент файла, для отображения его в память. Установив такое отображение, то для операций записи и чтения ОС считает тождественными фрагмент файла и содержимое отображения.