Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
38
Добавлен:
09.12.2018
Размер:
338.41 Кб
Скачать

Ответы:

Переход от выполнения одного потока к другому осуществляется в результате планирования и диспетчеризации.

Планирование – работа по определению того, в когда необходимо прервать выполнение ткущего потока и какому потоку предоставить возможность выполнится.

Задачи планирования:

  • определяет момент времени для смены текущего потока;

  • выбор для выполнения потока из очереди готовых потоков.

В большинстве ОС планирование осуществляется динамически – решения принимаются во время работы на основании анализа текущей ситуации.

Статический тип планирования используется в системах реального времени. Планировщик составляет расписание на основании знаний системой для диспетчеризации.

Диспетчеризация заключается в переключении процессора с одного потока на другой.

Задачи диспетчеризации:

  • сохранение контекста ткущего потока, который требуется сменить;

  • загрузка контекста нового потока, выбранного в результате планирования;

  • запуск нового потока на выполнение.

Планирование в системах реального времени

Системы реального времени подразделяются на жесткие и мягкие.

Жесткая – система, если последствия несоблюдения временных ограничений катастрофичны.

Мягка – система, если последствия несоблюдения временных ограничений не столь серьезны.

UNIX и Windows NT построены на мягких системах реального времени, они не пригодны к жестким системам, т.к. в них не гарантировано выполнение заданных временных ограничений.

19.Распределение ресурсов. Понятия: синхронизация, гонки, критическая секция.

Ответ:

Синхронизация - приведение двух или более процессов к такому их протеканию, когда определенные стадии разных процессов совершаются в определенном порядке, либо одновременно.

Гонки – ситуация, когда несколько потоков обрабатывают разделяемые данные, и конечный результат зависит от соотношения скоростей потоков.

Критическая секция – часть программы, результат которой может меняться, если переменный, относящиеся к этой части, изменяются другими потоками во время выполнения этой части программы.

20.Алгоритмы диспетчеризации: метод взаимного исключения.

Ответ:

Чтобы исключить эффект гонок по отношению к критическим данным, необходимо, чтобы в каждый момент временив КС находился только один поток. Этот прием называется взаимным исключением.

Для синхронизации потоков одного процесса используются глобальные блокирующие переменные.

Набору критических данных ставится двоичная переменная, которой поток присваивает 0 – входит в КС, 1 – когда покидает ОС.

21.Взаимоблокировки. Обнаружение и устранение взаимоблокировок. Избежание взаимоблокировок. Предотвращение взаимоблокировок.

Ответ:

Взаимоблокировки – это тупиковые ситуации, являющиеся проблемой синхронизации.

Обнаружение и утроение взаимоблокировок позволяет произойти взаимоблокировки, стараясь определить, когда это случилось, и затем совершает некие действия к возврату системы к состоянию до того, как система попала в тупик.

Избежание взаимоблокировок

Избежать взаимоблокировки можно, когда система решает является ли предоставляемый ресурс безопасным.

Предотвращение взаимоблокировок

Взаимоблокировки могут быть предотвращены:

  • на стадии написания программы

  • при запуски задач ОС определяет может ли возникнуть тупик, если «да», то запуск задачи откладывается

  • если взаимоблокировка возникла, то можно снять часть потоков.

22.Организация ввода-вывода: основные задачи, их характеристика.

Ответ:

Основные задачи:

  • организация параллельной работы процессора и устройств ввода-вывода

  • согласование скоростей работ процессора, ОП и устройств ввода-вывода

  • разделение устройств ввода-вывода между процессами

  • обеспечение удобного логического интерфейса к устройствам ввода-вывода

Способы подключения устройств к ЭВМ:

  1. Устройство может быть подключено к ЦП через регистры устройств. Устройство сожет иметь несколько регистров, но все они сводятся к 3:

  • регистр состояния

  • регистр данных

  • регистр управления

  1. Устройства могут подключаться к ЦП через контроллер ввода-вывода. При этом один котроллер может обслуживать несколько однотипных устройств.

23.Многослойность системы ввода-вывода.

Ответ:

Система ввода-вывода имеет яркую многослойную структуру.

Она помогает объединить большое количество разнотипных драйверов в систему с общем интерфейсом.

Два нижних уровня составляют сами устройства и их контроллеры, служащие для организации совместной работы устройств и остальной вычислительной системы.

Следующий уровеньдрайверы устройств ввода-вывода, они скрывают особенности функционирования конкретных устройств.

Уровень базовой подсистемы ввода-вывода – механизм взаимодействия между драйверами и программной частью вычислительной системы в целом.

24.Драйверы ОС. Высокоуровневые, низкоуровневые. Блок-ориентированные и байт-ориентированные.

Ответ:

Драйвер – модуль ОС, осуществляющий трансляцию обращения к устройствам из процессов и из других модулей ОС в управляющие воздействия.

Каждому типу устройств соответствует свой драйвер.

Драйвер устройства имеет два основных уровня:

  1. верхний – принимает системные вызовы от процессов и формирует запрос. Так же выстраивает запросы в очередь и поддерживает упорядоченность этой очереди в соответствии с принятой дисциплиной обслуживания.

  2. нижний – выбирает из очереди первый запрос и формирует управляющие воздействия и передает их на устройство, обрабатывает прерывания от устройства и сообщает ядру ОС о наступлении событий, связанных ввода-выводом.

25.Функции ОС по управлению памятью.

Ответ:

Функции ОС по управлению памяти:

  1. Отслеживание свободной и занятой памяти.

  2. Выделение памяти процессам и освобождение памяти при завершении процесса.

  3. Вытеснение процесса из ОП на диск, когда размеры основной памяти не достаточны для размещения в ней всех процессов, и возвращение их в ОП, когда в ней освободится место.

  4. Настройка адресов программы на конкретную область физической памяти.

26.Механизм разделения центральной памяти. Разделение памяти на разделы. Распределение памяти с разделами фиксированного размера.

Ответ:

Вся ОП разделена на ячейки памяти – адреса.

Адреса: виртуальные и физические. Для их идентификации используются символьные имена.

Символьные имена присваивает пользователь.

Виртуальные адреса вырабатывает транслятор, переводящий программу на машинный язык.

Виртуальное адресное пространство – совокупность виртуальных адресов процесса.

Каждый процесс имеет собственное виртуальное адресное пространство.

Физические адреса соответствуют номерам ячеек ОП.

Переход от виртуальных адресов к физическим может осуществляться:

  • Замена виртуальных адресов на физические с помощью перемещающего загрузчика.

  • Программа загружается в память в неизменном виде в виртуальных адресах. При каждом обращении к ОП выполняется преобразования виртуального адреса в физический.

Методы распределения памяти:

Без использования внешней памяти:

С использованием внешней памяти:

  • Фиксированными разделами

  • Страничное распределение

  • Динамическими разделами

  • Сегментное распределение

  • Перемещаемыми разделами

  • Сегментно-страничное распределение

Распределение памяти фиксированными разделами:

Очередная задача, поступившая на выполнение, помещается либо в общую очередь, либо в очередь к некоторому разделу.

Недостаток: Жесткость, т.е. если программа имеет небольшой объем, она будет занимать весь раздел, что приводит к неэффективному использованию памяти, даже если объем ОП позволяет выполнить программу, то разбиение памяти на разделы не позволяет это выполнить.