- •Список вопросов для подготовки к экзамену «Операционные системы, среды и оболочки»
- •Перечислите основные действия, которые нужно было выполнить пользователю для выполнения его программы до появления операционных систем.
- •Что такое операционная система, операционная среда, операционная оболочка? Дайте определение.
- •Что такое однопрограммная пакетная обработка? Как определить классическое мультипрограммирование?
- •Что относится к базовому программному обеспечению ранних компьютерных систем?
- •Второе поколение ос. Середина 60-х г.
- •Что такое многопрограммная пакетная обработка?
- •Что такое мультипроцессорная обработка, чем она отличается от мультипрограммирования?
- •Перечислите поколения операционных систем. Назовите основные отличительные признаки поколений.
- •Первое поколение ос.
- •Третье поколение ос.
- •Четвертое поколение ос.
- •Что такое архитектура операционной системы? Какие архитектуры ос вы можете охарактеризовать?
- •Что такое виртуальная машина? в чем Вы видите преимущества использования виртуальных машин?
- •Дайте определение процессу и потоку. Чем поток отличается от процесса?
- •Перечислите основные задачи ос по управлению процессами. Её задачи:
- •Как можно представить модель процесса и потока? Назовите возможные состояния процесса.
- •Дайте характеристику возможным уровням параллелизма выполнения программ.
- •Распараллеливание на уровне задач
- •Уровень параллелизма данных
- •Уровень распараллеливания алгоритмов
- •Параллелизм на уровне инструкций
- •Каким образом файлы, процессы и потоки могут быть использованы для синхронизации? Сотрудничество с использованием разделения:
- •Сотрудничество с использованием связи:
- •Какие методы могут использоваться для ликвидации тупиковых ситуаций?
- •Приведите пример использования семафора. Что такое мьютекс, как он используется?
- •Перечислите методы взаимоисключений процессов.
- •Когда возникает необходимость в синхронизации процессов?
- •Дайте определение иерархической памяти.
- •Назовите задачи распределения памяти.
- •Дайте определение виртуальной памяти. Перечислите варианты организации такой памяти.
- •Для виртуализации используют 2 возможных подхода:
- •Недостатки свопинга:
- •Достоинства свопинга:
- •Что такое подкачка страниц?
- •Охарактеризуйте проблему защиты памяти.
- •Нужно ли бороться с фрагментацией памяти? Какие методы для этого существуют?
- •Что такое прямой доступ к памяти?
- •Как организуется управляемый прерываниями ввод-вывод?
- •Что дает многоуровневая организация физической памяти современных эвм?
- •Как связан уровень мультипрограммирования с объемом оперативной памяти?
- •Что такое виртуальная память? Какие подходы к организации виртуальной памяти используются в эвм?
- •Для виртуализации используют 2 возможных подхода:
- •Недостатки свопинга:
- •Достоинства свопинга:
- •Что такое свопинг? Для чего он используется?
- •Назовите функции ос по управлению памятью.
- •Что понимается под дефрагментацией памяти?
- •Раскройте понятия: логический, математический, виртуальный и физический адреса.
- •В чем суть страничной организации виртуальной памяти?
- •В чем суть сегментной организации виртуальной памяти?
- •В чем суть сегментно-страничной организации виртуальной памяти?
- •Основные компоненты подсистемы ввода-вывода.
- •Основные функции подсистемы ввода-вывода.
- •Три основных метода организации параллельной работы устройств ввода-вывода и процессора.
- •Методы согласования скоростей работы периферийных устройств.
- •Понятие буферизации.
- •Понятие драйвера устройства.
Уровень параллелизма данных
Название модели «параллелизм данных» происходит оттого, что параллелизм заключается в применении одной и той же операции к множеству элементов данных. Параллелизм данных демонстрирует архиватор, использующий для упаковки несколько ядер процессора. Данные разбиваются на блоки, которые единообразным образом обрабатываются (упаковываются) на разных узлах.
Уровень распараллеливания алгоритмов
Следующий уровень, это распараллеливание отдельных процедур и алгоритмов. Сюда можно отнести алгоритмы параллельной сортировки, умножение матриц, решение системы линейных уравнений.
Параллелизм на уровне инструкций
Наиболее низкий уровень параллелизма, осуществляемый на уровне параллельной обработки процессором нескольких инструкций. На этом же уровне находится пакетная обработка нескольких элементов данных одной командой процессора. Программа представляет собой поток инструкций выполняемых процессором. Можно изменить порядок этих инструкций, распределить их по группам, которые будут выполняться параллельно, без изменения результата работы всей программы. Это и называется параллелизмом на уровне инструкций. Для реализации данного вида параллелизма в микропроцессорах используется несколько конвейеров команд, такие технологии как предсказание команд, переименование регистров.
Каким образом файлы, процессы и потоки могут быть использованы для синхронизации? Сотрудничество с использованием разделения:
Этот случай охватывает процессы (потоки), взаимодействующие с другими процессами (потоками) без наличия явной информации о них. Например, несколько потоков могут обращаться к разделяемым переменным (глобальным) или совместно используемым файлам или базам данных. Поскольку данные хранятся в ресурсах (устройствах, памяти), в этом случае также возможны проблемы взаимоблокировок, взаимоисключения и голодания. Единственное отличие в том, что доступ к данным может осуществляться в двух режимах – чтения и записи, и взаимоисключающими должны быть только операции записи. Однако в этом случае вноситься новое требование синхронизации процессов для обеспечения согласованности данных.
Сотрудничество с использованием связи:
В этом случае различные процессы принимают участие в общей работе, которая их объединяет. Связь обеспечивает возможность синхронизации, или координации, различных действий процессов. Поскольку в процессе передачи сообщений не происходит какого-либо совместного использования ресурсов, взаимоисключение не требуется, хотя проблемы взаимоблокировок и голодания остаются актуальными.
Какие методы могут использоваться для ликвидации тупиковых ситуаций?
Принудительная выгрузка ресурсов. Способность забирать ресурс у процесса, отдавать его другому процессу, а затем возвращать назад так, что исходный процесс не замечает этого, в значительной мере зависит от ресурсов устройства. Выйти из тупика, таким образом, зачастую трудно или невозможно.
Восстановление через откат. В этом способе процессы должны периодически создавать контрольные точки, позволяющие запустить процесс с его предыстории. Когда взаимоблокировка обнаружена, достаточно просто понять, какие ресурсы нужны процессам. Чтобы выйти из тупика, процесс, занимающий необходимый ресурс, откатывается к тому моменту времени, перед которым он получил данный ресурс, для чего запускается одна из его контрольных точек. Вся работа, выполненная после этой контрольной точки, теряется. Если возобновленный процесс вновь попытается получить этот ресурс, ему придется ждать, пока ресурс станет доступным.
Восстановление путем уничтожения одного или более процессов – грубейший, но простейший выход из тупика. Проблема, какой процесс уничтожать.
