Arrays are much faster than linked lists. Because you don't have to
chase pointers, you touch a whole lot fewer memory pages.
It's slower to insert in the middle, but you don't do this with a
process table anyway. If we are inserting on the array, we're broken. ;-)
If you make the array growable, the process limit goes away. Arrays
that grow a page at a time shouldn't mess up the memory allocation.
You would waste a few bytes on empty entries, but it's really not that
much, assuming you use an array of pointers and not an array of objects.
I don't have the sources handy right now, so I haven't looked - if my
comments diverge from reality, that's why, and feel free to chew me
out...
-- - David A. Holland | Number of Americans holding reservations dholland@husc.harvard.edu | with Pan Am for a trip to the moon: 30,000