New 64 bit project: Thor OS
Posted: Fri Dec 06, 2013 2:15 am
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
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