Page 1 of 1

PhantomEx - experimental operating system

Posted: Wed Sep 04, 2013 4:17 pm
by maisvendoo
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
Image

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.
Image

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 :oops:

Re: PhantomEx - experimental operating system

Posted: Thu Sep 05, 2013 12:56 am
by phillid
It looks interesting, I'll have to give it a try. There's nothing wrong with your English by the way.

Re: PhantomEx - experimental operating system

Posted: Fri Oct 04, 2013 9:56 pm
by maisvendoo
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
Image