"J=" == Juho =?iso-8859-1?Q?=D6stman?= <Juho> writes:
Js> I have understood that the kernel isn't able to free memory Js> it has allocated. Js> Is that true?
Depends what you mean. The kernel cannot (in the present version) reclaim memory it kernel has allocated to sigma0, and sigma0 won't return it voluntarily. Nor will the kernel release to sigma0 any of the "reserved" RAM. (But that's really a sigma0 protocol issue, and you could use a separate sigma0 which behaves differently. But the present kernels won't be able to make use of that.)
If your question refers to memory allocated to kernel data structures (TCBs and page tables) within the kernel reserved memory regions, there is no reason the kernel cannot reclaim that (e.g. when a task is deactivated).
J=> What about the case when the kernel would need more memory for page tables J=> and the J=> initial servers have already allocated all memory from sigma0?
At the present time the kernel will have the choice between panicking or shooting down tasks.
There's a paper by Jochen in a recent HotOS suggesting a way the kernel could reclaim memory from apps.
Gernot -- Gernot Heiser ,--_|\ School of Computer Sci. & Engin. Phone: +61 2 9385 5156 / \ The University of NSW Fax: +61 2 9385 5533 _,--._* Sydney, Australia 2052 E-mail: gernot@unsw.edu.au v http://www.cse.unsw.edu.au/~gernot PGP fingerprint: 94 1E B8 28 25 FD 7C 94 20 10 92 E5 0B FF 39 8F