Синхронизация потоков

Есть 2 потока, принадлежащих одному и тому же процессу. Могут ли они быть синхронизированы через семафор, который реализован в ядре, при условии, что сами потоки тоже реализованы на уровне ядра? Рассмотрите ту же ситуацию, но в отношении потоков, реализованным на уровне пользователя. В обоих вариантах предусмотрено, что к семафора не имеют доступа другие потоки других процессов. Обоснуйте свой ответ и смоделируйте графически (тайм-лайн, блок-схема и т.д.).Может кто знает ,поможет ?пожалуйста