Автор работы: Пользователь скрыл имя, 03 Мая 2013 в 20:33, реферат
Понятие «вычислительный процесс» является одним из основных при рассмотрении операционных систем. Последовательный процесс (иногда называемый «задачей») - это выполнение отдельной программы с её данными на последовательном процессоре. Концептуально процессор рассматривается в двух аспектах: во-первых, он является носителем данных и, во-вторых, он одновременно выполняет операции, связанные с их обработкой.
В качестве примеров можно назвать следующие процессы или задачи: прикладные программы пользователей, утилиты и другие системные обрабатывающие программы.
Программные прерывания. Эти прерывания происходят по соответствующей команде прерывания т. е. по этой команде процессор осуществляет те же действия, что и при обычных внутренних прерываниях. Данный механизм был специально введен для того, чтобы переключение на системные программные модули происходило не просто как переход на подпрограмму, а точно таким же образом как и в обычных прерываниях. Этим обеспечивается автоматическое переключения процессора в привилегированный режим с возможностью исполнения любых команд. Сигналы, вызывающие прерывания, формируются вне процессора или в самом процессоре, при этом возникать они могут одновременно. Выбор одного из них для обработки осуществляется на основе приоритета, приписанных к каждому типу прерывания. Учет приоритета прерывания может быть встроен в технические средства, а также определяться ОС. Распределение прерываний по уровням приоритета представлены в таблице 1
Таблица 1.
Средства контроля CPU |
Высший приоритете |
Системный таймер |
|
Магнитные диски | |
Сетевое оборудование | |
Терминалы | |
Программные прерывания |
Низший приоритете |
Структуры систем прерываний могут быть самыми различными, но все они имеют общую особенность – прерывание непременно ведет за собой изменение порядка выполнения команд процессором. Механизм обработки прерываний включает в себя следующие элементы:
Первые 3 шага реализуются аппаратными средствами , а остальные – программно.
Переход от прерванной программе к обработчику и обратно должен производится как можно быстрее. Одним из быстрых методов является использование таблицы сод. перечень всех допустимых для компьютера прерываний и адреса соотв. обработчиков. Для корректного возвращения к прерванной программе, перед передачей управления обработчику, содержимое регистров процессора запоминается либо в памяти с прямым доступом либо в системном стеке.
Наличие сигнала прерывания не обязательно должно вызывать прерывание исполняющейся программы, процессор может обладать системой защиты от прерываний: отключение системы прерываний либо запрет или маскирование отдельных сигналов прерываний. Программное управление этими средствами позволяет ОС регулировать обработку сигналов прерывания. Процессор может обрабатывать прерывания сразу по приходу прерывания, откладывать их обработку на некоторое время, полностью игнорировать. Обычно операции прерывания выполняются только после завершения выполнения текущей команды. Поскольку сигналы прерывания возникают в произвольные моменты времени, то на момент прерывания может существовать несколько сигналов прерывания, которые могут быть обработаны только последовательно. Чтобы обработать сигналы прерывания в разумном порядке им присваиваются приоритеты. Программы управляя специальными регистрами маски, позволяют реализовать различные дисциплины обслуживания:
Суть механизма управления прерываниями PCI-устройств в следующем. В общем случае существует четыре физических линии PCI-прерываний, называемых PIRQ0, PIRQ1, PIRQ2 и PIRQ3. Они подключены к контроллеру прерываний. Каждое PCI-устройство со своей стороны как бы имеет четыре разъема, называемые INT A, INT B, INT C и INT D. Подключать линии к разъемам можно в любом порядке. Обычно устройство требует только одну линию прерывания, подключенную к INT A. Будучи установленным в первый слот, устройство использует линию PIRQ0, а во втором слоте на том же контакте будет линия PIRQ1. Тем самым устройства в разных слотах будут использовать разные физические линии прерываний. Аппаратный конфликт между ними будет исключен.
Для современных систем четырех
линий оказывается
Линии PIRQ подключаются к контроллеру прерываний. Им, как и другим линиям, назначаются логические IRQ-номера. Если на одной физической линии находятся несколько устройств (а это допустимо), то все они будут иметь один и тот же номер IRQ. Если устройства находятся на разных физических линиях, они все равно могут получить одинаковые номера IRQ. Нормальные драйверы позволят им свободно работать без потери производительности, так как шина PCI все равно может захватываться только одним устройством. Главное - распознать, от какого устройства пришел сигнал.
Номера линиям PIRQ назначаются автоматически благодаря пресловутому механизму Plug&Play. Но ведь есть и ISA-устройства, поддерживающие Plug&Play. Они тоже имеют возможность автоматически получить номер IRQ. Но их линия прерывания принадлежит им монопольно, и если такой же номер получит одна из линий PIRQ, возникнет неразрешимый конфликт.
Итак, мы выяснили, что устройства
PCI должны быть лишены проблем с конфликтами
IRQ. Если они, конечно, правильно работают,
а так бывает не всегда. К тому
же драйверы должны поддерживать механизм
совместного использования прер
Большинство номеров IRQ уже заняты стандартными устройствами, точнее, назначены их линиям прерываний. Пройдемся по порядку:
0 - системный таймер (номер всегда занят);
1 - клавиатура (номер всегда занят);
2 - второй контроллер прерываний (всегда занят);
3 - порт COM2 (может быть отключен, а номер - освобожден);
4 - порт COM1 (может быть отключен, а номер - освобожден);
5 - порт LPT2 (обычно номер свободен);
6 - контроллер гибких дисков (может быть отключен, а номер - освобожден);
7 - порт LPT1 (если не в режиме EPP или ECP, то номер свободен);
8 - часы реального времени (всегда занят);
9 - свободен;
10 - свободен;
11 - свободен;
12 - мышь PS/2 (может быть свободен, если нет такой мыши);
13 - сопроцессор (всегда занят);
14 и 15 - контроллер жестких дисков (может быть отключен, а номер - освобожден).
В типичной системе свободны номера 5, 7, 9-11, то есть пять из пятнадцати. Кроме того, можно смело отключить COM2 и LPT1-порты, увеличив число свободных номеров до семи. Свободны - не значит, что не заняты, просто между ними возможна свободная перетасовка. В любой системе имеется три стандартных PCI-устройства - ACPI-, USB-контроллеры и видеокарта, каждое из которых займет по одному номеру. Сложное устройство (например, звуковая карта) может потребовать несколько линий - INT A, INT B и т.д. для своих компонентов, которые между собой не будут конфликтовать (как-никак разные физические линии), а вот с другими устройствами - запросто. В Windows 9x В панели управления есть иконка "Система", в вызываемом апплете - закладка "Устройства. Выбираем свойства устройства "Компьютер", и там будут перечислены все устройства с указанием их IRQ, которые показаны на рисунке 2
Рисунок 2
В Windows 2000 у нас нет доступа
к управлению прерываниями, поэтому
для просмотра списка IRQ нужно
воспользоваться стандартной
Рисунок 3
Итак, мы выяснили что процессами могут быть прикладные программы пользователей, утилиты и другие системные обрабатывающие программы. Также процесс имеет различные состояния. Также мы узнали, что прерывания представляют собой механизм позволяющий координировать параллельное функционирование отдельных устройств вычислительной системы и реагировать на особые состояния возникающие при работе процессора.
Информация о работе Вычислительный процесс и обслуживание прерываний