Performance against isolation
A subject. The loosest grouping, and the one to reach for last.
The Computer Systems course is described as operating systems, performance versus information security. This is that argument as a line of primary sources, and it has two halves fifty years apart.
Lampson states the problem in 1973: a confined program must not leak, and the channels by which it can are more numerous than anyone enumerates — he names the covert channel. Saltzer and Schroeder give the design principles meant to hold the line. Then a long gap in which the principles are taught and the hardware quietly acquires caches, branch predictors and speculation, each a performance feature and each a shared resource.
Ge, Yarom, Cock and Heiser catalogue the resulting timing channels in 2016, a year before anyone showed how bad it was. Meltdown and Spectre then show it: Meltdown an implementation defect that a software mitigation closes at a bounded cost, Spectre a consequence of speculation itself that does not close. Klein and colleagues' seL4 sits deliberately in this set as the other side of the boundary — a kernel proved to implement its specification, in a corpus where the attacks all live beneath the specification.
The through line is that isolation is asserted at one level and broken at a lower one, and that every performance feature which shares state between principals is a candidate for the next break.