
- •Список вопросов для подготовки к экзамену «Операционные системы, среды и оболочки»
- •Перечислите основные действия, которые нужно было выполнить пользователю для выполнения его программы до появления операционных систем.
- •Что такое операционная система, операционная среда, операционная оболочка? Дайте определение.
- •Что такое однопрограммная пакетная обработка? Как определить классическое мультипрограммирование?
- •Что относится к базовому программному обеспечению ранних компьютерных систем?
- •Что такое многопрограммная пакетная обработка?
- •Что такое мультипроцессорная обработка, чем она отличается от мультипрограммирования?
- •Перечислите поколения операционных систем. Назовите основные отличительные признаки поколений.
- •Первое поколение ос.
- •Второе поколение ос. Середина 60-х г.
- •Третье поколение ос.
- •Четвертое поколение ос.
- •Что такое архитектура операционной системы? Какие архитектуры ос вы можете охарактеризовать?
- •Что такое виртуальная машина? в чем Вы видите преимущества использования виртуальных машин?
- •Дайте определение процессу и потоку. Чем поток отличается от процесса?
- •Перечислите основные задачи ос по управлению процессами. Её задачи:
- •Как можно представить модель процесса и потока? Назовите возможные состояния процесса.
- •Дайте характеристику возможным уровням параллелизма выполнения программ.
- •Распараллеливание на уровне задач
- •Уровень параллелизма данных
- •Уровень распараллеливания алгоритмов
- •Параллелизм на уровне инструкций
- •Каким образом файлы, процессы и потоки могут быть использованы для синхронизации? Сотрудничество с использованием разделения:
- •Сотрудничество с использованием связи:
- •Какие методы могут использоваться для ликвидации тупиковых ситуаций?
- •Приведите пример использования семафора. Что такое мьютекс, как он используется?
- •Перечислите методы взаимоисключений процессов.
- •Когда возникает необходимость в синхронизации процессов?
- •Дайте определение иерархической памяти.
- •Назовите задачи распределения памяти.
- •Дайте определение виртуальной памяти. Перечислите варианты организации такой памяти.
- •Для виртуализации используют 2 возможных подхода:
- •Недостатки свопинга:
- •Достоинства свопинга:
- •Что такое подкачка страниц?
- •Охарактеризуйте проблему защиты памяти.
- •Нужно ли бороться с фрагментацией памяти? Какие методы для этого существуют?
- •Что такое прямой доступ к памяти?
- •Как организуется управляемый прерываниями ввод-вывод?
- •Что дает многоуровневая организация физической памяти современных эвм?
- •Как связан уровень мультипрограммирования с объемом оперативной памяти?
- •Что такое виртуальная память? Какие подходы к организации виртуальной памяти используются в эвм?
- •Для виртуализации используют 2 возможных подхода:
- •Недостатки свопинга:
- •Достоинства свопинга:
- •Что такое свопинг? Для чего он используется?
- •Назовите функции ос по управлению памятью.
- •Что понимается под дефрагментацией памяти?
- •Раскройте понятия: логический, математический, виртуальный и физический адреса.
- •В чем суть страничной организации виртуальной памяти?
- •В чем суть сегментной организации виртуальной памяти?
- •В чем суть сегментно-страничной организации виртуальной памяти?
- •Основные компоненты подсистемы ввода-вывода.
- •Основные функции подсистемы ввода-вывода.
- •Три основных метода организации параллельной работы устройств ввода-вывода и процессора.
- •Методы согласования скоростей работы периферийных устройств.
- •Понятие буферизации.
- •Понятие драйвера устройства.
В чем суть страничной организации виртуальной памяти?
Страничная виртуальная память – организует перемещение данных между основной памятью и диском страницами – частями виртуального адресного пространства, фиксированного и сравнительно небольшого размера.
При страничной организации виртуальное адресное пространство (ВАП) каждого загруженного приложения (процесса) делится на одинаковые фиксированные для данной системы части, называемые виртуальными страницами.
Обычно размер ВАП при делении на размер одной страницы дает дробную величину, что говорит о том, что его размер не кратен размеру виртуальной страницы. Поэтому последняя страница, как правило, дополняется неиспользованной фиксированной областью.
Оперативная память компьютера также делится на страницы, называемые физическими. Их размер, как правило, совпадает с размерами виртуальной страницы. Размер страницы всегда выбирается кратным степени двойки (1024, 2048, 4096,…).
При создании процессов ОС загружает в ОП несколько его виртуальных страниц – начальные страницы кодового сегмента и сегмент исходных данных.
Копия всего виртуального пространства находится на диске.
Смежные виртуальные страницы необязательно должны находиться в смежных физических страницах. Их расположение произвольно. Для каждого процесса ОС создает таблицу страниц – специальную информационную структуру, содержащую записи обо всех виртуальных страницах процесса.
В чем суть сегментной организации виртуальной памяти?
Сегментная виртуальная память – предусматривает перемещение данных сегментами – частями виртуального адресного пространства произвольного размера, полученными с учетом смыслового значения данных.
При сегментной организации виртуального адресного пространство оно делится на равные части механически без учета смыслового значения данных. Для многих задач наличие двух и более отдельных виртуальных адресных пространств может оказаться лучшим решением.
В настоящее время современные ЭВМ обеспечиваются множеством полностью независимых адресных пространств, называемых сегментами. Каждый сегмент содержит линейную последовательность адресов от 0 до некоторого максимума. Сегменты могут быть различной длины. Их размер может меняться во время выполнения. Поскольку каждый сегмент представляет собой отдельное адресное пространство, разные сегменты могут менять свои размеры независимо друг от друга.
Чтобы определить адрес такой памяти программы используют адрес, состоящий из двух частей – номера сегмента и адреса внутри сегмента. Максимальный размер сегмента определяется разрядностью виртуального адреса (для 32-х разрядного Pentium’а 2^32≈4Гб).
Сегмент, в первую очередь, логический объект, что должен учитывать программист в процессе написания программы.
В чем суть сегментно-страничной организации виртуальной памяти?
Сегментно-страничная виртуальная память – использует двухуровневое деление: виртуальное адресное пространство делится на сегменты, а сегменты на страницы. Единицей перемещения является страница.
Сочетает достоинства страничного и сегментного метода управления памятью. В нем адресное пространство пользователя разбивается на ряд сегментов по усмотрению программиста. Каждый сегмент разбивается на страницы фиксированного размера, равные по величине страницам физической памяти. С точки зрения программиста логический адрес состоит из номера сегмента и смещения в нем, а с точки зрения ОС смещение рассматривается как номер страницы внутри сегмента и смещения в ней. Возросла сложность системы управления. С каждым процессом связана одна таблица сегментов и несколько, по одной на каждый сегмент, таблиц страниц.
При работе определенного процесса в регистре процессора хранится начальный адрес соответствующей таблицы сегментов. Получив виртуальный адрес, процессор использует его часть, представляющую номер сегмента, в качестве индекса в таблице сегментов для поиска таблицы страниц. После этого часть адреса, представляющая адрес страницы, используется для поиска номера физической страницы в таблице страниц. Затем часть адреса, представляющая смещение, используется для получения искомого физического адреса путем добавления к начальному адресу физической страницы.
Сегментация удобна для реализации защиты и совместного использования сегментов разными процессами. Поскольку каждая запись в таблице сегментов включает начальный адрес и значение его длины программа не в состоянии преднамеренно обратиться за его границы.
Для осуществления совместного использования сегментов с использованием сегмента он помещается в виртуальное адресное пространство нескольких процессов, причем параметры отображения этого сегмента настраиваются так, чтобы они соответствовали одной и той же области ОП.
Более экономичным для ОС является метод создания разделяемого виртуального сегмента – перемещение его в общую часть ВАП, которое обычно используется для модулей ОС. В этом случае настройка соответствующей записи для разделяемого сегмента выполняется только один раз, а все процессы пользуются этой настройкой и совместно используют часть ОП.