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