24516

Необходимость синхронизации процессов и потоков. Критическая секция

Доклад

Информатика, кибернетика и программирование

Необходимость синхронизации процессов и потоков.4 Синхронизация процессов и потоков. В многозадачной ОС синхронизация процессов и потоков необходима для исключения конфликтных ситуаций при обмене данными между ними разделении данных доступе к процессору и устройствам вводавывода. Пренебрежение вопросами синхронизации процессов выполняющихся в многозадачной системе может привести к неправильной их работе или даже к краху системы.

Русский

2013-08-09

19.14 KB

13 чел.

Вопрос 21. Необходимость синхронизации процессов и потоков. Критическая секция.

§4.4 Синхронизация процессов и потоков.

В многозадачной ОС синхронизация процессов и потоков необходима для исключения конфликтных ситуаций при обмене данными между ними, разделении данных, доступе к процессору и устройствам ввода-вывода. Во многих ОС эти средства называются средствами межпроцессного взаимодействия (InterProcess CommunicationsIPC).

Выполнение потока в многозадачной среде имеет асинхронный характер, поэтому сложно сказать, на каком этапе выполнения будет находиться поток в определенный момент времени. Задача синхронизации заключается в согласовании скоростей потоков путем их приостановки до наступления некоторого события и последующей активизации при наступлении этого события.

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

Рассмотрим в качестве примера программу печати файлов (принт-сервер). Эта программа печатает по очереди все файлы, имена которых последовательно в порядке поступления записывают в специальный общедоступный файл "заказов" другие программы. В данном случае это процессы-клиенты R и S, содержащие операции R1, R2, R3 и S1, S2, S3 (рис. 4.8). Особая переменная NEXT, также доступная всем процессам-клиентам, содержит номер первой свободной для записи имени файла позиции файла "заказов". Процессы-клиенты читают эту переменную, записывают в соответствующую позицию файла "заказов" имя своего файла и наращивают значение NEXT на единицу. Предположим, что в некоторый момент процесс R решил распечатать свой файл, для этого он прочитал значение переменной NEXT, значение которой предположим равно 4. Процесс запомнил это значение, но поместить имя файла не успел, так как его выполнение было прервано (например, вследствие исчерпания кванта). Очередной процесс S, желающий распечатать файл, прочитал то же самое значение переменной NEXT, поместил в четвертую позицию имя своего файла и нарастил значение переменной на единицу. Когда в очередной раз управление будет передано процессу R, то он, продолжая свое выполнение, в полном соответствии со значением текущей свободной позиции, полученным во время предыдущей итерации, запишет имя файла также в позицию 4, поверх имени файла процесса S. Таким образом, файл процесса S не будет напечатан.

Рис. 4.8. Доступ процессов к разделяемым данным

Можно представить и другое развитие событий: были потеряны файлы нескольких процессов или, напротив, не был потерян ни один файл. В данном случае все определяется взаимными скоростями процессов и моментами их прерывания. Сложность проблемы синхронизации состоит в нерегулярности возникающих ситуаций.

Ситуация, когда два или более процессов обрабатывают разделяемые данные, и конечный результат зависит от соотношения скоростей процессов, называется состоянием состязания или гонками.

§4.4.1.Критическая секция.

Важным понятием синхронизации потоков является понятие «критическая секция».

Критическая секция – это часть программы, которая должна выполняться без прерываний со стороны других потоков. Критическая секция всегда определяется по отношению к определенным критическим данным, при несогласованном изменении которых результат выполнения программы может быть непредсказуем. Во всех потоках, работающих с критическими данными, должна быть определена критическая секция, которая в общем случае состоит из разных последовательностей команд. Критическая секция, например, используется для предоставления доступа к разделяемым ресурсам ВС.

Чтобы исключить эффект гонок по отношению к разделяемым данным, необходимо обеспечить, чтобы в каждый момент в критической секции, связанной с этими данными, находился только один поток. Этот прием называют взаимным исключением. При этом неважно, находится этот поток в активном или в приостановленном состоянии.

Для реализации взаимных исключений используются различные способы: запрещение прерываний, блокирующие переменные, семафоры, синхронизирующие объекты ОС, рассмотренные ниже.


 

А также другие работы, которые могут Вас заинтересовать

36093. Опорний конспект лекцій з «Основ економічних теорій» 528.5 KB
  Представники цієї теорії вважали що країна зміцнює своє економічне становище якщо вона активно продає за кордон товари власного виробництва експортує але при цьому обмежує або забороняє ввіз товарів закордонного виробництва імпорт. Монкретьєн запровадив термін політекономія поліс держава що означає державне управління господарством таким словом він відобразив активне втручання держави в економіку в період формування капіталістичного способу виробництва. Класики встановили що багатство створюється саме в сфері виробництва....
36094. ФІНАНСОВИЙ МЕНЕДЖМЕНТ. КОНСПЕКТ ЛЕКЦІЙ 2.58 MB
  03050401 Економіка підприємства і 7.03050401 Економіка підприємства ОКР Магістр Мелітополь 2011 УДК Фінансовий менеджмент.03050401 Економіка підприємства і 7.03050401 Економіка підприємства ОКР Магістр.
36095. Історія України. Опорний конспект лекцій, І.М. Гавриленко 1.7 MB
  Первісна історія України. Населення України І тис. Директорія у боротьбі за незалежність україни. Попри різні політичні впливи наука займається відшукуванням об’єктивної істини в її багатогранності. Важливе значення має методологія досліджень, тобто сукупність методів, які застосовуються дослідниками. Для досягнення творчих завдань історики використовують загальнонаукові (наприклад, метод класифікації), специфічно-історичні (хронологічний, описовий, порівняльний тощо) та міждисциплінарні (статистичний, математичний і т. д.) методи.
36096. Інвестиційне проектування. Курс лекцій 1.62 MB
  Оцінка економічної привабливості та ефективності проекту [0. Методичні підходи до визначення економічної вартості проекту [0. Оцінка впливу проекту на економіку країни ТЕМА 1. Досвід проектування на всіх його стадіях накопичений за умов адміністративної економіки базувався на принципах і методах адміністративнокомандної системи і був відірваний від сучасної методології й багатющого інструментарію що застосовується у світовій економічній науці.
36097. Історія економіки та економічної думки 769.5 KB
  Роль матеріального виробництва й виробничих відносин у виникненні розвитку зміні способів виробництва К. У відповідності до класифікаційних факторів виділяються етапи розвитку економіки: 1 первіснообщинний азіатський античний рабовласницький феодальний капіталістичний комуністичний спосіб виробництва К. Предметний простір охоплює: 1 предмет історії економічних учень вивчення історичного процесу виникнення розвитку і зміни економічних поглядів на різних ступенях розвитку суспільства ; 2 предмет економічної історії у...
36098. Інформатика та комп’ютерна техніка. Інформаційні системи та технології 22.72 MB
  Економічна інформатика вивчається протягом 2х семестрів і включає наступні теми: операційна система Windows текстовий редактор Word табличний процесор Excel програмування мовою VBA система керування базами даних Access. Для введення даних у цю комірку ви повинні за допомогою клавіатури ввести необхідний текст або числа. Одним з основних застосувань таблиць є занесення в них різних числових даних їхнє підсумовування й подання підсумкових значень. Табличний процесор Excel створення й занесення даних у ...
36099. Інформаційні системи і технології в фінансових установах 1.18 MB
  Економічна ефективність автоматизованої інформаційної системи АІС. Створення та склад автоматизованого банку даних АБД. Передумови створення та основні переваги баз даних БД. Поняття і класифікація автоматизованого банку даних АБД. Склад автоматизованого банку даних.
36100. ЕКОЛОГІЧНЕ ІНСПЕКТУВАННЯ 245.5 KB
  Кодексом України про адміністративні правопорушення передбачені такі види адміністративних стягнень: попередження; штраф який обчислюється у кількості неоподатковуваних мінімумів доходів громадян нмдг; оплатне вилучення предмета який став знаряддям вчинення або безпосереднім обєктом адміністративного правопорушення; конфіскація: предмета який став знаряддям вчинення або безпосереднім обєктом адміністративного правопорушення; незаконно добутих обєктів тваринного чи рослинного світу; грошей одержаних внаслідок вчинення...
36101. ПРАВО ІНТЕЛЕКТУАЛЬНОЇ ВЛАСНОСТІ 352.5 KB
  Право інтелектуальної власності становлять особисті немайнові права інтелектуальної власності та (або) майнові права інтелектуальної власності, зміст яких щодо певних об'єктів права інтелектуальної власності визначається кодексом та іншими законами. Кодексом визначено співвідношення права інтелектуальної власності та права власності як різних правових категорій.