A Personal Operating System

My computer has an operating system that governs what it does, how it responds to inputs, what processes it runs, and how it manages resources.

I have a personal operating system too. It governs the things I do, how I respond to inputs, what things I do, and how I manage my resources.

Some parts of my operating system need some updates. Some parts are just there because they've been there as long as I can remember. Many parts are just sub optimal and in need of some upgrades.

It’s time to take inventory and see where I can make some changes. Time for Tim 2.0!

But first, why compare myself to an operating system? It’s not because I view myself as cold and unemotional as an Operating System.
If I were a painter, perhaps I would describe the way I would like to
live using painting (keep your palette balanced, choose what to focus
on, etc.), but I’m a programmer so an Operating System has a lot of
obvious parallels to life for me.

The Kernel

The Kernel of an Operating System manages everything that the
Operating System does. In this way it is similar to the Human consciousness.

By keeping my brain engaged and attuned to raw and undistorted inputs,
I can respond to those inputs in ways I have decided to in advance using pre-programmed scripts. Steven R. Covey, in his Seven Habits book, discussed developing scripts and injecting them between stimulus and response.

For example, there have been times when I could have helped someone and did not out of selfishness. I've regretted those decisions and would like to create a new script that I can “execute” when someone needs help.

I’m reading the book “The Power of Habit” and it talks about forming new habits. I’m really excited about developing new habits and improving or replacing other habits.

That is not to say that I need to have a plan for every eventuality.
The unexpected events in life do seem to fall into a small number of
categories. By documenting general responses to those categories and
evaluating how my responses went, I can tune my responses over time.

If I become side-tracked by irrelevant inputs or distorted facts, then
I run the risk of reacting to inputs in ways I would rather not
(getting angry, becoming stressed, being unkind, etc.). The book “Crucial Conversations” talks about separating the facts about things that happen to us from the narratives we add to the facts. Those narratives usually give the facts a negative spin.

Randomness

Randomness plays an important role in an Operating System but it must
be used only where appropriate. Most of the time, programmers want
Operating Systems to react deterministically but there are times when
randomness is desirable (e.g. Cryptography, some sorting algorithms,
etc.).

So too in life randomness has its use especially when you’re trying to
keep life fresh and interesting. When an appointment gets cancelled
and you have some spare time, randomness can help make the best of the
situation (or at least have some fun). See also: spontaneity.

Memory Manager

If an Operating System fulfills every request for memory, it may find
itself not able to allocate memory to important system tasks.

One must be careful how they allocate their memory. If you reserve
memory to hold grudges, you will have less memory to spare for fond
memories. If you waste your memory on the insignificant, you will
have less memory for the important.

Fortunately, major memory allocation requests all go through the
Operating System and they can be rejected or fulfilled at the
Operating System’s discretion.

In life there is a direct connection between attention and memory. If
you pay attention to something, it will get loaded into memory. If
you pay no attention to something, it won’t take much if any memory.

Interrupts

An Operating System is connected to multiple devices and those devices
can request the attention of the Operating System by signaling an
interrupt.

In real life, interrupts can happen at any time. A child becomes
sick. A spouse has a bad experience. Something at work goes wrong.

Operating Systems dictate how to deal with interrupts, how to suspend the current thread, saving aside any relevant context, dealing with the interrupt and then getting back to what they were doing.

A personal operating system should make allowances for interrupts. If a friend or family member is faced with a problem, I would want my operating system to put aside what I was doing and help that person in need.

Processes

A process is a long term focus of my Operating System. Examples of
process would be 1) strategic learning of a skill 2) working towards a
goal 3) working toward career advancement 4) trying to teach a child a
behavior, etc.

An Operating System must be careful which processes it runs. If it
runs a malicious process (e.g. a virus), it can damage the Operating
System. If it runs an unnecessary process (e.g. a huge Word
Processing application), Operating System resources are wasted.

My Personal Operating system will have criteria for running a process:

  1. Must be moral — Why invest a large part of my life doing something I believe to be wrong?
  2. Must be beneficial to myself or someone else because if it’s not doing someone some good, why do it?
  3. Must not be harmful to myself or someone else — this goes without saying.
  4. Must be aligned with my life goals

Threads

Threads are day to day, hour to hour activities that I engage in.
They are short-lived and achieve one little thing.

The ideal thread achieves one part of the goal of an important
process (life goal).

Sometimes I need a diversion and spawning a thread of relaxation is
just what I need. Other times I need to schedule a thread that works
towards a life goal or just an administrative task.

Input/Output

An Operating System receives inputs from its hardware whether that be
the network card, a disk drive, or video memory.

Some memory sticks have ECC features that allow the memory to ensure
that the data they retain is the same data that was written to them.

In the same way I want to make sure that the inputs I receive are not
distorted by fear, confusion, misunderstanding, etc.

I have to ensure the integrity of any data I allow into my system.
Yes, gossip is highly suspect.

Fault Tolerance

An Operating System can have features that provide Fault Tolerance.
These features help the Operating System recover from errors and
anomalies.

I would like to document Fault Tolerant features in my Operating
System.

Hardship enters every life, and I want to make sure that I handle it in a healthy and constructive way.

The book “The Obstacle is the Way” by Ryan Holiday has some great advice for making your life more fault tolerant.

Conclusion

I hope that I stick with the process of continuously working on improving my Personal Operating System. It’s definitely a work in progress and will be for the rest of my life.

I didn't talk about a number of Operating System topics that are relevant like hibernation, power management, OS upgrades, firewalls, etc. I have to save something for Tim 2.1 and subsequent releases.

Show your support

Clapping shows how much you appreciated timstewart’s story.