Hi!

I have an idea for a Technion project in which we will add a spawn system
call to the Linux kernel. What spawn will do is fork a child process whose
memory contents will be read from a file. Similar to a fork and execve in
one go. Both fork() and execve are pricy (despite the fact the fork() uses
copy-on-write memory), so a system call that does them in one go would be
great for multi-processing.

I have two problems with this:

1. fork() and execve() are already a complete set of process management,
so spawn would be redundant, and so probably won't be accepted in the
mainstream kernel.

2. I have a hunch that trying to code such a thing in the kernel would be
like opening a can of worms. (in a similar way to what happened with the
children first). I looked at the source code of fork() and execve() and
believed merging them would not be such a problem if I study the code
enough. But then again, I can be wrong.

3. It would take some changes in user-land to make use of this new
functionality.

I don't have an issue with problem #1, as its acceptance is not of an
issue. I also don't have a problem with #3 because it would be part of the
project. But I'm a little bothered with problem #2. Can any experienced
kernel hacker (who is familiar with the kernel core internals) let me know
if I can try implementing it? (and survive in one piece to tell the tale?)

Regards,

        Shlomi Fish



----------------------------------------------------------------------
Shlomi Fish        [EMAIL PROTECTED]
Home Page:         http://t2.technion.ac.il/~shlomif/
Home E-mail:       [EMAIL PROTECTED]

"Let's suppose you have a table with 2^n cups..."
"Wait a second - is n a natural number?"


=================================================================
To unsubscribe, send mail to [EMAIL PROTECTED] with
the word "unsubscribe" in the message body, e.g., run the command
echo unsubscribe | mail [EMAIL PROTECTED]

Reply via email to