852026d@aucs.uucp (DAWD) (03/07/90)
It is mentioned in Comer/Fossum's book ,XINU P.C edition, that
PCXINU allocates a stack area for each process, in a way that if more
than one process starts, their stacks are allocated CONTIGUOUSLY upward.
I found out that PCXINU does not allocate processes' stacks CONTIGUOUSLY,
because when PCXINU creates a process it uses function getmem() to allocate
it's stack , and function getmem() simply returns the first free block of
memory from the free list. The following code will show it clearly : -
...
resume(creat(process#2,......));
userblock = getmem(100);
resume(creat(process#2,......));
....
Please post any comments .
Thank You