Monolithic operating systems: (1) are centralized, (2) need additional effort for distributed computing, (3) cannot deal with the speed of adaptation necessary for modern heterogeneous infrastructures, (4) require more resources than available on embedded devices. Modern Operating Systems need to reflect the application structure better, in the sense that they have to reduce the impact on the environment by focusing only on what is needed locally, rather than trying to cater for all potential cases. Modular Operating Systems offer dedicated “modules” for local execution of distributed and scalable applications with minimal overhead and maximum integration across instances. Inclusion of heterogeneous infrastructures requires only the adaptation of individual modules, rather than the whole operating system. This chapter discusses the architecture, usability and constraints of modular operating systems for large scale, distributed and heterogeneous environments.