У чому відмінність мутекс від семафора студопедія

Взаємовиключення (mutex, м'ютекс) - це об'єкт синхронізації, який встановлюється в особливу сигнальний стан, коли чи не зайнятий будь-яким потоком. Тільки один потік володіє цим об'єктом в будь-який момент часу, звідси і назва таких об'єктів (від англійського mutually exclusive access - взаємно виключає доступ) - одночасний доступ до загального ресурсу виключається. Після всіх необхідних дій м'ютекс звільняється, надаючи іншим потокам доступ до загального ресурсу. Об'єкт може підтримувати рекурсивний захоплення вдруге тим же потоком, збільшуючи лічильник, що не блокуючи потік, і вимагаючи потім багаторазового звільнення. Такий, наприклад, mutex в Win32і KMUTEX в ядрі Windows. Проте є й такі реалізації, які не підтримують таке і призводять до взаємної блокування потоку при спробі рекурсивного захоплення. Це FAST_MUTEX в ядрі Windows і критична секція в Win32.

Семафори є доступні ресурси, які можуть бути придбані декількома потоками в один і той же час, поки пул ресурсів не спорожніє. Тоді додаткові потоки повинні чекати, поки необхідну кількість ресурсів не буде знову доступно. Семафори дуже ефективні, оскільки вони дозволяють одночасний доступ до ресурсів. Семафор є логічне розширення мьютекса - семафор з лічильником 1 еквівалентний м'ютексів, але лічильник може бути і більше 1.

50. Що таке інверсія пріоритету?

Інверсія пріоритетів - це ситуація, в якій, в результаті взаємних синхронізацій, управління отримує не та гілка виконання, яка повинна була б отримати з міркувань пріоритетності, а інша, з більш низьким пріоритетом.

Механізми, які породжують це явище, можуть бути різноманітні (рахункові семафори).

51. За яких схемах планування завдань інверсія пріоритету виникає?

Фіксовані пріоритети - пріоритет завданню призначається при її створенні і не змінюється протягом її життя. Ця схема з різними доповненнями застосовується в більшості систем реального часу. У схемах планування ОСРВ часто потрібно, щоб пріоритет кожному завданню був унікальним, тому часто ОСРВ мають велике число пріоритетів (зазвичай 255 і більше).

Схожі статті