24516

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

Доклад

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

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

Русский

2013-08-09

19.14 KB

12 чел.

Вопрос 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.Критическая секция.

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

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

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

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


 

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

43288. Основы геометро-кинематического синтеза механизмов с высшими кинематическими парами 747 KB
  Значительно большие возможностями для воспроизведения почти любого закона движения имеют механизмы с высшими кинематическими парами, так как условие касания взаимодействующих поверхностей звеньев высшей пары по линиям и точкам могут быть выполнены бесчисленным множеством различных поверхностей.
43289. Разработка технологического процесса изготовления фрезы шпоночной 2234-0375 199.5 KB
  Задачи стоящие перед современным машиностроением в значительной степени определяет инструмент обеспечивающий промышленное производство наличие режущего инструмента способного обрабатывать поверхности детали с требуемой точностью и качеством поверхностного слоя позволяющего выполнять производственные задания и изготавливать конкурентоспособную продукцию проектированию режущего инструмента уделяется большое внимание для создания нового инструмента а не стандартизированного. Эффективность работы металлообрабатывающего...
43290. ОПРЕДЕЛЕНИЕ ОСНОВНЫХ ЭЛЕМЕНТОВ ГЛАДКИХ ЦИЛИНДРИЧЕСКИХ СОЕДИНЕНИЙ 2.09 MB
  1 Предельные размеры отверстия определяются по формулам: Dmx = D ES; Dmx = 63 0030 = 63030 мм Dmin = D EI; Dmin = 63 0= 63000 мм где Dmx Dmin наибольший и наименьший размеры отверстия; D номинальный размер соединения; ES EI верхнее и нижнее отклонения отверстия. Квалитеты точности отверстия и вала определяются по числу единиц допуска: D = TD i; D = = 16 где i единица допуска; i = 186 d = Td i; d = = 10 По числу...
43291. Структура реестра Windows 630 KB
  Курсовая работа состоит из трех основных глав, введения и заключения. Первая глава – ознакомление с реестром операционной системы Windows, роль реестра в операционной системе. Во второй главе рассматривается древовидная структура реестра операционной системы Windows, описание каждого раздела структуры реестра и их подразделов, параметры, типы данных и значения файлов реестра. В третьей главе описан редактор реестра Windows (Register Editor)
43292. УЧЕТ РАСЧЕТА С БЮДЖЕТОМ В ООО ПКЗ «ОМСКИЙ» РАЙОНА ОМСКОЙ ОБЛАСТИ 3.87 MB
  Организация аналитического и синтетического учета расчетов с бюджетом по налогам и сборам.26 ВВЕДЕНИЕ Любая бухгалтерия как сердце предприятия особенно чувствительна к изменениям в налогах. Среди экономических рычагов при помощи которых государство воздействует на рыночную экономику важное место отводится налогам. Для достижения этой цели необходимо решить ряд задач: анализ проблем формирования налоговых поступлений; особенности организации учета расчетов с бюджетов по налогам и сборам; представить...
43293. Расчет механизма привода 883 KB
  Механизм состоит из электродвигателя муфты червячного редуктора открытой цилиндрической передачи распределительного вала станка и горизонтальной базовой плиты. В данном механизме вращение с вала двигателя через муфту передаётся на червячную передачу. С промежуточного вала крутящий момент передается на выходной вал с помощью открытой цилиндрической передачи.1 При постоянной скорости выходного вала по известной потребляемой мощности Nвых в Вт и частоте вращения n об мин находим требуемую мощность двигателя: N==1335 063=722 Вт; N ...
43294. Усилитель электрических колебаний звуковой частоты 561.5 KB
  Усилителем электрических колебаний называется устройство, которое позволяет при наличии на его входе колебания с некоторым уровнем мощности получить на выходной нагрузке те же колебания, но с большим уровнем мощности.
43295. Разработка технологического процесса изготовления детали “Стойка задняя” 285.5 KB
  Минимальный припуск на обработку определяем по формуле: Суммарное пространственное отклонение расположения поверхностей с закреплением заготовки в трех кулачковом патроне определяем по формуле: где: Δкор отклонение оси детали от прямолинейности;1том. Технологические операции и переходы обработки элементных повстей Элементы Припуска Расчетный припуск 2Ziminмкм Расчетный миный размер мм Допуск TD мкм Принятые...
43296. Расчет усилителя звуковой частоты 1.49 MB
  Анализ технического задания В техническом задании мне было предложено разработать УЗЧ по заданным параметрам. Предполагается использование такого усилителя для высокочастотного усиления сигнала высокого качества например записанного на компакт диск поэтому fн я оставилна 20 Гц для лучшего звучания бассов. Параметры микросхемы таковы: Uп=22В P=18Bт Rн=8Ом Fн=20Гц Fв=20кГц Iп=120мА Кг=03 Rвх=50кОм Кш=03мкВ Ку=26 дБ 4. Выбор элементов будем производить на основе выходных параметров усилителя...