Running and Operating Systems

Well, I've been running almost every day for the last couple weeks. It has gotten to the point where I can run 10 miles pretty easily. I could probably do it every day. I notice my legs getting stronger and stronger. I want to get it to a point where I can run 20 miles easily, and then 30 miles easily. Wouldn't it be nice to run 30 miles a day, every day? Some people would call that insane or ridiculous or impossible. I don't agree. The body is an amazing piece of machinery if you train it and use mental discipline. I have found that running is more of a mental challenge than a physical one.

I've been thinking about operating systems. I have been nervous about writing too much about my technical ideas of implementing an operating systems because I know that my ideas may change as I go along.

A driving force in creating a new operating system is feeling that I understand the software to a terrific degree. Ideally I would like to feel like I understand and am very familiar to a terrific degree of the most basic and essential pieces of the operating system. I don't want to rely on software that I don't know intimately to create the operating system. For instance I don't want to rely on a C compiler of which I don't know the implementation of and of which I don't know the generated binary code that it generates. I want to know this operating system from it's most essential basic up. It is hard to explain. I just don't want to have the feeling that there's stuff going on that I don't really know about at the software level. And I want to have a terrific certainty of the essential core of the operating system. Understanding, and exporting that understand to others are the most important thing.

For that reason I have been looking at writing an assembler in assembly, that way I know the implementation of the assembler that I use and the x86 binary that it produces. Parts of the OS will probably be written in assembly but I would like a higher level language to implement much of the software. So perhaps I will implement a higher level C or Lisp like language using the assembler that I created, and then use this higher level language to create much of the OS. But writing an assembler and a C or Lisp like language in raw x86 assembly may be too complex. Maybe using a special editor that helps organize assembly code would make it a lot easier. There's lots to be explored.

Practicality and simplicity are goals of this operating system and I will not choose courses of actions or implementations that are overly complex or take forever to do. So I will seek a certain balance and forever attempt a closer approximation of the ideals of total understanding of system, simplicity, speed of implementation and small code base, reliability, usefulness and security.

blog comments powered by Disqus

Sponsors

Vivian Lo
UserTesting.com - improve your website today