Алгоритми синхронізації

Матеріал з Вікі ЦДУ

(різн.) ← Попередня версія • Поточна версія (різн.) • Новіша версія → (різн.)
Перейти до: навігація, пошук

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

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

</h1>Interleaving , race сcodition і взаимоисключения</h1>

Давайте тимчасово відвернемося від операційних систем , процесів і ниток виконання і поговоримо про деякі « активностях ». Пол активностями ми будемо розуміти послідовне виконання ряду дій , спрямованих на досягнення певної мети. Активності можуть мати місце в програмному та технічному забезпеченні , у звичайній діяльності людей і тварин. Ми будемо розбивати активності на деякі неподільні , або атомарні , операції . Наприклад , активність « приготування бутерброда » можна розбити на наступні атомарні операції:

1 ) Відрізати скиби до хліба.

2 ) Відрізати скибочку ковбаси.

3 ) Намазати скибочку хліба маслом.

4 ) Покласти скибочку ковбаси на підготовлений скибочку хліба. Неподільні операції можуть мати внутрішні невидимі дії

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