l4-hurd
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: startup code


From: Marcus Brinkmann
Subject: Re: startup code
Date: Sun, 19 Oct 2003 01:04:59 +0200
User-agent: Mutt/1.5.4i

On Sun, Oct 19, 2003 at 12:45:58AM +0200, Johan Rydberg wrote:
> The startup code is responsible for brining the program, or at least
> parts of it, into memory before the real pager can take control.

We do on demand paging.  The startup code must include a minimal initial
pager, that will serve all page faults that happen when the execution is
passed to the startup of the main program.  The startup code can not predict
which pages of the executable are needed until the program is completely
self-paged without the help of the startup code.

> It 
> also must allocate a new stack for the initial thread, and pass along 
> information to the new pager when it is ready.

No, the executable can allocate its own stack.  Until it has, it can use the
startup codes small stack.

The information needs to be passed.  In fact, it can be on the stack as
function arguments.

[...]

What I left out here seems ok to me.

> There is also the special case for getting the bootstrap processes 
> running.  This must be done by wortel, the rootserver.  Wortel should
> use the same exec-protocol which is used by the real exec-implementation.

I suggest to develop the protocol as if the bootstrap case doesn't exist.
We can always tweak it later to fit the bootstrap case as a special case,
too.  For example, information that does not make sense at bootstrap can be
set to 0 or flags can indicate the presence of certain fields.

> Wortel creates bootstrap containers for the bootstrap servers.  These
> containers all the physical memory for the server.  Wortel passes section
> information with the bitmap full, leting the startup code know that all
> data is already in the container.
>
> This eliminates the need for the physmem server to act as a backing 
> storage server for the boostrap servers.

Good idea, I like that.

Thanks,
Marcus

-- 
`Rhubarb is no Egyptian god.' GNU      http://www.gnu.org    address@hidden
Marcus Brinkmann              The Hurd http://www.gnu.org/software/hurd/
address@hidden
http://www.marcus-brinkmann.de/




reply via email to

[Prev in Thread] Current Thread [Next in Thread]