This is the mail archive of the ecos-discuss@sourceware.org mailing list for the eCos project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: One process with multiple threads??


On Wed, Apr 01, 2009 at 10:44:42PM -0700, graham_k wrote:
> 
> Sorry to be such a n00b, but can someone please explain WikiPedia's statement
> that "eCos (embedded configurable operating system) is an open source,
> royalty-free, real-time operating system intended for embedded systems and
> applications which need only one process with multiple threads"?
> 
> Why only one process? And presumably the thread are what I would think of as
> processes in "normal" terminology?
> 
> I guess that what I am asking here is whether this is just a matter of
> semantics (what's a process? what's a thread?) or if there are some
> technical restrictions ...
> 
> Thank you very much in advance for any clarification.

It is using the Unix/POSIX terminology.

In the unix world, processes are separated from each other. They have
separate memory space, they have separate signal handlers, file
descriptor space, sockets etc... If a process gets a segfault, just
that process dies.

However a process may have many POSIX threads. Within the process, the
threads have complete access to all the processes memory, signals,
file descriptors etc. If a thread gets a sigfault, the whole process
dies. 

eCos has no memory protection. All memory is available to every
thread. signals are shared between threads, file descriptors are
global etc. eCos behaves like one process with multiple threads.

       Andrew

-- 
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]