5. Синхронизация и межпроцессное взаимодействие - 1 | Операционные системы и сети 2025
Автор: Aleksey Malov
Загружено: 2025-10-17
Просмотров: 225
В этом видео вы узнаете, как проектировать и реализовывать корректную синхронизацию потоков и межпроцессную коммуникацию: что такое состояния гонки и почему они возникают, чем атомарные операции отличаются от неатомарных, как устроены критические секции и условия корректной синхронизации.
Мы разберём как работает алгоритм Петерсона и почему его «правильная» реализация в C++ требует атомарных операций, перейдём к аппаратным примитивам TSL/XCHG и спинлокам. Обсудим sleep/wakeup и их аналоги в современных ОС, а затем решим классическую задачу «производитель–потребитель» с помощью семафоров с подробным кодом и пояснением различий между взаимным исключением и синхронизацией по событиям.
Примеры кода и задания лабораторных работ можно найти в моём github-репозитории https://github.com/alexey-malov/os-co...
Чтобы оставаться на связи в условиях блокировки Youtube в России подписывайтесь на мой Telegram-канал https://t.me/vivid_coding
Тайм-коды:
0:00 Состояние гонки
12:12 Взаимное исключение и busy waiting при помощи запрета прерываний
21:24 Классические алгоритмы взаимного исключения
37:31 TSLLock и его ограничения
47:52 Спинлоки
50:53 Сон и пробуждение
55:27 Семафоры и их применение для решения задачи "Производитель-потребитель"
В заставке использована композиция "Папа может в Си" музыкального коллектива "Научно-технический рэп" (https://vk.com/nii_rap)
Доступные форматы для скачивания:
Скачать видео mp4
-
Информация по загрузке: