Feasibility of targetting a virtual machine monitor instead
Posted: Sat Jun 27, 2009 4:26 pm
Hi all,
I'm new here. I've long been interested in OS design, but this is pretty much my first adventure in building stuff myself. I have taken an interest in the D language after several bad experiences of C at university, and having seen what a complex mess C++ is, I would prefer to avoid it.
I have run through the barebones examples in the Wiki and arrived at a simple design that can load a function declared as extern(C). At present the function doesn't do anything interesting, and I haven't yet had time to try and figure out how to get into real D code. I'll come to that another day.
For now, I like to ask about the feasibility of targeting a hypervisor like xen with the aim of avoiding some of the more arcane steps to getting the system up and running. Specifically, if you have a monitor already running, do you still need to deal with assembly to boot into code written in a higher level language? I've scanned the documentation, but couldn't see anything addressing this issue.
My reasoning is that decoupling the OS from the hardware should allow the whole thing to be written in the implementation language and a few API calls down to the monitor, effectively acting as a hardware abstraction layer below the OS structures.
Can this be done with current technology, is there some reason why it might not be possible, or do I just have a crazy pipe-dream?
I'm new here. I've long been interested in OS design, but this is pretty much my first adventure in building stuff myself. I have taken an interest in the D language after several bad experiences of C at university, and having seen what a complex mess C++ is, I would prefer to avoid it.
I have run through the barebones examples in the Wiki and arrived at a simple design that can load a function declared as extern(C). At present the function doesn't do anything interesting, and I haven't yet had time to try and figure out how to get into real D code. I'll come to that another day.
For now, I like to ask about the feasibility of targeting a hypervisor like xen with the aim of avoiding some of the more arcane steps to getting the system up and running. Specifically, if you have a monitor already running, do you still need to deal with assembly to boot into code written in a higher level language? I've scanned the documentation, but couldn't see anything addressing this issue.
My reasoning is that decoupling the OS from the hardware should allow the whole thing to be written in the implementation language and a few API calls down to the monitor, effectively acting as a hardware abstraction layer below the OS structures.
Can this be done with current technology, is there some reason why it might not be possible, or do I just have a crazy pipe-dream?