In computer science academia, C along with UNIX, and PDP11s, is as unfashionable as can be: the equivalent of other 1970’s relics, like polyester leisure suits and mullets. In 2018 ACM Queue published an essay by David Chisnall called: C
Flat address spaces: another crank idea for computer architecture
The poor C programming language is ridiculously out of fashion. Critics like to explain how, Dennis Ritchie didn’t know any math, or that the type system of C fails to invoke any category theoretical concepts and that, unlike in the
Xor patterns
The xor i mod 128 “multiplication table” as presented by Mathematica. Here is the mod 64 matrix.
Current reading: meltdown and spectre edition
Google project zero and then The two attacks. and remediation for Spectre in LLVM. Test code. (via Lobste.rs) Limits of ASLR. Spanner,True Time and CAP See also Synchronous Processors. and processor architecture. Some papers by Stephen Kell (also via lobste.rs
Synchronous processors
Imagine a processor with no interrupts. We can do a lot better and get rid of most exceptions (e.g. system calls, page faults etc.), most peripheral devices/buses, and even cache misses, but let’s start with interrupts. Modern micro-processors are bloated
Processor architecture
I wish that processor architecture was not so committed to a obsolete model of software. For example, it has become clear over the last few years that the sloppy shared memory thread model of programming has multiple drawbacks. Sharing of
The lost wakeup problem
One basic problem in operating system design is how to make efficient blocking requests. Thread A wants something from Thread B (or ISR B) and (1) requests and (2) blocks. There are thousands of ways in which the interval between