Добавил:
Developer Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции (в примечаниях текст).pptx
Скачиваний:
16
Добавлен:
25.03.2023
Размер:
11.2 Mб
Скачать

Реализация многозадачности

•Прерывание таймера

когда при запуске, ОС программирует таймер на то, чтобы он

 

каждый квант времени передавал управление ОС.

•Переключение контекста

сохранение состояния исполнения (регистров) процесса и установка на

процессор контекста другого процесса.

•План блокировок, при наличии нескольких CPU

•Освобождение ресурсов при завершении процесса

Шаг

Поток 1

Поток 2

 

 

 

0

Хочет захватить A и B,

Хочет захватить A и B,

начинает с A

начинает с B

 

 

 

 

1

lock(A) — Захват А

lock(B) — Захват B

 

 

 

2

lock(B) — Ожидает

lock(A) — Ожидает

освобождения ресурса B

освобождения ресурса A

 

 

 

 

DEADLOCK –> Далее код не выполнится, так как произошел Deadlock в коде выше

n

unlock(A) — освобждение A

unlock(B) — освобждение B

 

 

 

n+1

unlock(B) — освобждение B

unlock(A) — освобждение A

 

 

 

Адреса и управление памятью

Существует два вида адресов:

Физический адрес – непосредственно адрес внутри микросхемы памяти, который передаётся по шине памяти.

Логический адрес – тот адрес, которым оперирует процесс.

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

В соответствии с этим, процессор может работать в двух режимах:

Реальный режим Защищенный режим