This is the mail archive of the
mailing list for the eCos project.
Re: One process with multiple threads??
- From: Andrew Lunn <andrew at lunn dot ch>
- To: graham_k <nabble at keellings dot com>
- Cc: ecos-discuss at ecos dot sourceware dot org
- Date: Thu, 2 Apr 2009 07:54:05 +0200
- Subject: Re: [ECOS] One process with multiple threads??
- References: <firstname.lastname@example.org>
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
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.
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss