| 
	| 
		
	 | 
	
    
	
	 
  
	
	
		
			
				   
			 | 
		
			 Page 1 of 1
  | 
			 [ 7 posts ]  | 
			 | 
		
	 
	 
			
	
	
	
        
        
            | Author | 
            Message | 
         
        
			| 
				
				 ctimko 
				
				
					 Joined: Wed Oct 14, 2009 9:39 am Posts: 198 Location: United States
				 
				 
			 | 
			
				
				  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 | 
			
				
					 
					
					 
				    
			 | 
    	
		 
	
	
		  | 
	 
	
			| 
				
				 Love4Boobies 
				
				
					 Joined: Sat Jul 25, 2009 11:26 am Posts: 81
				 
				 
			 | 
			
				
				  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 | 
			
				
					 
					
					 
				  
			 | 
    	
		 
	
	
		  | 
	 
	
			| 
				
				 ctimko 
				
				
					 Joined: Wed Oct 14, 2009 9:39 am Posts: 198 Location: United States
				 
				 
			 | 
			
				
				  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 | 
			
				
					 
					
					 
				    
			 | 
    	
		 
	
	
		  | 
	 
	
			| 
				
				 Kieran 
				Site Admin 
				
					 Joined: Sat Jul 25, 2009 7:44 am Posts: 274 Location: United Kingdom
				 
				 
			 | 
			
				
				  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 | 
			
				
					 
					
					 
				    
			 | 
    	
		 
	
	
		  | 
	 
	
			| 
				
				 ctimko 
				
				
					 Joined: Wed Oct 14, 2009 9:39 am Posts: 198 Location: United States
				 
				 
			 | 
			
				
				  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 | 
			
				
					 
					
					 
				    
			 | 
    	
		 
	
	
		  | 
	 
	
			| 
				
				 ctimko 
				
				
					 Joined: Wed Oct 14, 2009 9:39 am Posts: 198 Location: United States
				 
				 
			 | 
			
				
				  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 | 
			
				
					 
					
					 
				    
			 | 
    	
		 
	
	
		  | 
	 
	
			| 
				
				 ctimko 
				
				
					 Joined: Wed Oct 14, 2009 9:39 am Posts: 198 Location: United States
				 
				 
			 | 
			
				
				  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 | 
			
				
					 
					
					 
				    
			 | 
    	
		 
	
	
		 | 
	 
	
	 
	
	
	
		
			
				   
			 | 
		
			 Page 1 of 1
  | 
			 [ 7 posts ]  | 
			 | 
		
	 
	 
 
 
	 
	
	
		Who is online | 
	 
	
		Users browsing this forum: No registered users and 6 guests  | 
	 
	 
 
	 | 
	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
  | 
 
 
 
	 |