0
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
2
Contributors
2
Replies
3
Views
4 Years
Discussion Span
Last Post by happyHacker
2

Not only are fibers invisible to the kernel but they are invisible to all other threads. Fibers can only call other fibers and fibers never exit. Here is a decent article about c++ fiber class.

This question has already been answered. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.