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
New 64 bit project: Thor OS
- wichtounet
- Member
- Posts: 90
- Joined: Fri Nov 01, 2013 4:05 pm
- Location: Fribourg, Switzerland
- Contact:
New 64 bit project: Thor OS
Thor Operating System: C++ 64 bits OS: https://github.com/wichtounet/thor-os
Good osdeving!
Good osdeving!
- wichtounet
- Member
- Posts: 90
- Joined: Fri Nov 01, 2013 4:05 pm
- Location: Fribourg, Switzerland
- Contact:
Re: New 64 bit project: Thor OS
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:
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:
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
- A simple two stage bootloader (in assembly) loads the init program from disk (ATA/FAT32) and runs it
- 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
- 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!
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
Thor Operating System: C++ 64 bits OS: https://github.com/wichtounet/thor-os
Good osdeving!
Good osdeving!
- max
- Member
- Posts: 616
- Joined: Mon Mar 05, 2012 11:23 am
- Libera.chat IRC: maxdev
- Location: Germany
- Contact:
Re: New 64 bit project: Thor OS
Hey wichtounet,
looks nice, I like that you do C++ Is it a microkernel?
Will def have a look at your networking implementation, cool stuff.
Grüße aus Deutschland
looks nice, I like that you do C++ Is it a microkernel?
Will def have a look at your networking implementation, cool stuff.
Grüße aus Deutschland
- wichtounet
- Member
- Posts: 90
- Joined: Fri Nov 01, 2013 4:05 pm
- Location: Fribourg, Switzerland
- Contact:
Re: New 64 bit project: Thor OS
Hi max,max wrote:Hey wichtounet,
looks nice, I like that you do C++ Is it a microkernel?
Will def have a look at your networking implementation, cool stuff.
Grüße aus Deutschland
Thanks
I just love C++ too much to not use it here
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!
Good osdeving!