Re: the memory model being used in elks?
Alan Cox <[email protected]> Sun, 10 May 2015 21:27:44 +0100
| Newsgroups | org.kernel.vger.linux-8086 |
|---|---|
| Message-ID | <[email protected]> |
On Sun, 10 May 2015 20:40:27 +0200 [email protected] wrote: > On Sun, May 10, 2015 at 10:31:38AM -0500, Juan Perez-Sanchez wrote: > > Compile with flags > > > > -i -H E000 > > > > Flag H controls the size of BSS. > > I see, a minix-like static allocation (I'm guessing this is needed > because ELKS does not yet handle overlapping segments between different > processes so it does not want to allocate a whole segment to each process > per default?). Classic Unix defines the memory map as <--- Data ---><--- BSS ---> | <--- Space ---> | <--- Stack --- > Where the upper divide is SP and the lower one is set by brk() or sbrk(). The space in the middle doesn't all really exist if you have an MMU with any kind of sane paging system. If you have support built for ELKS pattern binaries then you can do resizing at runtime as they are laid out to allow the bss to extend Alan