Файл: Вопросы для подготовки к экзамену по дисциплине " Операционные системы ".docx
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 10.01.2024
Просмотров: 165
Скачиваний: 1
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
-
Что такое синхронные (внутренние), асинхронные (внешние) и программные (события) прерывания?
-
асинхронные, или внешние (аппаратные) — события, которые исходят от внешних источников (например, периферийных устройств) и могут произойти в любой произвольный момент: сигнал от таймера, сетевой карты или дискового накопителя, нажатие клавиш клавиатуры, движение мыши. Факт возникновения в системе такого прерывания трактуется как запрос на прерывание (англ. Interrupt request, IRQ); -
синхронные, или внутренние — события в самом процессоре как результат нарушения каких-то условий при исполнении машинного кода: деление на ноль или переполнение стека, обращение к недопустимым адресам памяти или недопустимый код операции; -
программные (частный случай внутреннего прерывания) — инициируются исполнением специальной инструкции в коде программы. Программные прерывания, как правило, используются для обращения к функциям встроенного программного обеспечения (firmware), драйверов и операционной системы.
-
Перечислите источники внешних прерываний.
Внешние прерывания:
-
Системный таймер; -
Внешний устройства ввода/вывода; -
Нарушение питания; -
Пульт оператора; -
Другой процессор или другая вычислительная система.
-
Перечислите источники внутренних прерываний.
Внутренние прерывания:
-
Нарушение адресации; -
Неправильный код операции; -
Деление на ноль; -
Переполнение разрядной сетки или исчезновение порядка; -
Средства контроля (например, контроля чётности); -
Попытка выполнения привилегированной или запрещенной команды.
-
Что такое маскирование прерываний?
Следует иметь в виду, что имеется возможность разрешать или запрещать отдельные прерывания. Запрещение отдельных прерываний называется их маскированием.
-
Как решается вопрос о порядке обслуживания одновременно возникших запросов на прерывания?
Вполне реален случай одновременного возникновения двух и более прерываний. В этом случае порядок их обслуживания определяется важностью прерывания, которая называется приоритетом. Например, очевидно, что запрос прерывания от клавиатуры управления технологической машиной, требующий остановить её, важнее сигнала таймера, сообщающего об истечении какой-то выдержки времени
-
Что такое приоритет прерываний? Как можно изменить приоритет?
Тем не менее, в операционной системе имеется возможность повысить приоритеты прерываний, которые заданы последовательностью бит в специальном регистре, который называют часто регистром приоритетов. Если приоритеты повышены у двух и более прерываний (т.е. они важнее других), то сначала обрабатываются в естественном порядке прерывания с повышенным приоритетом, потом опять-таки в естественном порядке прерывания с обычным приоритетом.
-
Что такое режим прерываний? Как он устанавливается?
Комбинация разрешённых и запрещённых прерываний и приоритетов называется режимом прерываний.
-
Что такое дисциплина обслуживания прерывания? Для чего необходимо это понятие?
Порядок обслуживания прерываний в соответствии с их приоритетами называется дисциплиной обслуживания прерываний. Естественный порядок обслуживания прерываний встроен в аппаратную часть.
-
Перечислите и поясните основные дисциплины обслуживания прерываний.
Существует три основных дисциплины обслуживания прерываний:
-
с относительными приоритетами – обслуживание не прерывается даже при наличии запроса с более высоким приоритетом; -
с абсолютным приоритетом – первыми обслуживаются прерывания с наивысшим приоритетом; -
по принципу стека – запросы помещаются в стек и первыми обслуживаются последние пришедшие в стек (правило LCFS или LIFO).
-
Что такое дисциплина обслуживания прерываний с относительными приоритетами?
Обслуживание не прерывается даже при наличии запроса с более высоким приоритетом;
-
Что такое дисциплина обслуживания прерываний с абсолютным приоритетом?
Первыми обслуживаются прерывания с наивысшим приоритетом;
-
Что такое дисциплина обслуживания прерываний LCFS (FIFO)?
Запросы помещаются в стек и первыми обслуживаются последние пришедшие в стек (правило LCFS или LIFO).
-
Расположите в порядке возрастания приоритета источники прерываний: системный таймер, внешние устройства, средства контроля процессора и программные прерывания.
-
Программные прерывания -
Внешние устройства -
Системный таймер -
Средства контроля процессора
-
Расположите в порядке возрастания приоритета источники прерываний: сетевое оборудование, терминалы, магнитные диски.
-
Терминалы -
Сетевое оборудование -
Магнитные диски
-
Что такое процесс? Приведите примеры.
Под процессом обычно подразумевается последовательный вычислительный процесс, в котором каждая последующая команда программы выполняется после окончания предыдущей. Примером процесса является компиляция исходного текста программы в исполняемый файл, но компиляция двух исходных текстов – это два процесса, поскольку компилятор обрабатывает два набора данных.
-
Дайте современное определение понятия "Задача".
Изначально задачей называлась программа и обрабатываемый ею набор данных. Задача требует для своего выполнения процессорного времени, памяти и много другого. В настоящее время под задачей подразумевают единицу работы, для выполнения которой предоставляется центральный процессор.
-
Что такое ресурс? Приведите примеры ресурсов.
Для выполнения задачи и, разумеется, процесса необходимы процессорное время, память и многие другие обеспечивающие элементы. Эти элементы называются ресурсами.
Ресурс – это абстрактная структура, имеющая множество атрибутов, характеризующих способы доступа к ресурсу и его физическое представление в системе
-
Что такое дескриптор процесса, и какова его структура?
Каждый вычислительный процесс сопровождает специальная информационная структура, которая называется дескриптором процесса, в который помещаются:
-
идентификатор процесса PID – имя или иная характеристика, под которой процесс зарегистрирован в операционной системе; -
тип (или класс) процесса, определяющий для супервизора некоторые правила предоставления ресурса; -
приоритет предоставления ресурсов в пределах одного класса; -
переменная состояния, которая указывает состояние, в котором находится процесс (готов к работе, выполняется, ожидает устройство ввода-вывода и т.д.); -
контекст задачи, т.е. защищённую область памяти или, по крайней мере, её адрес, в которой находятся текущие значения регистров процессора; -
место в памяти или его адрес для организации обмена данными и сигналами с другими процессами; -
параметры запуска (момент времени запуска и периодичность процесса); -
адрес задачи в начальном её состоянии и адрес на диске, куда она может быть выгружена в случае её вытеснения другой задачей, имеющей более высокий приоритет (при отсутствии в операционной системе подсистемы управления файлами).
-
Нарисуйте и поясните диаграмму состояния процесса.
Активный процесс имеет три состояния:
-
готовность – все ресурсы могут быть предоставлены, если процесс перейдёт в состояние выполнения; -
выполнение – все ресурсы выделены, происходит выполнение команд программы; -
ожидание – затребованные ресурсы не могут быть выделены или не завершена операция ввода-вывода.
-
Что такое делимые и неделимые ресурсы? Приведите примеры.
Различают делимые и неделимые ресурсы. Делимые ресурсы способны к разделению между процессами, а неделимые – не способны к этому. Делимые процессы могут быть одновременно разделяемыми и параллельно разделяемыми. Одновременно разделяемые ресурсы используются двумя и более процессами одновременно, например, оперативная память. Параллельно разделяемые ресурсы используются процессами попеременно. Примером таких ресурсов являются устройства ввода-вывода.
-
Опишите три ситуации выделения ресурса задаче.
Ресурс может быть выделен задаче операционной системой в трёх случаях:
-
ресурс свободен и в системе нет запросов на него от задач с более высоким приоритетом; -
текущий запрос и ранее выданные запросы позволяют совместное использование ресурса; -
ресурс используется задачей с более низким приоритетом и может быть временно у неё отобран.
-
Что такое одновременное и параллельное (попеременное) разделение ресурсов? Приведите примеры.
-
В чём особенность оперативной памяти как разделяемого ресурса?
Оперативная память – второй по важности разделяемый ресурс вычислительной системы. От механизма её распределения зависят производительность системы и возможности программистов по созданию своих программ.
-
Как разделяется внешняя память? В чём особенность разделения памяти как ресурса?
Внешняя память тоже является разделяемым ресурсом, но её особенностью является разделение как дискового пространства, так и доступа к данным. Дисковое пространство может разделяться одновременно и попеременно, а доступ только попеременно.
-
Как решается вопрос разделения ресурсов с последовательным доступом?
Устройства с последовательным доступом не могут быть разделяемыми ресурсами, т.к. или потребуется выполнение противоречащих друг другу команд, или результаты выполнения двух задач будут перемешаны. Например, принтер, выводящий данные двух задач, перемешает фрагменты выводимых наборов данных, а накопитель на магнитной ленте не сможет выполнить команду записи и одновременно команду перемотки в начало ленты. Можно создать иллюзию разделения таких устройств, создав, например, виртуальный принтер для каждой задачи. Накопленные наборы данных могут быть выведены на реальный принтер один за другим, создав у пользователей иллюзию совместного использования принтера.
-
Опишите классификацию программных модулей как разделяемых и неразделяемых ресурсов.
С
истемные и программные модули являются одним из видов ресурсов.
Непривилегированные Привилегированные Реентабильные Повторно входимые
-
Что такое однократно используемые программные модули? Могут ли они быть разделяемыми ресурсами? Почему?
Однократно используемые модули, это модули, которые после загрузки в оперативную память могут быть выполнены только один раз, т.к. при выполнении портится или код модуля, или данные, влияющие на его работу. Такой модуль в принципе не может быть разделяемым ресурсом.
-
Что такое непривилегированные программные модули? Могут ли они быть разделяемыми ресурсами? Почему?
Непривилегированные модули – обычные программные модули, которые могут быть прерваны во время выполнения. Повторный вызов прерванного модуля может привести к потере данных. Поэтому такой модуль также не может в общем случае считаться разделяемым ресурсом.
-
Что такое привилегированные программные модули? Могут ли они быть разделяемыми ресурсами?
Привилегированные модули работают с отключённой системой прерываний. Они состоят из головной секции, собственно тела модуля и хвостовой секции. Головная секция отключает прерывания, собственно тело модуля содержит обычный код, хвостовая секция снова включает прерывания. Поэтому модуль всегда выполняется до конца, его повторный вызов не грозит никакими неприятными последствиями, и привилегированный модуль может быть разделяемым ресурсом.
-
Почему привилегированные программные модули могут быть разделяемыми ресурсами?
Модуль всегда выполняется до конца, его повторный вызов не грозит никакими неприятными последствиями, и привилегированный модуль может быть разделяемым ресурсом.
-
Что такое реентабельные программные модули? Могут ли они быть разделяемыми ресурсами?
Реентабельные модули допускают прерывание выполнения, однако сохраняют все необходимые данные в свободной памяти как динамические данные или как статические данные в секции памяти, выделенной модулю. Реентабельный модуль, как и привилегированный, состоит из трёх секций. Головная секция является привилегированным модулем и заказывает у операционной системы память для хранения всех промежуточных результатов вычислений. Тело реентабельного модуля работает в непривилегированном режиме и его выполнение может быть прервано в любой момент. После возврата из прерывания модуль продолжает работать, используя сохранённые данные. Хвостовая секция также работает в привилегированном