[Return to Bookshelf] [Contents] [Previous Section] [Next Section] [Index] [Help]


A.3.1 DECthreads Use of Kernel Threads

Digital UNIX kernel threads are created as they are needed by the application. The number of kernel threads that DECthreads creates is limited by normal Digital UNIX configuration limits regarding user and system thread creation. Normally, though, DECthreads creates one kernel thread for each actual processor on the system and the kernel creates an additional kernel thread on behalf of the process for bookkeeping operations.

DECthreads does not delete these kernel threads or let them terminate. Kernel threads not currently needed are retained in an idle state until they are needed again. When the process terminates, all kernel threads in the process are reclaimed by the kernel.

The DECthreads scheduler may schedule any user thread onto any kernel thread. Therefore, a user thread may run on different kernel threads at different times. Normally, this should pose no problem. However (for example), the kernel thread ID (as reported by dbx or ladebug) may change at any time.