Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЗАДАНИЕ НА КОНТРОЛЬНУЮ РАБОТУ.doc
Скачиваний:
3
Добавлен:
30.04.2022
Размер:
166.91 Кб
Скачать

Тема 7. Понятие прерывания

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

Идея прерываний была предложена в середине 50-х годов и можно без преувели­чения сказать, что она внесла наиболее весомый вклад в развитие вычислитель­ной техники. Основная цель введения прерываний - реализация асинхронного режима работы и распараллеливание работы отдельных устройств вычислитель­ного комплекса.

Механизм прерываний реализуется аппаратно-программными средствами. Струк­туры систем прерывания (в зависимости от аппаратной архитектуры) могут быть самыми разными, но все они имеют одну общую особенность - прерывание не­пременно влечет за собой изменение порядка выполнения команд процессором.

Итак, главные функции механизма прерываний:

- распознавание или классификация прерываний;

- передача управления соответственно обработчику

прерываний;

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

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

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

Внешние прерывания вызываются асинхронными событиями, которые происхо­дят вне прерываемого процесса, например:

- прерывания от таймера;

- прерывания от внешних устройств

(прерывания по вводу/выводу);

- прерывания по нарушению питания;

- прерывания с пульта оператора вычислительной системы;

- прерывания от другого процессора или другой вычислительной системы.

Внутренние прерывания вызываются событиями, которые связаны с работой про­цессора и являются синхронными с его операциями. Примерами являются сле­дующие запросы на прерывания:

- при нарушении адресации (в адресной части выполняемой команды указан запрещенный или несуществующий адрес, обращение к отсутствующему сег­менту или странице при организации механизмов виртуальной памяти);

- при наличии в поле кода операции незадействованной

двоичной комбинации;

- при делении на нуль;

- при переполнении или исчезновении порядка;

- при обнаружении ошибок четности, ошибок в работе

различных устройств аппаратуры средствами контроля.

Тема 8. Управление задачами и памятью в операционных системах обучения

Оперативная память - это важнейший ресурс любой вычислительной системы, поскольку без нее (как, впрочем, и без центрального процессора) невозможно выполнение ни одной программы. Мы уже отмечали, что память является разде­ляемым ресурсом. От выбранных механизмов распределения памяти между выполняющимися процессорами очень сильно зависит и эффективность исполь­зования ресурсов системы, и ее производительность, и возможности, которыми могут пользоваться программисты при создании своих программ. Способы рас­пределения времени центрального процессора тоже сильно влияют и на скорость выполнения отдельных вычислений, и на общую эффективность вычислитель­ной системы.

Понятие процесса (задачи) нам уже известно. В данной главе мы не будем ста­раться разделять понятия процесс (process) и поток (thread), вместо этого ис­пользуя как бы обобщающий термин task (задача). В других разделах, если спе­циально это не оговаривается, под задачей или процессом следует понимать практически одно и то же. Сейчас же мы будем говорить о разделении ресурса центрального процессора, поэтому термин задача может включать в себя и поня­тие треда (потока).

Итак, операционная система выполняет следующие основные функции, связан­ные с управлением задачами:

- создание и удаление задач;

- планирование процессов и диспетчеризация задач;

- синхронизация задач, обеспечение их средствами

коммуникации.

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