From UNIX v6 to Linux

Required reading: The UNIX Time Sharing System

What about UNIX was revolutionary?

File system structure

Contrast: previous file systems (e.g., VMS) had one or at most two levels of structure, often required apps to deal with files in terms of multi-byte records.

Shell and application environment

Contrast: Previously shells or command interpreters were merely a mechanism for starting applications. Applications were big, complex, monolithic, and expected to do everything themselves.

Kernel development approach

Contrast: Earlier commercial OSs written in assembly language by thousands of programmers, designed to run specific commercial applications on specific hardware

As Thompson and Ritchie themselves point out in the paper, many of the specific ideas they used in designing Unix were gleaned from other, now largely forgotten operating systems. But UNIX is where all of these ideas came together into a single architecture that became a model for all major subsequent operating systems.

A Hopelessly Simplified UNIX Lineage