What multithreading methods do Windows7 and 8 use?

SMAHDI HP

Reputable
Nov 1, 2014
5
0
4,510
from what i know we have three methods:
user thread->kernel thread
1.one to one
2.many to 1
3.many to many
and windows xp use one to one.
but windows vista and 7 and 8 using what methods?
 
Solution


Hi,

Prior to Windows 7, Windows used a one to one user thread to kernel thread relationship. It was of course always possible to cobble together a rough many to one user-scheduler (this can be done in pretty much any OS with user-level timer interrupts) but if a system call blocked on any one of the user threads it would block the kernel thread and accordingly block all other user threads on the same scheduler. Naturally, a many to one model cannot take advantage of SMP.

With Windows 7, Microsoft introduced support for...

i have a bad experience about stack overflow(they only do vote down and close the topic and no answer).
 

Many sites are unhappy with questions that look as if they might be homework.

Anyway, the link I gave explains all about Windows threading. For more details you could read one of the "Inside Windows ..." (now "Windows Internals") books which will tell you more than you ever need to know on the subject.
 

your right.but Ive searched and cant find some thing explicit explanation about what method winvista and 7 use?and because of that i asked about it in here.
really i want to know a explicit answer about that not a vague explanation.
 
The books will give you an exact explanation.

This is looking more and more like a homework question. I think I have already given you more than enough help to find the answer. If you are interested in learning then you will want to read the article that I linked to, and maybe the books, rather than just demanding an answer that you can copy parrot-fashion.
 


Hi,

Prior to Windows 7, Windows used a one to one user thread to kernel thread relationship. It was of course always possible to cobble together a rough many to one user-scheduler (this can be done in pretty much any OS with user-level timer interrupts) but if a system call blocked on any one of the user threads it would block the kernel thread and accordingly block all other user threads on the same scheduler. Naturally, a many to one model cannot take advantage of SMP.

With Windows 7, Microsoft introduced support for user-mode scheduling. A program may configure one or more kernel threads as a scheduler (one per logical processor desired) and then create a user-mode thread pool from which these UMS can draw. The kernel maintains a list of outstanding system calls which allows the UMS to continue running without blocking the kernel thread. This configuration can be used as either many to one or many to many.
 
Solution