Теми рефератів
> Реферати > Курсові роботи > Звіти з практики > Курсові проекти > Питання та відповіді > Ессе > Доклади > Учбові матеріали > Контрольні роботи > Методички > Лекції > Твори > Підручники > Статті Контакти
Реферати, твори, дипломи, практика » Новые рефераты » Механізми синхронізації і взаємодії процесів і потоків

Реферат Механізми синхронізації і взаємодії процесів і потоків





процесу, наприклад ймовірність його завершення за даний період часу. Таким чином, потоки в загальному випадку (коли програміст не вжив спеціальних заходів щодо їх синхронізації) протікають незалежно, асинхронно один одному, Це справедливо як по відношенню до потоків одного процесу, який виконує загальний програмний код, так і по відношенню до потоків різних процесів, кожен з яких виконує власну програму.

Будь-яка взаємодія процесів або потоків пов'язано з їх синхронізацією, яка полягає в узгодженні їх швидкостей шляхом призупинення потоку до настання деякої події і подальшій його активізації при настанні цієї події. Синхронізація лежить в основі будь-якої взаємодії потоків, чи пов'язано це взаємодія з поділом ресурсів або з обміном даними. Наприклад, потік-одержувач повинен звертатися за даними тільки після того, як вони поміщені в буфер потоком-відправником. Якщо ж потік-одержувач звернувся до даних до моменту їх надходження в буфер, то він повинен бути припинений. При спільному використанні апаратних ресурсів синхронізація також зовсім необхідна.

Коли, наприклад, активному потоку потрібен доступ до послідовного порту, а з цим портом у монопольному режимі працює інший потік, який наразі перебуває в стані очікування, то операційна система (ОС) призупиняє активний потік і не активізує його до тих пір, поки потрібний йому порт не визволиться. Часто потрібна також синхронізація з подіями, зовнішніми стосовно обчислювальної системі, наприклад реакції на натискання комбінації клавіш Сtгl + С. Щомиті в системі відбуваються сотні подій, пов'язаних з розподілом і звільненням ресурсів, і операційна система повинна мати надійні і продуктивні засоби, які б дозволяли їй синхронізувати потоки з відбуваються в системі подіями.

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

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


Назад | сторінка 2 з 8 | Наступна сторінка





Схожі реферати:

  • Реферат на тему: Механізми синхронізації і взаємодії процесів і потоків
  • Реферат на тему: Використання семафорів для синхронізації потоків
  • Реферат на тему: Алгоритми Деккера і Петерсона, їх застосування для вирішення проблеми крити ...
  • Реферат на тему: Методи синхронізації і фазування сигналу
  • Реферат на тему: Синхронізація процесів і потоків