Actually intervention of schedular comes for kernel threads and not for the use level threads. Ok try to do this thing if you have some machine with 2.4.18 :- Start the program using those 2 pthreads and then do ps -aef for that process, you will see that there are 4 processes with the same name, but with different PIDs. On 2.5 this thing was removed as we moved from Linux Legacy Thread to NPTL thing... Explaination of this is first pid process is the main program, 2nd is the thread manager and 3rd & 4th are the created threads. Here, you can see that these threads are visible to the OS, so you can send signals to them as you send to a process, but 2.4.20 onwards this thing has been changed and now you can't see 4 PIDs, because now actual use-level thread implementation has been done. OS can't see individual threads inside a program, so is schedular. The time slot is given to the whole process [whithin which these threads are residing]. It's the responsibility of the thread library manager to divide this time slot among individual threads. Schedular doesn;t have to worry about them... Let me know what else you want... Thanks. Sumit Sharma, IBM, Bangalore. On Tue, 12 Oct 2004 Anupam Kapoor wrote : > > > > Hi, > > I am using 2.4.20 kernel. I have a query. I create two POSIX threads > > from the same process and one of them calls an IO call and it blocks. > > Then does the scheduler allow the other thread to run??? >yes. > > > I mean do I need to do something special to make the scheduler aware of these > > threads. >no. > >kind regards >anupam > > > > Regards, > > Nilanjan > >-- >if you need gmail invites, let me know ! > >-- >Kernelnewbies: Help each other learn about the Linux kernel. >Archive: http://mail.nl.linux.org/kernelnewbies/ >FAQ: http://kernelnewbies.org/faq/ >