Saturday, January 6, 2007

I'm Never Wrong...

I'm never wrong when I'm sleeping.

Is using a title about operating systems going to get anyone to look at this? If I'm going to talk about the future of operating systems there is one thing I've learned. Marketing comes first. And besides, I'm wrong the rest of the time so you may as well stop reading.

The last blog entry ended with a comment a few minutes after I wrote it that we need to look at operating sytems more as a video feed than a finite state machine (FSM). The root of the problem goes back to my hero Alan Turing. Did I know I was going to mention Turing when I started this? No way. I'm just typing and the last thing I would ever do is question his absolute brilliance, but I may be wrong in saying I would never question it since I'm not sleeping. On a side note, anyone read Cryptonomicron? Too long, but a fun book.

Finite State Machines work great to compute a result, but we no longer use computers to simply compute results. They run infinitely have become more of a linear medium than a finite one. The results being that our management tools were all designed to look at an operating system as snap shot of a single picture while in reality they are highly complex video cameras. Why are we still stuck using one dimensional tools on a linear two dimensional object?

The answer is that our tools were always limited by the resources we could bring to bear on the problem. That and the fact that the godfather of our industry (Turing) was only interested in breaking codes during WWII. He only cared about a single end result and once the ticker tape stopped, the tape WAS the result. Our resources were limited in that we/he always had tiny pieces of tape (memory and disk) to process and store everything (overwrite, overwrite, overwrite). We're stuck in a design from 1950 and our complacency is the root of the problem. So the big question I have is: What are you doing with that 500GB hard disk in your everyday computer? Unless you are a videographer, you probably wasted your money and have only used a few gigs.

I'm not saying we need to throw out the FSM at the root of our industry, but maybe it's time to rethink the one-dimensional tape. Did I lose you? I feel like I lost myself, but let me try and explain. I'm talking about a Temporal Finite State Machine. There seems to be an opportunity to build a new type of operating system that relies heavliy on readily available massive amounts of storage space to journal everything (copy that tape) and allow for much tighter contols on security and increased reliability with the ability to diagnose problems (non-linear operation) or changes that have occured in the past instead of only looking at the operating system as a single image of the here and now. Everyone is groaning right now with only thoughts on performance and I agree, performance would be an issue, but this is fantasy land and I'm just brainstorming and you are just along for the ride. I also work at FileNet and we have all kinds of crazy ideas for storing and organizing massive amounts of information so it's not a complete fantasy. I at least hope I stretched your brain a little. I'll write more on this.

Temporal Finite State Machine.... Hmmmm... This is going to kill some brain cells I can tell.
When am I ever going to get to the point and finally talk about why source code causes most of our problems? For now I think I'll just continue down this rabbit hole.

No comments: