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

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

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

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

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


 

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

27929. Подготовка новых АКБ 81.5 KB
  4Лизинговые системы и методы расчета по ним В лизинговые платежи включаются: амортизация лизингового имущества за весь срок действия договора лизинга компенсация платы лизингодателя за использованные им заемные средства комиссионное вознаграждение плата за дополнительные услуги лизингодателя предусмотренные договором лизинга а также стоимость выкупаемого имущества если договором предусмотрены выкуп и порядок выплат указанной стоимости в виде долей в составе лизинговых платежей. При согласовании метода начисления лизингового платежа...
27930. Надёжность, как одно из основных свойств, составляющих качество. Определение показателя качества. Св-ва и показатели надёжности 85 KB
  4 Показатели использования ОПФ АТП Показатель фондоотдачи рассчитывается в натуральных и стоимостных единицах измерения. Величина показателя ФО показывает объем транспортной работы или сумму доходов получаемую предприятием с одного рубля стоимости ОПФ.; Sсред среднегодовая стоимость ОПФ руб. Показатель фондоемкости показывает стоимость ОПФ необходимую предприятию для получения 1го рубля дохода.
27931. Коэффициенты корректирования и кратности. Их назначение 49.5 KB
  4Системы вознаграждения работников АТП Ни одно АТП не может обеспечить достаточно высокий уровень профессиональной надежности работников если оно не выплачивает денежное вознаграждение по конкурентоспособным ставкам и не имеет шкалы оплаты стимулирующей высокую эффективность труда. В ходе мотивации особое внимание уделяется организации заработной платы денежного вознаграждения выплачиваемого предприятием работнику. Система вознаграждения отдельного работника в значительной степени влияет на его поведение поскольку это своего рода...
27932. Расчёт потребности АТП в смазочном масле 42.5 KB
  По содержанию перспективное планирование предприятия в новых условиях обычно включает долгосрочный прогноз на 515 лет обоснованное вероятностное предположение об изменениях в структуре и запросах рынка технике и технологии производства и их социальноэкономических последствиях план развития на 35 лет с разбивкой по годам и целевые программы решения важнейших проблем. Оперативное планирование заключается в разработке на основе годовых планов конкретных производственных заданий на короткие промежутки времени как для предприятия в...
27933. Технология очистки воды после мойки а/м для повторного использования 115.5 KB
  Размер запасов в основном определяется объемом производства транспортных услуг и временем между двумя поставками материальных ресурсов. Важность этой задачи в определенной степени обусловливается тем что сверхнормативные запасы материальных ресурсов вызывают финансовые затруднения снижают качество хранения материалов требуют дополнительных складских помещений. Образование значительных запасов сопряжено не только с появлением дополнительных складских расходов но и с риском устаревания материальных ресурсов а также с упущенной выгодой...
27934. Поточный метод. Дефектовка и ремонт пары «клапан-седло» газораспределительного механизма 42.5 KB
  2При расчетном числе рабочих постов ТО1 Д1 = 3 для одиночных а м 2 автопоездов ТО2 Д2 = 4 для одиночных 3 автопоездов 3Расчетное число линий обслуживания целое число или меньше целого числа с отклонением не более 008 на 1 линию: 0 mцел mрасч mцел= 008 При соблюдении всех этих условий для зон ТО экономически целесообразно является применение поточное производство с применением конвейера или других механизмов для принудительного перемещения автомобилей. Число поточных линий: m = такт ритм ритм = 60 ТсмС Nicфи фи коэфт...