- •Назначение, состав и функции операционных систем (ос).
- •Классификация ос. Особенности ос реального времени. Виды ос реального времени. Примеры ос реального времени.
- •Вычислительные процессы и ресурсы. Виды ресурсов. Управление ресурсами.
- •Переносимость приложений и способы ее достижения. Платформа и технологии .Net. Управляемый и неуправляемый код. Сборка мусора – достоинства и недостатки.
- •Процессы и управление процессами в ос Linux. Средства получения информации о процессах ос Linux.
- •Функции Win api для мониторинга процессов и потоков ос Windows.
- •Функции Win api для получения дополнительной информации о процессах и потоках.
- •Планирование и диспетчеризация потоков в ос. Алгоритмы планирования в системах пакетной обработки и диалоговых системах.
- •Уровни приоритета процесса и потока в ms Windows xp. Функции Win api для изменения приоритетов процесса и потока. Недостижимые значения приоритетов потока.
- •Динамическое повышение приоритета потока. Необходимость. Графики изменения величины приоритета для различных ситуаций динамического повышения приоритета.
- •1)Динамическое повышение приоритета после завершения ввода-вывода
- •2)Динамическое повышение приоритета по окончании ожидания событий и семафоров.
- •Типы потоков по способу их взаимодействия. Понятие критического участка. Необходимость использования синхронизации.
- •Семафорные примитивы Дейкстры – назначение и использование для синхронизации конкурирующих и сотрудничающих (поставщик-потребитель) потоков.
- •Средства синхронизации потоков пользовательского режима. Достоинства и недостатки.
- •Объекты ядра ос ms Windows, используемые для синхронизации потоков.
- •Мьютексы как средство синхронизации потоков. Функции Win32 api для создания и использования мьютекса. Отказ от мьютекса. Пример использования мьютекса.
- •Семафоры. Виды семафоров и их применение. Функции Win32 api для создания и использования семафора. Пример использования семафора.
- •События. Виды событий. Примеры записи функций Win32 api для создания и использования событий. Пример использования событий для синхронизации конкурирующих и сотрудничающих потоков.
- •Функция Win32 api ожидания нескольких событий. Пример использования функции.
- •Var pHandles; // адрес массива объектов
- •Понятие тупиковой ситуации. Модель Холта и её использование. Пример модели Холта. Средства анализа тупиковых ситуаций от компании Microsoft.
- •Условия возникновения тупика. Стратегии Хавендера. Методы борьбы с тупиками.
- •Сегментация, страничная и сегментно-страничная организация памяти. Виды фрагментации памяти. Оценка потерь памяти вследствие фрагментации. Методы борьбы с фрагментацией.
- •Формат дескрипторов мп Intel в защищенном режиме i80386.
- •Байт доступа. Назначение битов. Условие доступа программы к сегменту данных. Поле доступа. Назначение бита дробности.
- •Алгоритмы замещения страниц виртуальной памяти (сам)
- •Четыре метода управления виртуальной памятью. Области применения каждого метода. Понятие региона виртуального адресного пространства (вап). Свойства региона вап.
- •Резервирование регионов в адресном пространстве и передача физической памяти региону. Используемые функции Win32 и их параметры.
- •Кучи. Необходимость создания дополнительных куч процесса. Методы доступа к куче. Операции с кучами. Используемые функции Win32.
- •Функция Win32 api получения сведений о регионах виртуального адресного пространства. Пример использования.
- •Файлы, проецируемые в память. Области применения. Этапы проецирования. Назначение каждого этапа, используемые функции Win32.
- •Динамически загружаемые библиотеки. Области применения. Основные dll ms Windows. Достоинства и недостатки dll. Создание dll.
- •Способы передачи данных между процессами. Схема передачи данных между процессами без использования средств ос и с использованием средств ос. Обмен сообщениями. Каналы и почтовые ящики.
- •Использование именованных каналов. Сокеты. Назначение. Области применения.
- •Дополнительный вопросы: Назначение планировщика задач
- •Краткосрочный планировщик
- •Диспетчер
- •Статическое и динамическое планирование
- •Алгоритм планирования rr
- •Планирование в системах пакетной обработки. Кратчайшее задание первое.
Вычислительные процессы и ресурсы. Виды ресурсов. Управление ресурсами.
Ресурсы могут быть разделяемыми, когда несколько процессов могут их использовать одновременно или параллельно (в течение некоторого интервала времени процессы используют ресурс попеременно), а могут быть и неделимыми.
Изначально ресурсами считались процессорное время, память, каналы ввода/вывода и периферийные устройства. Впоследствии это понятие стали применять более широко. Помимо системных ресурсов, к ресурсам относят также такие объекты, как сообщения и синхросигналы, которыми обмениваются задачи. Для системных управляющих процессов ресурсы распределяются изначально и однозначно. Поэтому исполнение системных управляющих программ не принято называть процессами. Процессы, это скорее задачи пользователей и системные обрабатывающие процессы.
Основные виды ресурсов и способы их разделения:
1)Процессорное время. Процессорное время делится попеременно (параллельно). 2)Оперативная память (ОП), может быть разделена и одновременно и попеременно(в разное время память мб предоставлена для разных процессов) . 3) Внешняя память и доступ к ней считаются разными видами ресурса, каждый из которых может предоставляться независимо от другого Собственно внешняя память может разделяться так же, как и ОП, а доступ к ней – только попеременно. 4) Внешние устройства, ресурсы, которые могут разделяться параллельно в случае, если используются механизмы прямого доступа. Если же устройство работает с последовательным доступом, то оно не может считаться разделяемым ресурсом. Например, принтером невозможно воспользоваться попеременно двум параллельно выполняющимся потокам. 5) Программные модули (системные) - однократно используемые модули правильно выполняются только один раз (на этапе загрузки ОС) и являются неделимым ресурсом. 6) 6)Информационные ресурсы(данные) - могут существовать как в виде переменных, так и в виде файлов. Если потоки используют данные только для чтения, то такие информационные ресурсы можно разделять.
Общая схема выделения ресурсов:
При необходимости использовать какой-то ресурс задача обращается к супервизору ОС и сообщает о своем требовании. При этом указывается вид ресурса, его объем, требование монопольного или возможность совместного использования.
Директива обращения к ОС передает управление задаче, переводя процессор в привилегированный режим работы, если таковой существует.
Ресурс может быть выделен задаче, обратившейся к супервизору с соответствующим запросом, если:
он свободен и в системе нет запросов к этому же ресурсу от задач более высокого приоритета;
текущий запрос и ранее выданные запросы допускают совместное использование ресурсов;
ресурс используется задачей низшего приоритета и может быть временно отобран (разделяемый ресурс).
Получив запрос, ОС либо удовлетворяет его и возвращает управление задаче, выдавшей данный запрос, либо ставит задачу в очередь к ресурсу, переводя её в состояние ожидания. После окончания работы с ресурсом задача с помощью специального вызова супервизора сообщает операционной системе об отказе от ресурса, или ОС забирает ресурс сама .Супервизор ОС, получив управление по этому обращению, освобождает ресурс и проверяет, имеется ли очередь к освободившемуся ресурсу. Если очередь есть, то в зависимости от принятой дисциплины обслуживания и приоритетов заявок он выводит из состояния ожидания задачу, ждущую ресурс, и переводит её в состояние готовности к выполнению. После этого управление либо передается данной задаче, либо возвращается к той, которая только что освободила ресурс.
