A single root sort-of makes sense. It keeps things simple, for a start. Not too keen on linked lists for large searches, though - that gets ugly, fast, as has been noted - unless they're kept sorted by inserting into the list rather than appending.
Nonlinear structures are faster to search and to add to, which would obviously help, but eat more memory. If this was a solution people would consider, then it would need to be possible to revert to linear structures on embedded and other very compact systems.
Or you could have the capacity to have multiple families attached to a process. Then, all processes would have init as their common parent, but by different lists. So long as you could guarantee picking the right list each time, every time, and so long as the lists were crudely balanced, you reduce the time overheads without adding significant data overheads.
Or you could say "screw it", put the thread handling code in an ASIC chip, sell it to all the Linux users out there, and retire on some exotic island.
Copyright © 2017, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds