OSDev.org

The Place to Start for Operating System Developers
It is currently Fri Apr 19, 2024 11:30 am

All times are UTC - 6 hours




Post new topic Reply to topic  [ 4 posts ] 
Author Message
 Post subject: New 64 bit project: Thor OS
PostPosted: Fri Dec 06, 2013 2:15 am 
Offline
Member
Member
User avatar

Joined: Fri Nov 01, 2013 4:05 pm
Posts: 90
Location: Fribourg, Switzerland
Hi,

For some time now, I've been working on an hobby operating system, just for fun : Thor OS. All the sources are available on Github: https://github.com/wichtounet/thor-os

It is a C++ 64 bit operating system that works in several pieces:
- A simple two stage bootloader (in assembly) loads the micro kernel from floppy and runs it
- A micro kernel in assembly enables 64bit, install IDT and ISRs and provide some simple syscalls (for updating IRQs and ISRs mainly). And then it runs the C++ kernel
- The C++ kernel do all the rest of the job :)

Here are the current features of the OS:
- A simple shell provided by the OS itself
- Dynamic memory allocation
- ATA Disk support, list disks, list partitions, ...
- FAT32 implementation with ls/cd/cat/free space support, write support will be developed
- PIT Support with uptime and sleep functions
- RTC support for date function

For now, there is no userspace support, I want to add that in the future, but I do not know when, not before my FAT32 implementation is completed.

The system can be run with either Bochs or QEMU.

I do no have any long term view or goals like some other projects have, I just add the features I find fun to develop and refactor the system when I think it necessary.

I will try to post news when major features are added.

Baptiste

_________________
Thor Operating System: C++ 64 bits OS: https://github.com/wichtounet/thor-os
Good osdeving!


Top
 Profile  
 
 Post subject: Re: New 64 bit project: Thor OS
PostPosted: Mon Aug 08, 2016 5:33 am 
Offline
Member
Member
User avatar

Joined: Fri Nov 01, 2013 4:05 pm
Posts: 90
Location: Fribourg, Switzerland
Hi guys,

Some news from this OS!

I have actively restarted development after a long period working on other projects.

It now has much more features:
  • VESA support with a terminal
  • Multitasking with user land (the shell itself is userland now)
  • PCI basic support
  • Initial support for RTL8139 network card
  • Initial support for Ethernet / ARP / IP
  • Support of ACPI with ACPICA
  • ATA Disk support, list disks, list partitions, ...
  • FAT32 implementation with ls/cd/cat/free space support, write support will be developed
  • Support for HPET / PIT / RTC

It is a C++ 64 bit operating system that works in several stages:
  1. A simple two stage bootloader (in assembly) loads the init program from disk (ATA/FAT32) and runs it
  2. A simple C++ program (the init program) enters 32bit mode, then read the kernel itself from disk (ATA/FAT32), enables 64bit and runs the kernel
  3. The C++ kernel installs all the drivers, prepare multitasking, launch the init task who launches the user land shell and now it's up to the user!

The system can be run with either Bochs or QEMU.

All the sources are available on Github: https://github.com/wichtounet/thor-os (Boost Software License (Will be updated to MIT soon))

For the future, there are several directions in which I want to go:
  • Develop a window manager (userland). For now, I have some issues with the PS/2 mouse that I'll have to fix first
  • Complete the network implementation. I stopped this when I realized it was more complex to test a network implementation (from the host) than to implement one, but I'll go back to it at some point
  • Develop an EXT2 Filesystem support
  • ATA UDMA support
  • Plenty of minor things

I'm again having a lot of fun with this project :)

_________________
Thor Operating System: C++ 64 bits OS: https://github.com/wichtounet/thor-os
Good osdeving!


Top
 Profile  
 
 Post subject: Re: New 64 bit project: Thor OS
PostPosted: Mon Aug 08, 2016 5:52 am 
Offline
Member
Member
User avatar

Joined: Mon Mar 05, 2012 11:23 am
Posts: 616
Location: Germany
Hey wichtounet,

looks nice, I like that you do C++ :mrgreen: Is it a microkernel?

Will def have a look at your networking implementation, cool stuff.

Grüße aus Deutschland :P

_________________
Ghost OS - GitHub


Top
 Profile  
 
 Post subject: Re: New 64 bit project: Thor OS
PostPosted: Mon Aug 08, 2016 11:43 pm 
Offline
Member
Member
User avatar

Joined: Fri Nov 01, 2013 4:05 pm
Posts: 90
Location: Fribourg, Switzerland
max wrote:
Hey wichtounet,

looks nice, I like that you do C++ :mrgreen: Is it a microkernel?

Will def have a look at your networking implementation, cool stuff.

Grüße aus Deutschland :P


Hi max,

Thanks :)
I just love C++ too much to not use it here :P
It's a monolithic kernel. I'm not a huge fan of microkernel. It seems too much hassle for few advantages and not really worth it for a hobby project (at least for me).

Don't hesitate to comment on the networking, it was quite fun to do, but there is a lot more to do (once I find out how to really test it).

Cheers from Switzerland ;)

_________________
Thor Operating System: C++ 64 bits OS: https://github.com/wichtounet/thor-os
Good osdeving!


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 4 posts ] 

All times are UTC - 6 hours


Who is online

Users browsing this forum: No registered users and 38 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

Search for:
Jump to:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group