Page 1 of 1

The MK1 Hybrid Theory OS

Posted: Sun Jul 26, 2009 9:12 am
by redoktober
Greetings!
This is to announce the beginning of my OS project, the MK1 Hybrid Theory.
<weird name, yeah.>

I plan to port the Mono framework to bare metal, the way the Kaffe JVM has been ported. This would allow me to
write a managed kernel directly, and have it execute on top of the 'bare-metal implementation'.

Code: Select all

Hardware ---> 'bare-metal CLR' ---> OS - kernel, services, userspace apps.
I'm also looking at the possibility of reusing the SSCLI(Project Rotor), as well as the .NET Micro Framework.
Also, I plan to run userspace apps through virtualization. But that's something distant.

Yes, the way ahead is going to be very slow and tough. With my current schedule at college and all, I guess it's going to take me a good 3-4 years to get a working version up and running. Maybe more; I won't be surprised.

I'd like, no love to know what you guys think. You're like, light-years ahead of me in this area, and your views, suggestions and yes, criticisms are quite welcome.

Also, I don't think I'm going to work on this in some kind of team; I really don't know how I'm going to take out time for this. I'll do it somehow, but the point is, why let down your partner?

Thanks!

Re: The MK1 Hybrid Theory OS

Posted: Sun Jul 26, 2009 7:21 pm
by xvedejas
I wish you good luck. Really good luck. :wink:

Re: The MK1 Hybrid Theory OS

Posted: Sun Jul 26, 2009 10:05 pm
by redoktober
thank you very much, man!
i need all the luck i can get.
:)

Re: The MK1 Hybrid Theory OS

Posted: Sun Jul 26, 2009 10:15 pm
by earlz
You have a lot of documentation to start reading.. I personally don't care for .NET in any form though

Re: The MK1 Hybrid Theory OS

Posted: Sun Jul 26, 2009 10:17 pm
by redoktober
i totally agree with you, man.
i guess i should thank mum for passing the right genes to me!
<she's a voracious reader!>

Re: The MK1 Hybrid Theory OS

Posted: Mon Jul 27, 2009 2:00 am
by redoktober
hi again!
it looks like i've got something more out here.
GNU too has an open source .NET implementation.

http://www.dotgnu.org/

this may just be of help...

Re: The MK1 Hybrid Theory OS

Posted: Mon Jul 27, 2009 10:17 am
by xvedejas
Personally, I would write an (extremely) minimal kernel in C, then try to port mono on top of that. Anything more bare metal than that I do not see happening.

Re: The MK1 Hybrid Theory OS

Posted: Mon Jul 27, 2009 2:45 pm
by rootnode
Or come join us at http://mosa-project.org

Re: The MK1 Hybrid Theory OS

Posted: Mon Jul 27, 2009 7:47 pm
by redoktober
xvedejas wrote:Personally, I would write an (extremely) minimal kernel in C, then try to port mono on top of that. Anything more bare metal than that I do not see happening.
I agree. Going lower than that would be impossible.
And unlike Microsoft Research, I'm not skilled enough to write my own self-optimizing native compiler, somewhat like Bartok.
Thanks!
:)

rootnode wrote:Or come join us at http://mosa-project.org
Thanks for the kind offer. It's just that.... want this to be m very own personal baby. I'm sure you know what I mean ;)
But yes, I'd be glad if we could get some sort of collaboration up and running!

Re: The MK1 Hybrid Theory OS

Posted: Tue Jul 28, 2009 7:57 am
by redoktober
xvedejas wrote:Personally, I would write an (extremely) minimal kernel in C, then try to port mono on top of that. Anything more bare metal than that I do not see happening.

aww, man.
there's much more here.
i'd need more than a 'minimal' kernel.
here's why:

http://www.skyos.org/?q=node/464

So, to port Mono to your kernel, you need:
- Very good POSIX compatibility
- Full mmap implementation. The kernel must also notify the process when invalid mapped memory is accessed so that Mono can change the page table access bits manually.
- Pthread library (mutexes, shared resources, semaphores, etc…)
- IPC (semaphores, shared memory)
- Full working signal handlers
- Hookable functions like thread creation, forking, process/thread termination, etc.

and i'm still not talking about graphics, the System.Windows namespace......ha!
:shock: