mnicolet wrote (in a message from Tuesday 8)
 > May be this question is not strictly suited to this list, but I see lots of
 > people contributing from lots of different platforms.
 > The question regards to stack space management under different platforms, or
 > execution models.
 > Under my preferred platform ( QNX 4.25 ) stack space is allocated at process
 > creation, and remains fixed until process death. Thas is so because the data
 > segment layout leaves the heap on top, so it can grow easily. So, one must
 > guess how much stack would be needed, and give the figure to the linker.
 > The question is: are there some other ( not exotic, of course ) platforms
 > that allows stack growing on demand ? i.e the stack as one segment by its
 > own, which can be dynamically re-allocated during process lifetime
   ?

On Unix-like systems (and I guess in modern MS Window too) the virtual
memory system allows to allocate a large stack for each process. Real
memory is used only as stack grows and as virtual addresses need to
have real memory pages vired to them. 

There still is a physical fixed stack size limit, but it's generally
set quite high. 

I don't know any system without shared memory that would behave this
way. In VxWorks you specify the stack size at task creation and it's
allocating memory from the global pool. 



                                        Matthieu
_______________________________________________
Devel mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/devel

Reply via email to