Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
OS_otveti.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
140.51 Кб
Скачать

5) Прерывания: определение, типы, переключение контекста и обработка

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

В зависимости от источника, прерывания делятся на

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

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

3.исключения - являются реакцией микропроцессора на нестандартную ситуацию, возникшую внутри микропроцессора во время выполнения некоторой команды программы (деление на ноль, прерывание по флагу TF (трассировка)).

Обработка прерывания в реальном режиме

Производится в три этапа:

1)прекращение выполнения текущей программы;

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

2) переход к выполнению и выполнение программы обработки прерывания;

Здесь определяется источник прерывания и вызывается соответствующий обработчик прерывания.

3) возврат управления прерванной программе.

6) Потоки: определение, назначение, состояния.

+Потоки — это наборы команд, которые могут получать время процессора. Время процессора выделяется квантами. Квант времени — это минимальный интервал, в течение которого только один поток использует процессор.

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

+За время своего существования в системе поток может многократно находиться в одном из трех состояний:

-выполнение – активное состояние, во время которого поток обладает всеми необходимыми ресурсами и непосредственно выполняется процессором;

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

-ожидание – пассивное состояние, находясь в котором поток заблокирован по своим внутренним причинам (ждет осуществления некоторого события, например, завершения операции ввода/вывода).

+Возможные переходы между состояниями:

-Поток выбран на выполнение;

-Поток ожидает завершения ввода/вывода;

-Ввод/вывод завершен (событие произошло);

-Поток вытеснен.

7) Процессы: понятие, состояния, модель представления в ос и операции.

Понятие процесса, ресурса. Состояние процесса в вычислительной среде. Классификация процессов. Иерархия процессов.

Процесс - программа на этапе выполнения.

Не следует смешивать понятия процесс и программа. Программа — это план действий, а процесс — это само действие.

Состояния процесса в вычислительной среде.

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

Различают следующие состояния процесса:

новый (new) - процесс только что создан.

выполняемый (running) - реализация процесса, команды программы выполняются в CPU.

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

готовый (ready) - имеются все ресурсы кроме процессора, процесс ожидает его освобождения.

завершенный (terminated) - процесс завершил свою работу, высвобождение всех ресурсов.

Классификация процессов. Иерархия процессов

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

  1. По генеалогическому признаку различают порождающие и порожденные процессы.

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

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

  4. По месту развития - внутренние (реализуются на центральном процессоре) и внешние (реализуются на внешних процессорах).

  5. По принадлежности к операционной системе - системные (исполняют программу из состава операционной системы) и пользовательские.

  6. По связности различают процессы:

  1. взаимосвязанные имеют какую–то связь (пространственно–временную, управляющую, информационную);

  2. изолированные – слабо связанные;

  3. информационно-независимые используют совместные ресурсы, но имеют собственные информационные базы;

  4. взаимодействующие - имеют информационные связи и разделяют общие структуры данных;

  5. взаимосвязанные по ресурсам;

  6. конкурирующие.

  1. Порядок взаимосвязи процессов определяется синхронизирующими правилами. Процессы могут находиться в отношении:

  1. предшествования - один всегда находится в активном состоянии раньше, чем другой;

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

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]