I've been reading through the book on Intel Multicore Programming by Shameem Akhter.
It mentions 3 levels of threads, Application level, Kernel level and Hardware level.
I wanted to understand how application threads control kernel threads.
I've noticed TBB making use of 100% cpu on a dual core processor. Assuming that the application level threads created by TBB are not 'real' threads, does TBB ensure that a certain number of kernel threads are created and get run to utilize 100% cpu? Is it TBB which ensures that 100% cpu is utilized or is that decision handed to the Operating system? Also, is my assumption above correct?