Писал сетевые приложения под linux с использованием select, epoll на C++. Многопоточность использовал pthreads и boost кросс-платформенно.
Хочется прокачаться в низком уровне - какие бывают примитивы синхронизации на уровне ядра: какие в линуксе, какие в винде, какие во фре, всякие там отличия и особенности. Какие бывают разновидности потоков и процессов под всеми этими платформами. Знать про все compare-and-swap, про межпроцессную коммуниацию, особенности шаринга памяти и т.д.
Есть какой-нибудь крутой мануал, где всё старательно собрано в кучу и тема раскрыта по самое небалуйся? Можно на английском, я не жадный.