Партнерка на США и Канаду по недвижимости, выплаты в крипто

  • 30% recurring commission
  • Выплаты в USDT
  • Вывод каждую неделю
  • Комиссия до 5 лет за каждого referral

Тема лекции: «Система прерываний. Аппаратные и программные средства системы прерываний».

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

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

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

Всего микропроцессор различает 256 типов прерываний. Таким образом, все они могут быть закодированы в 1 байте. Каждому запросу прерывания в компьютере присваивается свой номер (тип прерывания), используемый для определения адреса обработчика прерывания.

НЕ нашли? Не то? Что вы ищете?

Действия микропроцессора по обработке запроса прерывания выполняются аппаратными средствами МП и включают в себя:

    определение типа прерывания; сохранение контекста прерываемой программы (некоторой информации, которая позволит вернуться к прерванной программе и продолжить ее выполнение). определение адреса обработчика прерывания и передача управления первой команде этого обработчика.

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

Таблица векторов прерываний располагается в самых младших адресах оперативной памяти, имеет объем 1 Кбайт и содержит 4байтные элементы (векторы прерываний) для 256 обработчиков прерываний( типов прерываний). Обращение к элементам таблицы осуществляется по 8-разрядному коду - типу прерывания. Занимает первый килобайт ОП (адреса 00000h-003FFh). Таблица векторов прерываний инициализируется при запуске системы, но в принципе может быть изменена и перемещена. Каждый вектор имеет свой номер и называется номером прерывания.

       Механизм обработки прерываний включает в себя следующие элементы:

1.  Установление факта прерывания (прием и идентификация сигнала на прерывание).

2.  Запоминание состояния прерванного процесса (состояние процесса определяется значением счетчика команд, содержимым регистра процессора)

3.  Управление аппаратно передается программе обработки прерывания. В этом случае, в счетчик команд заносится начальный адрес подпрограммы обработки прерывания, а в соответствующие регистры из слова состояния.

4.  Сохранение информации прерванной программе, которую не удалось спасти с помощью действий аппаратуры.

5.  Обработка прерывания. Работа может быть выполнена той же подпрограммой, которой было передано управление на 3-ем шаге, но в ОС чаще всего эта обработка реализуется путем вызова соотв. подпрограммы.

6.  восстановление информации относящейся к прерванному процессу.

7.  Возврат в прерванную программу.

       Первые 3 шага реализуются аппаратными средствами, а остальные – программно.

Главные функции механизма прерывания:

1.  Распознавание или классификация прерывания.

2.  Передача управления обработчику прерывания.

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

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

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

1) выводы микропроцессора

2) программируемый контроллер прерываний  (предназначен для фиксирования сигналов прерываний от восьми различных внешних устройств; он выполнен в виде микросхемы; именно он формирует номер вектора прерывания и выдает его шину данных);

3) внешние устройства (таймер, клавиатура, магнитные диски и т. п.)

Программным средствам системы прерываний:

1) таблица векторов прерываний.

2) два флага в регистре флагов flags/eflags:

• IF (Interrupt Flag) - флагпрерывания. Предназначен для маскирования (запрещения) аппаратных прерываний. Если IF=1, микропроцессор обрабатывает внешние прерывания, если = 0, то игнорирует;

• TF(TraceFlag) - флаг трассировки. Если он=1, то микропроцессор переходит в режим покомандной работы. В этом режиме в микропроцессоре генерируется внутреннее прерывание с номером 1;

3) машинные команды микропроцессора: int, into (прерывание по переполнению), iret, cli, sti

Тема лекции: «Понятие ресурса. Распределение ресурсов».

Ресурсом является средство вычислительной системы, которое может быть выделено процессу на определенный интервал времени.

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

В ОС, как правило, отсутствует отдельный супервизор ресурсов, поскольку функции распределения ресурсов реализуются как на уровне внешнего планирования, так и на уровне внутреннего планирования.

Основными функциями управления ресурсами являются:

? учет наличия и состояния ресурсов;

? прием и учет заявок на ресурсы от задач и процессов;

? распределение ресурсов между задачами и процессами;

? организация использования ресурсов, выделенных каждой задаче или процессу;

? возврат ресурса в систему по мере его освобождения потребителем.

Для реализации функций управления ресурсами в ОС формируются информационные таблицы, в которых отражаются следующие основные данные для ресурсов:

? учетная информация о ресурсе (идентификатор, класс, количество каналов и т. п.);

? код состояния ресурса;

? идентификатор процесса-владельца и т. п.;

для заявок на ресурсы:

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

? приоритет процесса;

? идентификатор и требуемый объем ресурса и т. п.

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

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

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

Системная тупиковая ситуация, или ситуация "зависания" системы – это ситуация, когда один или более процессов оказываются в состоянии тупика.

В операционных системах тупики возникают в большинстве случаев как результат конкуренции процессов за обладание монопольно используемыми ресурсами

четыре необходимых условия наличия тупика:

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

2) процессы удерживают за собой ресурсы, уже выделенные им, ожидая в то же время выделения дополнительных ресурсов (условие ожидания ресурсов);

3) ресурсы нельзя отобрать у процессов, удерживающих их, эти ресурсы не будут использованы для завершения работы (условие неперераспределяемости);

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

В проблеме тупиков выделяют следующие четыре основных направления: предотвращение тупиков, обход тупиков, обнаружение тупиков, восстановление после тупиков.

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

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

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

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