Kernel Definition

Richard M. Mathews richard at locus.com
Thu May 30 06:14:32 AEST 1991


jfh at rpp386.cactus.org (John F Haugh II) writes:

>The AIX v3 kernel is pagable.

And AIX V3 isn't the only pagable Unix kernel, and I suspect this is going
to get common soon.

This is wandering off the subject a bit, but I thought I'd mention some
of the fun involved in making Unix pagable since it sounds like most of
the "wizards" out there haven't played with this at all.  There are
many, many places where Unix kernel code assumes that there are only
3 ways that something can magically change: an interrupt can change
things; hardware registers can change; and anything can change if we
allow a context switch.  If you know that the first 2 don't happen or
are irrelevant, then all you have to do is avoid calling swtch() (or
something that calls it, most obviously sleep()); and then you know
that you have complete control.  If, however, you can take page faults
in the kernel, then you can get context switched on any line of code.
You better hunt out each place where such assumptions are made, and
either temporarily pin down the pages you need or get a lock for the
appropiate resource.  And then you better think about deadlock and
performance implications of keeping things pinned or locked.  It's a
lot of fun!  Note, by the way, that the work to make a kernel pagable
is similar to the work needed to make it work with multiple processors.

Richard M. Mathews			 Freedom for Lithuania
richard at locus.com				Laisve!
lcc!richard at seas.ucla.edu
...!{uunet|ucla-se|turnkey}!lcc!richard



More information about the Comp.unix.sysv386 mailing list