OS design

Working on a “process algebra” post, I had to look up previous posts on microkernels where I wrote this:
Information hiding is only good design when the hidden information is not needed by the software it is hidden from! If you hide information that you need to share you’re just wasting time. A great example of [...]

Operating system research – 16 years perspective

It’s somewhat funny and somewhat sad to read this thread on the old USENET. Starting out with Andy Tanenbaum’s proposed list of accepted truths (most of which I thought wrong at the time)
GENERALLY ACCEPTED AS TRUE BY RESEARCHERS IN DISTRIBUTED SYSTEMS

- The client-server paradigm is a good one
- Microkernels are the way to go
- UNIX [...]

Sparc T2 (niagra 2)

UT architecture seminar today was by Greg Grohoski from Sun – an updated version of his Hot Chips talk. I’m not a big fan of this approach to chip architecture: 8 processors, each with 8 threads, but they are working hard on a real problem. The problem is the usual one of high speed processors [...]

more on missed wakeup

Here are some conventions [Update: typos fix, Friday]

We are concerned with state machines and sequences of events. The prefixes of a sequence include the empty sequence “null” and the sequence itself.
Relative state: If “w” is the sequence of events that have driven a system of state machines from their initial to their current [...]

Speculation on modularity and information theory

One way of defining modules is by what engineers have to know. If a program X consists of components X1 … Xn then we can say Xi is a module if a programmer can modify it without learning “much” about any other module. A second, related measure can be in terms of information hiding [...]

Microkernels and why academic OS research is boring

Andy Tanenbaum writes a defense of microkernels that (1) misses the content of Linus Torvald’s critique, (2) ignores the most relevant paper on software development, David Parnas’ Software Jewels paper, and (3) pretends RTLinux does not exist. The problem with microkernels is that they are not modular and the problem with all the “nearly ready [...]