2013-03-23 4 views
0

Я читал и изучал, как работают шпиндельные замки. Теперь у меня есть вопрос, на который я не могу найти исчерпывающий ответ:Spinlocks в одном процессоре и многопроцессорном

Как они работают в среде UP (uni-processor) и в среде SMP (симметричный многопроцессор)? Каковы различия и проблемы?

ответ

2

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

Отвечая на ваш вопрос «как они работают»? Точно так же повсюду, просто тратя процессорное время на свое время.

+0

Интересно, как насчет потоков ядра? Думаю, у них нет временных отрезков? –

+0

@JohnnyPauling, насколько я знаю (не на 100% уверен), потоки ядра - это обычные потоки с точки зрения времени, просто с более высоким приоритетом. Теоретически вы можете проектировать ОС, где ядро ​​может приостанавливать планирование, но я не уверен, что это возможно/используется в основных операционных системах. – Andrey

+0

Я не эксперт в области ядра, поэтому это что-то новое для меня .. ОС, такие как linux/windows/OSX, действительно используют временную разбивку даже для потоков ядра? –

Смежные вопросы