I'm in a course on operating systems and we're talking about threading. On Wikipedia here it says that for 1:N kernel threads:
If one of the threads needs to execute an I/O request, the whole process is blocked and the threading advantage cannot be utilized
However this got me thinking. In C, if I create as UI on the main thread and if I do my I/O on a new thread with pthread then my UI wont block. Doesn't this contradict what Wikipedia says though because I still only have 1 process with 2 threads, so shouldn't my I/O thread block my UI according to what Wikipedia is saying?
edit: And if Windows and OS X use the 1:1 model as Wikipedia claims, then why in OSX when I do the top command or in Windows use task manager do I not see separate processes for each of my program's threads, why do I still see the multiple threads as listed under the 1 process?