.
Теория операционных систем. Урок 5. Семафоры. Мониторы.
Автор megabax   
23.11.2023 г.
New Page 1

Теория операционных систем. Урок 5. Семафоры. Мониторы.

Чтобы смотреть урок полностью, подпишитесь на платный раздел.

В платном разделе статья находится здесь.


На прошлом уроке мы познакомились с принципами разруливания ситуаций состязания между процессами. Но все эти методы по своей сути нерациональные. На прошлом же уркое был предложен выход - использовать примитивы управления процессами, такие как sleep и wakeup. Напомню, первый приметив блокирует процесс, освобождая процессорное время для других процессов. В этом состоянии он будет до тех пор, пока его не активирует другой процесс. Приметив wakeup предназначен для активации указанного процесса. Использования этих примитивов решает проблему напрасной траты процессорного времени во время активного ожидания, но порождает ряд других проблем, которые мы сейчас будем разбирать.

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

...

...

...

 

... В языке Java (см. также цикл уроков Java для чайников) используется ...

 

...

...

...