Реферат: Лекции по операционным системам

3. Корректное возвращение к прерванной программе

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

????

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

1) с относительным приоритетом. При этом обслуживание не прерывается даже при наличии запросов с более высокими приоритетами. после окончания обслуживания данного запроса (текущего) обслуживается запрос с наивысшим приоритетом. для организации такой дисциплины необходимо в программе обслуживания данного запроса наложить маски на все остальные прерывания или просто отключить систему прерываний.

2) с абсолютным приоритетом. Всегда обслуживаются задачи с наивысшим приоритетом. Для реализации этой дисциплины при запросе на обработку прерываний маскируются все прерывания с низшим приоритетом. При этом возможно многоуровневое прерывание, т. е. прерывание программы обработки прерывания. Число уровней прерывания в этом режиме изменяется и зависит от приоритета запроса по принципу стека: LCFS – last come first served, т . е. запрос с более высоким приоритетом может прервать запрос с более низким приоритетом. При появлении запроса на прерывание система прерываний идентифицирует сигнал и если прерывания разрешены, то управление передается на соотв. программу обработки прерываний.

??? Служебные секции, в которых осуществляется сохранение контекста прерванной задачи и последняя секция в которой осуществляется восстановление контекста, чтобы система прерываний не среагировала повторно на сигнал запроса на прерывание. Эта система прерываний автоматически отключает прерывания, поэтому необходимо в подпрограмм обработки прерываний вновь включать эту систему обработки прерываний. Итак, на время выполнения центральной секции обработки прерываний прерывания разрешены, на время работы заключительной секции подпрограмма обработки прерываний должна быть отключена, а после восстановления контекста прерванной задачи включена вновь. Сии действия нужно выполнять в каждой обработке прерываний. Во многих ОС 1 секция обработки прерываний выделяется в специальный программный модуль наз. супервизором прерываний.

3. В чем заключается различие между повторновходимым (реентерным) и повторнопрерываемыми программными модулями. Как они реализуются.

№2

1. Что такое система управления файлами (СУФ)?

Назначение СУФ.

Организация более удобного доступа к данным, организованным как файлы. Вместо низкоуровнего доступа к данным – с указанием физического адреса каждой записи – используется логический доступ с указанием имени файла и записи в нём.

Ряд ОС позволяет работать с несколькими СУФ, в этом случает говорят о монтируемых файловых системах. Существуют также ОС работающие без СУФ, т.е. любая система управления файлами нужна не сама по себе, она разработана для работы в конкретной СО и конкретной файловой системой.

2. Внешние, внутренние и программные прерывания.

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

Внутренние прерывания вызываются событиями, которые связаны с работой процессора и являются синхронными с его операциями. Например: при нарушении адресации (когда указан запрещенный или несуществующий адрес) либо обращение к отсутствующему сегменту или странице при организации виртуальной памяти; при наличии в поле кода операции незадействованной 2ичной комбинации; при делении на 0; при переполнении или исчезновения порядка; при обнаружении ошибок четности, ошибок в работе различных устройств аппаратуры средствами контроля.

Программные прерывания. Эти прерывания происходят по соответствующей команде прерывания т. е. по этой команде процессор осуществляет те же действия, что и при обычных внутренних прерываниях. Данный механизм был специально введен для того, чтобы переключение на системные программные модули происходило не просто как переход на подпрограмму, а точно таким же образом как и в обычных прерываниях. Этим обеспечивается автоматическое переключения процессора в привилегированный режим с возможностью исполнения любых команд. Сигналы, вызывающие прерывания, формируются вне процессора или в самом процессоре, при этом возникать они могут одновременно. Выбор одного из них для обработки осуществляется на основе приоритета, приписанных к каждому типу прерывания. Учет приоритета прерывания может быть встроен в технические средства, а также определяться ОС.

Распределение прерываний по уровням приоритета:

Средства контроля CPU

Высший приоритете

Системный таймер

Магнитные диски

Сетевое оборудование

Терминалы

Программные прерывания

Низший приоритете

3. Изобразить диаграмму состояния процесса. Пояснить все возможные переходы из одного состояния в другое.

Состояния процесса.

За время своего существования процесс может осуществить переход из одного состояния в другое. Это обусловлено обращениями к ОС с запросами ресурсов и выполнением системных функций, которые предоставляют ОС взаимодействие с другими процессами, появлением сигналов прерывания от таймера и устройств ввода/вывода. Процесс из состояния бездействия может перейти в состояние готовности в следующем случае:

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

2 При выборе из очереди на выполнение процесс может перейти от бездействия к готовности. Это характерно для ОС работающих в постоянном режиме.

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

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

Из состояния выполнения процесс может выйти по одной из следующих причин:

1 Процесс завершается, при этом он посредством обращения к супервизору передает управление ОС и сообщает ей о своем завершении. В результате их действий супервизор либо переводит его в список бездействующих процессов либо уничтожает. В состояние бездействия процесс может быть переведен принудительно по команде оператора. Действие этой команды реализуется системными процессами. которые транслируют запрос супервизору с требованием перевести соотв. процесс в состояние бездействия.

Из состояния выполнения процесс переводится в состояние готовности к выполнению в связи с появлением более приоритетной задачи или в связи с окончанием выделенного этому процессу кванта времени. Либо вследствие запроса операции ввода/вывода, который должен быть выполнен прежде чем процесс может продолжить исполнение либо в силу невозможности предоставить ему ресурс запрошенный в настоящий момент. При поступлении соответствующего сигнала о завершении операции ввода/вывода, освобождающем требуемый ресурс, в оперативную память загружается необходимая страница виртуальной памяти. Процесс деблокируется и переводится из состояния готовности к исполнению. Итак, движущей силой, меняющей состояния процессов, является механизм прерываний.

№3

1. Интерфейсные оболочки. Операционная среда.

К-во Просмотров: 334
Бесплатно скачать Реферат: Лекции по операционным системам