Bona Fide OS Developer
View unanswered posts | View active topics It is currently Sun Jun 17, 2018 10:52 pm



Post new topic Reply to topic  [ 7 posts ] 
 timkOS 
Author Message

Joined: Wed Oct 14, 2009 9:39 am
Posts: 198
Location: United States
Post 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

_________________
Charles Timko
push %esp ;Musings of a computer addict


Wed Oct 14, 2009 1:00 pm
Profile WWW

Joined: Sat Jul 25, 2009 11:26 am
Posts: 81
Post 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"?


Thu Oct 15, 2009 1:33 pm
Profile

Joined: Wed Oct 14, 2009 9:39 am
Posts: 198
Location: United States
Post 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

_________________
Charles Timko
push %esp ;Musings of a computer addict


Thu Oct 15, 2009 3:15 pm
Profile WWW
Site Admin

Joined: Sat Jul 25, 2009 7:44 am
Posts: 274
Location: United Kingdom
Post 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.

_________________
Thank you for reading,

Kieran C G Foot


Fri Oct 16, 2009 3:04 am
Profile WWW

Joined: Wed Oct 14, 2009 9:39 am
Posts: 198
Location: United States
Post 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

_________________
Charles Timko
push %esp ;Musings of a computer addict


Fri Oct 16, 2009 8:39 am
Profile WWW

Joined: Wed Oct 14, 2009 9:39 am
Posts: 198
Location: United States
Post 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").

_________________
Charles Timko
push %esp ;Musings of a computer addict


Fri Oct 23, 2009 11:57 am
Profile WWW

Joined: Wed Oct 14, 2009 9:39 am
Posts: 198
Location: United States
Post 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.

_________________
Charles Timko
push %esp ;Musings of a computer addict


Fri May 14, 2010 9:59 am
Profile WWW
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 7 posts ] 


Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by Vjacheslav Trushkin and tweaked by the BF Team.