Dennis M. Ritchie 2026-11-05
Dennis M. Ritchie co-developed Unix with Ken Thompson and contributed the C programming language used to express much of the system. Their original paper connects this implementation choice with a practical system offering a hierarchical file system and composable process input and output.[ref]
The UNIX Time-Sharing System by Dennis M. Ritchie and Ken Thompson. §1, C language and system overview; implementation discussion
The scientific interest is the relation between abstraction and machine control: a language implementation must preserve operations on storage, arithmetic and interfaces while enabling a larger system to be written coherently. Ritchie's preserved Bell Labs homepage records the early Unix collaboration and identifies his historical work.[ref]
Portrait of Dennis M. Ritchie
. Source. Ken Thompson 2026-11-05
Ken Thompson co-developed Unix with Dennis M. Ritchie and other collaborators. Their 1974 paper describes a compact multi-user operating system with a hierarchical file system, asynchronous operating-system processes and a user-selectable command language.[ref]
One useful design idea is to combine small programs through a Pipe. The producing program writes an output stream and the consuming program reads an input stream; they need not implement each other's task. The operating system supplies the connection and scheduling. This makes composition a reusable system facility rather than a new integration mechanism for every pair of programs.[ref]
The UNIX Time-Sharing System by Dennis M. Ritchie and Ken Thompson. §5, Processes and Images, pipes and the shell
Portrait of Ken Thompson
. Portrait from the Jargon File, recorded as public domain on Wikimedia Commons. Source. Time-sharing operating system 2026-11-05
A time-sharing operating system multiplexes processor time among interactive operating-system processes so that each can make progress while sharing one machine. A timer interrupt can end the current time slice, enter the kernel and let Process scheduling select another runnable process. Saving and restoring its Execution context lets the interrupted process later resume where it stopped.
In a simplified round-robin example, four always-runnable processes with10ms time slices each receive a turn every40ms, ignoring switch overhead. A blocked process need not consume its turn. Smaller slices reduce scheduling delay but increase the fraction of time spent switching contexts. Interactive responsiveness therefore depends on both the scheduling policy and workload; merely supporting multiple users does not guarantee a latency bound. The1974 Unix paper describes a concrete time-sharing system organized around protected processes, files and shared system services.[ref]
The UNIX Time-Sharing System by Dennis M. Ritchie and Ken Thompson. process and system-overview sections

