Programme werden geschrieben, um Probleme zu lösen. Um ein Programm auszuführen, erstellt das Betriebssystem einen Prozess für dieses Programm. Ein Prozess führt ein Programm aus. Standardmäßig wird ein Prozess im Benutzermodus ausgeführt. Ein Prozess muss möglicherweise Ressourcen wie die Festplatte oder die Netzwerkverbindung verwenden, die von den Prozessen im System gemeinsam genutzt werden. Oder es muss einige privilegierte Operationen wie die Änderung der Priorität ausführen. Mit anderen Worten, es braucht Hilfe von jemand, der Zugriff für das System insgesamt hat. Dann geht es durch irgendeinen Mechanismus aus dem Benutzermodus in den Kernel-Modus, um solche Operationen durchzuführen. Eine solche Operation ist die Synchronisation - sowohl für Prozesse als auch für Threads. Die Synchronisation erfolgt mit Semaphoren. Weitere Informationen finden Sie unter dem Link Semaphore Basics.
Mögliche Duplikate von [Threads im Benutzer- und Kernelmodus] (http://stackoverflow.com/questions/17515676/threads-in-user-and-kernel-mode) –
https://stackoverflow.com/questions/ 17515676/threads-in-user-und-kernel-mode –