Hello! Today, I can introduce my project - experimental 32-bit operating system PhantomEx.
I made this project not so long, but today I have:
1. Multiboot specification support. Kernel loaded by GRUB2 from HDD image
2. Multitasking kernel, which support processes and threads
3. Work in user mode (ring 3)
4. Paging memory (without PAE)
5. System call's interface
6. Virtual filesystem, actually work with RAM-drive, loaded by GRUB2 as module
7. Support of ELF executable files.
Used GNU compilers tools, for applications and kernel development (gcc, gas, etc.). I use Eclipse CDT and VMware Workstation 9.0 for development and debug "step-by-step"
Screenshot - kernel debugging session
Screenshot - PhantomEx in the work: process #1 started by kernel, process #2 started by process #1. So, started two threads by kernel - one in ring 0, other - in ring 3. Started thread by process #1.
This output is not so nice, as wanted, but I have no shell, and my system has no drivers. I'll develop it at early time.
PhantomEx source code available here, licensed by GPL v3.
P.S.: I'm sorry for my bad english
PhantomEx - experimental operating system
- maisvendoo
- Posts: 2
- Joined: Wed Sep 04, 2013 2:53 am
- Location: Russia, Novocherkassk
Re: PhantomEx - experimental operating system
It looks interesting, I'll have to give it a try. There's nothing wrong with your English by the way.
phillid - Newbie-ish operating system developer with a toy OS on the main burner
- maisvendoo
- Posts: 2
- Joined: Wed Sep 04, 2013 2:53 am
- Location: Russia, Novocherkassk
Re: PhantomEx - experimental operating system
Hello! Now I can introduce PhantomEx OS version 0.0.1
Changes:
1. Simple IPC mechanism by send messages from one process to other process
2. Keyboard driver (kbdrv) by rign 3. It provide high-level access to keyboard events for applications
3. Capability for virtual consoles using. Now accessed only one virtual console
4. Simple command shell - PhantomEx Shell which start after system loading. You can check its works by typing in command line "hello" (test program),
and "hello &" to start program in background mode (such as in Unix )
Links:
1. Kernel and applications source code
2. RAM-disk image with applications
3. HDD image with PhantomEx in *.vmdk
4. HDD image with PhantomEx in *.vdi
Screenshot
Changes:
1. Simple IPC mechanism by send messages from one process to other process
2. Keyboard driver (kbdrv) by rign 3. It provide high-level access to keyboard events for applications
3. Capability for virtual consoles using. Now accessed only one virtual console
4. Simple command shell - PhantomEx Shell which start after system loading. You can check its works by typing in command line "hello" (test program),
and "hello &" to start program in background mode (such as in Unix )
Links:
1. Kernel and applications source code
2. RAM-disk image with applications
3. HDD image with PhantomEx in *.vmdk
4. HDD image with PhantomEx in *.vdi
Screenshot