The phrase can have slightly different meanings in the contexts of computer software and hardware.
In application software, software is called "monolithic" if it has a monolithic architecture, in which functionally distinguishable aspects (for example data input and output, data processing, error handling, and the user interface) are all interwoven, rather than containing architecturally separate components.
[1] Software systems like this are examples of monolithic applications.
Note that such a system may consist of architecturally separate components – in a multi-core system, each core forms a separate component – as long as they are realized on a single die.
[citation needed] In system software, a monolithic kernel is an operating system (OS) architecture where the entire OS is working in kernel space.