Bogdan's SolarOS is an epitome of dedication and commitment. I've been trying to revive my almost dead operating system now and then, but it just seems impossible to find any time to work on it.

That said, I made a recent attempt to make a transition from a "monolithic" kernel to a "monolithic-micro" hybrid but it was cut short as I was called back to work. Fortunately, I was able to (sort of) complete the message-passing interface and revamp some of the GUI elements. Since this project is most likely to be on hiatus for indefinite period of time (probably, forever), I just could not resist posting a screenshot before it rests:

It is amazing how things look exactly the same as it used to seven years back. (for anyone interested, the old screenshots are here. ).

Accounting for a rare possibility that someone might actually be interested to test it out, here's where you can find it.

This is probably the best feeling ever. I have finally finished writing my FAT 32 bootloader. (took me around 6 month including breaks)As you can see today I managed to load my 32 bit kernel for the first time.

Attachment:

pmode_kernel.png [ 23.88 KiB | Viewed 3800 times ]

All in all don't let people discourage you. Writing a bootloader is hard, but is it impossible? No! It definitely is possible, just takes time and practice.This project was a nice assembly learning experience.I you want to do something similar just don't follow the online tutorials, they are the worst! (when you start to understand how stuff works you realize it) If you understand how something works, you can code it.

Quite a bit has changed since my last post, the kernel is in no way stable yet, but it's pretty damn stable(I started in on a real machine with a program which continously ran ls and after an hour it still was running). I am still yet to port a C library(most likely will go with Newlib). I also still need to implement command line arguments. I also implemented interprocess communication based on message queues. There was also a bug where my memory allocator was returning memory in the middle of some other stuff which caused a ton of issues which I temporarly fixed it by using liballoc(I want to fix my allocator). Well, enough talking, here's a GIF of current progress:

Here are some screenshots of the rescue shell. It's a microkernel, so behind the scenes lots of things happening when you press a key. To grasp the complexity involved, here's a brief list:1. IRQ handler awakes the PS2 task and sends an IRQ message to it2. PS2 task recevies the message and reads 8042, and sends a keypress message to the UI task with scancode3. UI task receives it, translates to keycode according to the loaded keyboard map4. UI task sees that the focused window is a tty window, so it translates the keycode further to a csi sequence and sends it to the FS task5. the FS task puts the csi code into the shell's stdin pipe6. shell reads it's stdin, and receives the csi code7. shell writes the code to it's stdout8. FS task receives the write, and sees that the pipe belongs to a tty window, so it forwards the message to the UI task9. the UI task receives the csi code, and sees it's for a tty window, therefore forwards it to the vt driver10. the vt driver renders the csi code into the window pixel buffer, and tells the compositor that window area is dirty11. the compositor composes windows (only one for now), and updates the framebuffer12. you see the key you've typed

In rescue shell mode there's only one fullscreen window for a root shell, which is started in place of the init system service. Hopefully soon I'll have a real init task too

File comment: QEmu (x86/BIOS) running some old stuff I worked on long time agoold_os_stuff_qemu.png [ 100.6 KiB | Viewed 2028 times ]

Hi, this is my first post in this group. Decided that after 8+ years of reading all the cool things posted here, it's time to share something I worked long time ago.

I call this operating system "CatOS", because cats are cool, and it rhymes with "MacOS". I'm not sure when I'll ever have chance to continue work on this, but if I ever get any progress I'll post it here.

Managed to do some more work on my user interface after fixing a lot of errors related to the IPC in my system. Also finally got text-rendering up and running. The buttons are not yet connected to any functionality, I still need to connect a few things to handle the user input in the window manager, but I'm pretty proud of the progress!

Hi, this is my first post in this group. Decided that after 8+ years of reading all the cool things posted here, it's time to share something I worked long time ago.

I call this operating system "CatOS", because cats are cool, and it rhymes with "MacOS". I'm not sure when I'll ever have chance to continue work on this, but if I ever get any progress I'll post it here.

Love the old-school dotted Macintosh boot background! I'm probably going to use that as well

Who is online

Users browsing this forum: No registered users and 11 guests

You cannot post new topics in this forumYou cannot reply to topics in this forumYou cannot edit your posts in this forumYou cannot delete your posts in this forumYou cannot post attachments in this forum