Студопедия
Новини освіти і науки:
МАРК РЕГНЕРУС ДОСЛІДЖЕННЯ: Наскільки відрізняються діти, які виросли в одностатевих союзах


РЕЗОЛЮЦІЯ: Громадського обговорення навчальної програми статевого виховання


ЧОМУ ФОНД ОЛЕНИ ПІНЧУК І МОЗ УКРАЇНИ ПРОПАГУЮТЬ "СЕКСУАЛЬНІ УРОКИ"


ЕКЗИСТЕНЦІЙНО-ПСИХОЛОГІЧНІ ОСНОВИ ПОРУШЕННЯ СТАТЕВОЇ ІДЕНТИЧНОСТІ ПІДЛІТКІВ


Батьківський, громадянський рух в Україні закликає МОН зупинити тотальну сексуалізацію дітей і підлітків


Відкрите звернення Міністру освіти й науки України - Гриневич Лілії Михайлівні


Представництво українського жіноцтва в ООН: низький рівень культури спілкування в соціальних мережах


Гендерна антидискримінаційна експертиза може зробити нас моральними рабами


ЛІВИЙ МАРКСИЗМ У НОВИХ ПІДРУЧНИКАХ ДЛЯ ШКОЛЯРІВ


ВІДКРИТА ЗАЯВА на підтримку позиції Ганни Турчинової та права кожної людини на свободу думки, світогляду та вираження поглядів



Механізми синхронізації процесів

Найпростіший спосіб забезпечити взаємне виключення – дозволити процесу, який знаходиться в критичній секції забороняти всі переривання. Однак, цей спосіб непридатний тому, що небезпечно довіряти керування системою користувальницькому процесу. Він може надовго зайняти процесор, а при краху в критичній точці, крах потерпить вся система тому, що переривання ніколи не буде дозволено. Іншим способом є використання блокуючи змінних. З кожним поділюваним ресурсом зв’язується двійкова змінна, яка приймає значення = 1, якщо ресурс вільний, тобто жоден процес не перебуває момент у критичній секції, яка пов’язана з даним процесом, і значення = 0, якщо ресурс зайнятий.

 

Рис. 1. Алгоритм процесу, що використовується для реалізації взаємного виключення доступу до поділюваного ресурсу D, викор. блокуючи змінну F(D).

 

 

Перед входом в критичну секцію процес перевіряє чи вільний ресурс D, якщо він зайнятий, то перевірка циклічно повторюється. Якщо вільний, то значення змінної F(D) установлюється рівним 0, і процес входить у критичну секцію. Після того як процес виконає всі дії з поділюваним ресурсом D, значення змінно знову встановлюється рівної 1. Якщо всі процеси написані з використанням вище описаних умов, то взаємне виключення гарантується. Треба відмітити, що операція перевірки і установки блокуючої змінної повинна бути неподільною.

 

Нехай у результаті перевірки змінної процес визначив, що ресурс вільний, але відразу після цього, не встигши встановити змінну в 0, був перерваний. За цей час інший процес зайняв ресурс, увійшовши у свою критичну секцію, але також був перерваний, не завершивши роботу з поділюваним ресурсом. Коли керування було повернуто першому процесу, він вважаючи ресурс вільним, встановив ознаку зайнятості й почав виконувати свою критичну секцію. У такий спосіб був порушений принцип взаємного виключення, що може привести до небажаних наслідків. Для запобігання таких ситуацій у системі команд машини бажано мати єдину команду перевірка-установка або реалізувати системними засобами відповідні програмні примітиви, які б забороняли переривання на протязі всієї операції перевірки установки.

Реалізація критичних секцій з використанням блокуючи змінних має істотний недолік. Протягом часу, коли один процес перебуває в критичній секції, інший процес, якому потрібно той же ресурс, буде виконувати дії по опитанню блокуючої змінної, даремно витрачаючи час процесу. Для усунення таких ситуацій може бути використаний апарат подій. За допомогою цього засобу можуть вирішуватись не тільки проблеми взаємовиключення, але й більше загальні задачі синхронізації процесі.в. У різних ОС апарат подій реалізується по своєму, але в кожному випадку використовується системні функції аналогічного призначення, які умовно назвемо WAIT(x) i POST(x), де х – ідентифікатор деякої події.

 

РИСУНОК 2

 

Якщо ресурс зайнятий, то процес не виконує циклічне опитування, а викликає систему ф-цію WAIT(D). D позначає подію, що полягає у звільненні ресурсу D. Ця ф-ція переводить активний процес у стан очікування і робить відмітку в його дескрипторі про те, що процес очікує події D. Процес, що у цей час використовує ресурс D, після виходу із критичної секції виконує системну ф-цію POST(D), в результаті чого ОС переглядає чергу процесів, що очікують і переводять процес, що очікує подію D у стан готовності.

 

 

ЛЕКЦІЯ 2

 


Читайте також:

  1. II. МЕХАНІЗМИ ФІЗІОЛОГІЧНОЇ ДІЇ НА ОРГАНІЗМ ЛЮДИНИ.
  2. V Процес інтеріоризації забезпечують механізми ідентифікації, відчуження та порівняння.
  3. Автоматизація виробничих процесів
  4. Альдостерон та механізми ренін-ангіотензину
  5. Безпечність виробничих процесів
  6. Взаємодія процесів
  7. Взаємозв’язок фінансових потоків та інфляційних процесів
  8. Взаємозв’язок фінансових потоків та інфляційних процесів
  9. Види атак на механізми та протоколи автентифікації
  10. Види соціальних процесів.
  11. Виконавчі пристрої. Регулюючі органи. Виконавчі механізми. Гідравлічні виконавчі механізми.
  12. Використання особливостей протікання відновних процесів при побудові спортивного тренування




Переглядів: 1375

<== попередня сторінка | наступна сторінка ==>
Паралельні процеси і критичні ділянки. | Алгоритми керування ресурсами

Не знайшли потрібну інформацію? Скористайтесь пошуком google:

  

© studopedia.com.ua При використанні або копіюванні матеріалів пряме посилання на сайт обов'язкове.


Генерація сторінки за: 0.003 сек.