КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Понятие критических интервалов
КРИТИЧЕСКИЕ ИНТЕРВАЛЫ Взаимодействие процессов. Основные понятия о процессах ПРОЦЕССЫ Вычислительный процесс – это абстрактный системный объект, который соответствует выполняемой задаче. Процесс является основной, исторически первой и наиболее известной единицей работы вычислительных систем. Компоненты процесса – это выполняющаяся программа, ее данные, ресурсы (например память) и состояние выполнения. Обычно, у процесса есть собственное адресное пространство, характеризующееся следующей информацией: · таблицы страниц или сегментов; · дескрипторы файлов; · заказы на ввод-вывод; · регистры. Большой объем такой информации делает дорогими операции создания и переключения процессов. Процессы могут взаимодействовать двумя основными способами, если будет выполняться условие того, что приложение реализовано в виде множества данных процессов. Рассмотрим эти способы: · посредством разделения внешней или оперативной памяти; · посредством передачи сообщений. При взаимодействии через внешнюю память процессы должны синхронизовать свое выполнение. Различают два вида синхронизации – взаимное исключение критических интервалов и координация процессов. Далее будет рассмотрен вопрос, что такое критические интервалы и их взаимное исключение.
Критический интервал (секция) — это объект синхронизации потоков, который позволяет предотвратить единовременное выполнение какого-либо набора операций несколькими потоками. Критический интервал выполняет те же задачи, что и мьютекс. Различия между мьютексом и критическим интервалом существуют лишь терминологические, например, захват мьютекса аналогичен процедуре, называющейся входом в критический интервал, а снятие блокировки мьютекса аналогично выходу из критического интервала. Процедура входа и выхода из критического интервала, как правило, занимает время меньше, чем подобные операции мьютекса, это обуславливается отсутствием необходимости обращаться к ядру операционной системы. Разница между критическим интервалом и мьютексом в операционных системах Microsoft Windows заключается в том, что мьютекс - это объект ядра и может использоваться несколькими процессами одновременно, а критический интервал служит для синхронизации только тех потоков процесса, к которому он принадлежит. У критических интервалов Windows существует оптимизация, которая заключается в использовании атомарно изменяемой переменной наряду с объектом «событие синхронизации» ядра. Атомарное увеличение переменной на 1, называется захватом критического интервала. Переход к ожиданию на событии ядра происходит только тогда, когда значение переменной до захвата было уже больше 0, то есть происходит реальное «соревнование» двух или более потоков за ресурс. Делаем вывод, что при отсутствии соревнования захват или освобождение критической секции обходятся без обращений к ядру.
Дата добавления: 2014-12-16; Просмотров: 1483; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |