Page 1 of 1

Making OS with vb.net

Posted: Wed Sep 19, 2012 12:17 pm
by Pietercdevries
Hello,
I am a dummy about OS making but do know much about vb.net.
I understand that I have to use ASM to build an OS.
What I want to do is let ASM run all drivers and everything to be able to compile vb.net applications. So that I can build my OS on vb.net but I would like to create my own GUI.
I have heard that you can use C# also but I haven't used this language much.
The concept of boot loader and kernel I don't understand either.
Please tell me the best solution.
If there is a way and explanation on how to make an os with java that would also be ok.
I know it is possible but don't know how.
Please help.
Thanks guys.
Pieter

Re: Making OS with vb.net

Posted: Wed Sep 19, 2012 12:43 pm
by AJ
Hi,

You are asking about some very difficult topics, without having read up on the basics.
Pietercdevries wrote:So that I can build my OS on vb.net but I would like to create my own GUI.
Pietercdevries wrote:The concept of boot loader and kernel I don't understand either.
Please tell me the best solution.
For an example OS of the sort you are looking at, see Cosmos.

Basically, the machine you will be running on needs to see machine code. VB.Net and C# are typically "compiled" to an intermediate language, distributed, and then compiled "Just In Time" when you run them. You therefore have 3 viable options:

1) Create a JIT compiler in a compiled languages to run your "OS". Because the JIT compiler will need to run on bare hardware, it will pretty much be an OS in itself. This probably doubles your workload - that's not to say it's a bad option if you have the manpower and time to do it properly.
2) Find a tool that will compile CIL code in to machine code. The question would be why you would want to do this - you will lose some of the benefits of managed code and a large portion of your OS will need to run un 'unsafe' blocks.
3) Write an OS in a systems programming languages which is designed to be compiled. [edit: and perhaps eventually port Mono?]

Whichever path you choose, see the wiki and start of with something basic in C or ASM to get a feel for the sort of challenge you're up against. Good luck!

Cheers,
Adam

[Edit: For Java, replace "JIT Compiling" with "interpreting" and you get the same sort of picture. I have also locked this to avoid the flamefest that I can see coming over the horizon...]