Announcing: Nebula
Posted: Wed May 15, 2013 11:00 am
I have been thinking about developing an OS for over three years now. I haven't started on it earlier since I knew it would take up most of my time for the next couple years or more. But now I have decided to begin, and I have decided how I want it to be structured.
Why "Nebula"? Nebulas are the place there stars are born. In a similar way is the OS the place where new programs get developed.
Nebula is going to be a multikernel OS. The basic design is that each general-purpose proccessor, no matter if its on the same chip, or an entirely difrent processor, will have their own kernelnode. The kernel nodes takes care of the basic tasks such as context switching. Some tasks cant be done by every processor core, one thing is the file system. The nodes will determine which core is the best suited one for the task, and then it gets assigned to it. Programs in userspace won't have any knowledge about the nodes. For them its just one kernel.
Well this was a very short and lousy description, I will updates this more later.
I havent started the development yet. Instead I have started on making my own assembler. It's combined with an editor. Everything is written in java, since it goes a lot quicker developing in that language. Its goal is to provide a lot of error checking, which is great to have when doing larger projects. A linker will be included with it as well. It's mostly aimed for kernel development and will be made freely availeble and probably open source when its done.
Why "Nebula"? Nebulas are the place there stars are born. In a similar way is the OS the place where new programs get developed.
Nebula is going to be a multikernel OS. The basic design is that each general-purpose proccessor, no matter if its on the same chip, or an entirely difrent processor, will have their own kernelnode. The kernel nodes takes care of the basic tasks such as context switching. Some tasks cant be done by every processor core, one thing is the file system. The nodes will determine which core is the best suited one for the task, and then it gets assigned to it. Programs in userspace won't have any knowledge about the nodes. For them its just one kernel.
Well this was a very short and lousy description, I will updates this more later.
I havent started the development yet. Instead I have started on making my own assembler. It's combined with an editor. Everything is written in java, since it goes a lot quicker developing in that language. Its goal is to provide a lot of error checking, which is great to have when doing larger projects. A linker will be included with it as well. It's mostly aimed for kernel development and will be made freely availeble and probably open source when its done.