Bona Fide OS Development
http://forums.osdever.net/

timkOS
http://forums.osdever.net/viewtopic.php?f=13&t=43
Page 1 of 1

Author:  ctimko [ Wed Oct 14, 2009 1:00 pm ]
Post subject:  timkOS

Howdy all.

Just thought I would let everyone know of the OS i am working on. I am building the kernel currently and I am almost done. It's be written in C++ (and it has the nasty support for it too!). The focus is simple. I am aiming to have this kernel support both ELF and PE/COFF execs. and I am looking to also package in my own hypervisor along with strong parallelism support (I would like to create this kernel for Computational Cluster usage as its primary...and for my laptop..) I am using ASM where possible. I will post some screen shots when I get further along and there is more than just the initialization screen.

~Charles

Author:  Love4Boobies [ Thu Oct 15, 2009 1:33 pm ]
Post subject:  Re: timkOS

My kernel is written in C++ from scratch and I never actually ran into any problems with it, I'm not sure what you mean by nasty support :)

Could you give a little more details on what you mean by "package in my own hypervisor"?

Author:  ctimko [ Thu Oct 15, 2009 3:15 pm ]
Post subject:  Re: timkOS

Later on I am going to work on my own hypervisor abilities, so that if i wanted to, i can just use the os as a hypervisor...i haven't really looked into it deeply, i just thought it would be interesting to write and if possible package it.

As for "nasty support" i just meant that i wrote that support file and i am trying to still work out some kinks in my new and delete. Maybe you can help me with what i might be missing when it comes to the new and delete and executing the constructor and destructor.

Charles

Author:  Kieran [ Fri Oct 16, 2009 3:04 am ]
Post subject:  Re: timkOS

Take a look over at OSDev.org for a basic C++ kernel with New/Delete/Constructor/Destructor support. It also has other C++ specific support functions too.

Author:  ctimko [ Fri Oct 16, 2009 8:39 am ]
Post subject:  Re: timkOS

Except that new and delete don't just call malloc and free. They both execute their constructor or destructor along with allocating and deallocating the memory block. My new and delete currently do the kmalloc and kfree, but I would like to add in the destructor/constructor support, and I am sure it can be done easily by creating a base object and making sure all classes extend it. Although, I did see that in the linker there is information for the place of the .ctors and the .dtors, so maybe that can be useful to me.

Charles

Author:  ctimko [ Fri Oct 23, 2009 11:57 am ]
Post subject:  Re: timkOS

Well after talking to a lot of the graduate professors on my campus, I learned that none of them know how to answer my question because no one there apparently uses C++, just C or Java (which is stupid I think). So I guess I am on my own figuring out the whole destructor|constructor thing. I might just have to brutally hack something together (like make everything extend "object").

Author:  ctimko [ Fri May 14, 2010 9:59 am ]
Post subject:  Re: timkOS

The problem I was having with the New and Delete I figured out by reading the darn code. operator delete(object *o) { o->d(); free(o); } and operator new(object *o) { p = malloc(o->a); o->c(p); }

given that object is a structure that contains d for the destructor, a for the size, and c for the constructor. I don't have that code in front of me, but I am sure that is how it is setup...or something close to it.

Page 1 of 1 All times are UTC - 6 hours [ DST ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/