Search for OS made on Visual Studio

Question about which tools to use, bugs, the best way to implement a function, etc should go here. Don't forget to see if your question is answered in the wiki first! When in doubt post here.
Post Reply
Hove
Posts: 1
Joined: Fri Oct 16, 2020 3:10 pm

Search for OS made on Visual Studio

Post by Hove »

Do anyone knows any OS made on VS with C# (or C/C++) and NASM for asm part.
User avatar
crosssans
Member
Member
Posts: 39
Joined: Fri Mar 01, 2019 3:50 pm
Location: France

Re: Search for OS made on Visual Studio

Post by crosssans »

I think you missed to read these articles/forum posts first before writing a question on this forum: Using titles and questions that are too general will show to experienced members that you seem to have skipped important information to consider before proceeding - but anyways, I'll still answer your question :)

C# can be theorically used to develop an operating system (there is FlingOS as an example), but there are a lot of things to consider, such as what level your language will be translated to native instructions that can be understood by your CPU? Is it done at compilation time? (has the advantage of running fast but totally loses the whole point of .NET portability) Or is it at run-time? (in which case even more stuff has to be considered: is it a JIT compiler that will translate the bytecode to native opcodes? Or is it done right at the startup?). As you can see, it raises a lot of questions that requires tons of experience & knowledge in low-level/kernel development & bytecode-translated languages (C# or Java).

In reality, most of the hobby kernels (and hobby operating systems in general) use lower level languages that don't require a mandatory runtime to work (or at least can work without it for a moment such as C++ with runtime exceptions) as freestanding projects have to provide crucial kernel functions that performs memory allocation, I/O file access, etc. - while higher level languages relies on standard functions provided by the operating system itself to actually work (it's like a dog biting his own tail in this case!) - Developing an operating system that would exclusively use C# as it's main language is a really complicated task, because you would need to know how .NET IL works, what bytecodes correspond to what operations, how the inner working of the standard library provided by this language is implemented, etc. so that's why I strongly recommend you to take the more "classical" route instead - there is a topic that lists books about operating systems & hardware that I recommend you to have a look at here.
Post Reply