Пишем операционную систему Триалогия - Синхронизация: spinlock и sleeping-mutex
В статьях про прерывания и планировщик постоянно всплывала одна фраза: "возьми не ту блокировку, и система зависнет". Теперь речь о самих блокировках. Как только к одним и тем же данным обращается больше одной нити исполнения, а это происходит уже с прерываниями на одном ядре, тем более на двух - нужна защита. У меня (на самом деле не только у меня, это общеизвестные механизмы) два сорта блокировок, и разница между ними на удивление весомая. Хватит крошечного примера. Два потока увеличивают один...