Linux Design Principle
Managing the development of Linux and making design decisions about Linux dictate the same approach.
- Portability
Compile time constant rather than using a variable
The generalizations you're looking for when surveying systems are frequently the same as the optimizations you'd like to make to improve the kernel's performance.
If you had not been thinking about portability as a design goal, but had just been thinking about optimization of the kernel on a particular architecture, you would frequently reach the same conclusion.
- Modularity
Virtual FS, MM, Scheduler
Module: kernel modules to keep hardware specifics in the modules. This is a good middle ground between putting all the hardware specifics in the core kernel, which makes for a fast but unportable kernel, and putting all the hardware specifics in user space, which results in a system that is either slow, unstable, or both.