On Tue, Apr 27, 2010 at 12:36 PM, John <
gin...@gmail.com> wrote:
> Hello all,
>
> Although operating system programming and architecture aren't my
> expertise within my research interests, from what I understand
> (correct me if I'm wrong):
>
> PROCESSES run in their own independent address space.
>
> THREADS share address space with other threads...
>
Threads can be Real Threads, i.e What the CPU can be doing at one
time. (mostly more cores==more threads)
Threads can also refer to an operating system (pthreads) thread that
is scheduled on the CPU Real Threads like a process is and can be
pre-empted.
Co-routines(co-threads, sometimes these are also called threads) are
cooperative multi-tasking, one co-routine runs until it yields
control, it's state is saved and the program jumps to another
co-routine until that one yields etc.
A go-routine is a co-routine running on an operating system thread.
But they can be moved between operating system threads if needed.(eg.
when an operating system thread is going to be blocked by an syscall
made by one of the go-routines you can move the other go-routines
running on that operating system thread to another thread so they can
keep running)
wikipedia can provide more information.
- jessta
--
=====================
http://jessta.id.au