The Concept of Layered Software

Early programmers, using machine language or assembler, wrote completely self-sufficient programs. As time passed and software became more complex, however, these monolithic programs became increasingly impractical. For one thing, with each program taking over the entire computer, it wasn’t possible to run several programs at the same time. For another, the programs grew so large and complex that they nearly defied human understanding. Finally, many functions inside these large programs were essentially the same. There was no point in rewriting them for each program.

These are just a few of the reasons that operating systems exist. Today, most programs expect to run within the confines of an operating system such ...

Get Faster Smarter Beginning Programming now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.