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: Re: Any shell available?


Andrew Lunn wrote:

On Tue, May 30, 2006 at 06:02:28PM -0700, Anthony Tonizzo wrote:


Andrew:



Now eCos has no concept of loading a program from secondary storage
and executing it. It has no concept of a program. It has no concept of
a process.


I am not sure I agree 100% with this statement.

eCos has both the concept of file system (and hence we can extrapolate
the concept of secondary storage) as well as the concept of process, given
that a process can be loaded by the objloader package and executed.



I did wounder if anybody would bring up the objloader packege.


Yes, we have a filesystem. However we don't have processes.

We have threads, but not processes. To me there is a big
difference. For one, a process has resource management associated to
it. If a process dies, or is killed, all the resources associated to
it are released. Memory is put back into the pool, file handles are
closed etc. Also, a process contains one or more threads. Killing a
process kills all the threads in the process.


Without having processes, from a pratical standpoint, you cannot have
programs which run to completion and exit. Thus you cannot have a
shell.



I do not see anything wrong with an application (call it shell) that
is capable of both accessing a file system as well as loading from
that file system a file and running it.



To me, that is more like a boot loader and less like a shell, although what you describe is somewhere between the two. To be a shell, what has been loaded must be able to exist and be unloaded, and you must be able to load something else which can exist and be unloaded, add-infinitum. For this you need processes, not threads.

Andrew



In other words you might say that you have only one process with the application threads and the OS code all running together on the same address space, and this could be called the program.
Therefore, in order to load a program you'll have to start all over again, OS functionality plus application.


Friedrich


-- 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]