Regarding testing the garbage collector, nothing beats seeing decaf survive
three or more GCs ... as I know to my cost from trying to get this to work
back in October/November, it all falls into a quivering heap if the
slightest thing goes wrong. The test code I wrote was spectacularly
underpowered in comparison.
-- George
> -----Original Message-----
> From: Todd L. Miller [SMTP:[EMAIL PROTECTED]]
> Sent: Wednesday, March 08, 2000 3:58 AM
> To: [EMAIL PROTECTED]
> Subject: Re: [JOS-Kernel] Kernel Tests
>
> > It is possible, isn't it? We can write C/C++ programs to
> test/demonstrate
> > kernel functions. At the point where jJOS invokes decaf, jJOS could
> invoke
> > a power-on self-test, a diagnostic program, or some other
> > test/demonstration program written in C/C++.
>
> The kernel right now is cleanly (sort of) divided between the
> ASM, C, and C++ sections. The C++ sections could be unit tested by class,
> but almost all of the ASM can't be tested without running it. Someone
> who's sufficiently adventerous might be able to hack kdb or VMware to help
> out here, but I'm certainly note one of them :) The C section is the
> garbage collector, whic is One Of Those Things I Would Someday Like To Try
> My Hand At. I'm not really sure what the proper testing procedure for a
> garbage collector (esp. on written in C) might be, but if you're curios,
> ask George Marrows, who wrote it.
>
> > Where and when should we implement memory management? In the kernel? Or,
> in
> > decaf? Should we do it now, when there is no swap file? Or later?
>
> No, definitely not in decaf. The memory management is going to be
> intimately tied with the virtual memory system and the garbage collector,
> so they'll need to be looked at together. (For instance, it may be
> worthwhile to garbage-collect a page before swapping it out, and so on; do
> we prefer to garbage collect before swapping when we run out of RAM? How
> does the pager's LRU list interact with the possibility of generational
> GC? Etc.)
>
> > We should implement memory management in the kernel. The host build of
> the
> > kernel simply uses the memory management of a foreign operating system.
> The
> > i386 build of the kernel must implement memory management independently
> > from any other operating system.
>
> Since we're currently running a monolithic system, much less a
> monolithic kernel, I have to agree with you here. On the other hand,
> Linux seems to be doing just fine with a user-space swapper, etc -- and
> Mach with its microkernel architecture. Whatever we en up doing w.r.t. to
> memory management should be portable with the minimum of effort to
> whatever kernel/system design we end up `finalizing' on.
>
> -_Quinn
>
>
>
> _______________________________________________
> Kernel maillist - [EMAIL PROTECTED]
> http://jos.org/mailman/listinfo/kernel
_______________________________________________
Kernel maillist - [EMAIL PROTECTED]
http://jos.org/mailman/listinfo/kernel