I'm in the middle of reading "Windows Internals 6th edition", and after mentioning 32 bit threads running on 64 bit Windows have 3 stacks, one user-mode 32-bit, a 64-bit user-mode, and a kernel-mode stack (along with a 32 bit CONTEXT and a 64 bit CONTEXT "block")--when it proceeds to explain "fibers" (as opposed to threads) it doesn't specify stack/context information. After threads are converted to fibers for user-mode task scheduling, do they retain the same properties as threads? It seems the book goes on to mention the 64-bit only UMS threads are superior to fibers as they have the kernel-stack (to my understanding)--is this correct? Finally, since UMS threads are visible to the kernel because they have a kernel stack (the book says "kernel thread state" and I assume it means a stack) does this mean "Fibers" are completely invisible while they perform user-mode scheduling, and appear as a single thread in the application? If one were to peek at taskmanager running an application using fibers I suppose the question could be answered by the "thread count"? Thanks if you actually read it all. Regards, happyhacker
All 2 Replies
Be a part of the DaniWeb community
We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts learning and sharing knowledge.