
- •Вопрос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. Обходы тупиков. Алгоритм банкира. Примеры.
Вопрос 7. Состояние процессов и функции ос по управлению процессами. Задачи, решаемые ос при реализации функций. Примеры решения.
За время своего существования процесс проходит ряд дискретных состояний.
Порождение Готовность Активность Ожидание
Окончание
Когда производится подготовка программы к исполнению – происходит порождение. ОС определяет, какие ресурсы нужны программе, если ресурсы не могут быть выделены -> состояние завершения. Если ресурсы существуют и свободны -> процесс у выделяется виртуальный процессор, и он переходит в состояние готовности.
В состоянии готовности у процесса есть все необходимые ресурсы, кроме реального центрального процессора. Выделение времени на ЦП -> активное состояние
Активное состояние - это состояние выполнения последовательности команд программы процесса на процессоре. В этом состоянии процесс имеет все ресурсы и занимает центральный процессор. Процесс может выйти из состояние активности, если : 1) процесс завершается( заканчивается последовательность команд, принудительное завершение, ошибка); 2)процесс блокирует себя (сделал запрос на выделение ресурса или на выполнение действия, который сам не может выполнить); 3) процесс прерывается (запускается более приоритетная программа, по истечении времени) и при этом переходит в состояние готовности.
Состояние окончания - завершающее состояние в развитии процесса в ВС. После перевода в это состояние процесс исчезает, его виртуальный процессор уничтожается
Процессы, находящиеся в состояниях готовности и ожидания, ждут предоставления им ресурсов – создаются очереди – все процессы в очереди претендуют на использование ресурсов. Программист может изменять порядок очереди ( запускать процессы и останавливать). После окончания процесса, он возвращается в очередь, на то же место.
Некоторые ОС допускают возможность – приостановки процесса (гибкость системы, можно вывести из конфликтной ситуации, регулировать нагрузки системы, позволяет обнаружить ошибки).
Функция управления процессами - выполняется как в отношении каждого отдельного процесса, так и в отношении всей их совокупности. Данная функция расшифровывается как функция обеспечения реализации каждого из возможных состояний процесса и допустимых переходов из состояния в состояние в ответ на события, которые могут быть причиной изменения состояния процесса.
Операции, изменяющие состояние системы :
создание/ уничтожение
блокирование / разблокирование процесса
активизация / прерывание
приостановки /возобновления задержанного процесса.
В системах, поддерживающих многопоточность ,операции также реализуются не только для процессов, но и для потоков.
Для организации выполнения процессов необходимо реализовать схему определения порядка распределения ресурсов между существующими в ВС процессами, то есть спланировать доступ процессов к запрашиваемым ими ресурсам. Планировщик - это программа в составе операционной системы, определяющая порядок предоставления общих ресурсов ВС процессам, запрашивающим эти ресурсы.
планирование верхнего уровня (планирование допуска в систему),
планирование среднего уровня (конкуренция за выделение им времени центрального процессора),
планирование на нижнем уровне (кому предоставить освободившийся центральный процессор).
Планирование по принципу “первый пришедший обслуживается первым”. В данном случае центральный процессор предоставляется в распоряжение процессов в порядке их поступления в очередь процессов, находящихся в состоянии готовности
Простейшей дисциплиной, предусматривающей возможность переключения - циклическое или круговое планирование. При реализации этой дисциплины процессы встают в очередь в порядке их попадания в состояние готовности, но очередному процессу из очереди процессор предоставляется в распоряжение на ограниченное время. По истечении выделенного процессу времени процессор у него забирается и передается очередному готовому процессу, оказавшемуся в очереди первым.