Проблема переполненного буфера (проблема производителя и потребителя)
Проблема переполненного буфера (проблема производителя и потребителя) - раздел Философия, Реализация потоков в пространстве пользователя, ядра и смешанное Рассмотрим Два Процесса, Которые Совместно Используют Буфер Ограниченного Раз...
Рассмотрим два процесса, которые совместно используют буфер ограниченного размера, один процесс пишет в буфер, другой считывает данные.
Чтобы первый процесс не писал, когда буфер полный, а второй не считывал, когда он пуст, вводится переменная count для подсчета количества элементов в буфере.
В этой ситуации оба процесса могут попасть в состояние ожидания, если пропадет сигнал активации.
Алгоритм такой ситуации:
1. ПроцессВ, считал count=0 (заблокироваться он еще не успел)
2. Планировщик передал управление процессу А
3. ПроцессА, выполнил все вплоть до wakeup, пытаясь разблокировать процесс В(но он не заблокирован, wakeup срабатывает впустую)
4. Планировщик передал управление процессу В
5. И он заблокировался, и больше сигнала на разблокировку не получит
6. процессАв конце концов заполнит буфер и заблокируется, но сигнала на разблокировку не получит.
В случае потоков в пространстве пользователяядро о потоках ничего не знает Каждому процессу необходима таблица потоков аналогичная таблице... Преимущества случая потоков в пространстве пользователя...
Взаимное исключение с активным ожиданием
Рассмотрим методы взаимного исключения
Запрещение прерываний
Заключается в запрещении всех прерываний при входе процесса в критическую область.
Недостато
Семафоры
Для устройств ввода/вывода семафор выставляется равный нулю. После запуска управляющего процесса выполняется down, и т.к. семафор равен нулю, процесс блокируется. Когда нужно активизировать процесс
Планирование в системах пакетной обработки
"Первый пришел - первым обслужен" (FIFO - First In First Out)
Процессы ставятся в очередь по мере поступления.
Преимущества:
· Пр
Выход из взаимоблокировки
Восстановление при помощи принудительной выгрузки ресурса
Как правило, требует ручного вмешательства (например: принтер).
Восстановление через откат
Страничная организации памяти.
В основе механизма классической виртуальной памяти лежит страничная организация математической, оперативной памяти и, частично, памятипрямого доступа (памяти на магнитных дисках).
Базовые алгоритмы замещения страниц
«Не использовавшаяся в последнее время страница»
Для каждой страницы поддерживаются 2 статусных бита. Бит R (Referenced) – бит обращения. Бит устанавливается всякий раз, когд
Алгоритмы освобождения памяти
Алгоритм выставления флагов
Простой алгоритм определения достижимых объектов, «алгоритм пометок» (Mark and Sweep), заключается в следующем:
для каждого объекта хранится бит,
Сегментная организация памяти
Сегментная адресация памяти — схема логической адресации памяти компьютера в архитектуре x86. Линейный адрес конкретной ячейки памяти, который в некоторых режимах работы процессора
Зачем нужен контроллер прерываний
В зависимости от источника возникновения сигнала прерывания делятся на:
Асинхронные или внешние (аппаратные) — события, которые исходят от внешних источников (например, периферийных устрой
Механизм обработки прерываний
Прерывания представляют собой механизм, позволяющий координировать параллельное функционирование отдельных устройств вычислительной системы и реагировать на особые состояния, возникающие при работе
Хотите получать на электронную почту самые свежие новости?
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Новости и инфо для студентов