OS Life

Following up on my previous post about Life Thrash I have carried on thinking about the parallels between operating systems and life. The two suggestions so far “switch off and on again” and “upgrade to a newer model” are a bit tricky to implement – however a software upgrade does not seem out of the question! Sticking with process control in particular I feel that I am currently running a poor algorithm that loses processes, can fail to complete, and works best when simply just doing one thing (but not necessarily the right thing). In OS terms this is like an old version of DOS and things would be a whole lot better if I was running Unix.

So what is a decent process management system. A quick Google for Unix process management shows that there are likely to be some good guides out there, and I may even see if I still have my lecture notes (in troff) on a CD somewhere, but for the moment I want to just describe it from memory so apologies if there are some mismatches here.

Useful concepts are: processes, priorities, nice, running, sleeping, zombie, time slice. Each thing that can be run is a process, the priority is how much you would like it to run, nice is a way to lower (or raise) that priority. Processes can be running, sleeping waiting their turn to run, or a zombie which is something left around that can’t do anything anymore. Just had a check – I left out stopped, which I think is something that needs to be started again.

The key then is to apply a decent algorithm that gives each process a turn, but while a process is having its turn the priority reduces so that no process will miss out for long. Swapping processes in and out switches the context and the OS will try to do this fast enough so multi-tasking appears to work even though the reality may well be that the machine only has one processor. 

OK well my time slice on this task is now up and I will switch to something else (sleeping). I hope that there is enough here to help me think about how actions in life can also be viewed as processes. I want to explore what can be done to help control these: process lists, contexts, priorities and time slices. I think the answer will look a lot like David Allen’s Getting Things Done and that will be good as that opens up some tools that can be used to help.


5 Responses to OS Life

  1. Tony Hirst says:

    I guess one thing to do is profile your activity?

    http://www.rev2.org/2008/04/21/rescuetime-where-does-your-computing-time-go/ will keep track of what apps you’re using:

    “RescueTime lets you tag particular applications and categorize them in this way (i.e. work, personal, media, useless, etc.) And here’s the cool part — you can then use these tags to set up special goals and alerts for yourself when you’re spending more time than you need to on them. For example, I set up a goal stating, “I want to spend less than 3 hours per day on entertainment.” Now I can subscribe to an RSS feed or get RescueTime to SMS my phone everytime I’m over my goal limit.”

  2. Looks like one to add to the list of things to play with. My immediate reaction is that it provides only part of the picture – the what you are doing but not the why you are doing it. Way back (~10 years ago) in an EU project we were developing a “process based learning environment” (whatever that means) and had the idea that if you had a web-based list of (learning) tasks to do then each time you went off to do them whatever pages you visited automatically got counted towards that task. I still think this is a nice idea but the problem was people did not switch tasks and too much junk got included. Maybe some combination of task register + automated activity monitor could prevail?

    Thank you very much for the pointer to rescuetime, I will check it out.

  3. Gill says:

    The “process based learning environment” idea seems a nice relatively low-effort way to track what you’re doing, if set up correctly. Dave Allen’s “Getting things done” approach has many supporters and does offer some simple guidelines. One I find particularly helpful is the idea of “getting it out of your head” onto a paper or electronic list, and keep referring back to that list.

    However I wonder if it is a bit more fundamental than that.

    Are you just trying to do too much?

  4. Doug Clow says:

    The thing that always concerns me about using process models for human behaviour is that human brains aren’t built to a Von Neumann architecture. They’re not even a multi-processor structure: it’s all hopelessly decentralised and complex. You can sort-of model it by allowing a heavy swap overhead (and I deployed just that argument – to no effect whatsoever – about open plan working). But mental attention isn’t fungible in the way that processor cycles are. There’s always more than one process running at a time and processes rarely sleep entirely. (Even when you’re sleeping.)

    I’m convinced that structured procrastination is the best solution. I just need to get round to doing it more. Or actually, come to think of it, doing it a less – it works well when you do something that’s fun and useful as a way of avoiding some other task that you’re in some way supposed to be doing but don’t actually really really have to. The rot sets in when you do it iteratively, so that the activity you’re avoiding is popping a very deep stack. Writing this comment is about five or six layers down from the tasks I probably ‘should’ be doing …

  5. Patrick says:

    Thanks Gill & Doug. I agree that the GTD getting it out of the head is quite good but I then felt that was not quite enough. I have been having a go with one of the more complete of the GTD systems for the last few days (Thinking Rock) and that improves upon some of my earlier attempts. Still something missing though around what needs to happen to the things you are not doing.

    That brings me to the point I was getting at with the discussion of unix swap algorithms. It was not that we need to behave just like the computer, rather that there seemed to be more thought gone into the algorithms than into how we work. I might dig out more of the details to illustrate.

    I also agree that the best way to get things done is to make it the distraction from something else – but it is hard to know you picked the right distraction.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: