Page 1 of 1

BT/OS Version 0.1!

Posted: Wed May 25, 2016 5:01 am
by mallard
After a headache-inducing few weeks getting this to work on real hardware and fixing bugs in all the hardware drivers (but none in the kernel itself!). Here's the first proper installable/testable version of BT/OS.

ISO for download and install instructions on GitHub: https://github.com/mallardtheduck/osdev ... es/tag/0.1

Should work on recent versions of QEMU, Bochs, VirtualBox and VMWare. Can run on real hardware that is sufficiently compatible (tested on an old P4 Dell).

Here's a picture of it runnong on such hardware:
Image

Re: BT/OS Version 0.1!

Posted: Wed May 25, 2016 10:13 am
by BrightLight
I'm going to try it now, it's downloading. Still surprised as to why the ISO is so big (208 MB?!)

Re: BT/OS Version 0.1!

Posted: Wed May 25, 2016 10:18 am
by mallard
Yeah, the ISO is a bit big because it basically contains two copies of everything (one for the "live" OS, one in .tar archives for installation) and I don't have dynamic linking yet (so every executable contains statically linked C and C++ standard libraries) and (almost) every executable has full debugging information. It takes up about 110MB installed.

Re: BT/OS Version 0.1!

Posted: Wed May 25, 2016 10:42 am
by Ycep
Cool! But, why is it so slow? Mouse is laggy, windows movement is slow, terminal is slow, etc. Is there any tweak that i should do to make it fast? Or what?
And just a question:
What does take most time while booting GUI and booting system?

Re: BT/OS Version 0.1!

Posted: Wed May 25, 2016 3:15 pm
by mallard
lukaandjelkovic wrote:Cool! But, why is it so slow? Mouse is laggy, windows movement is slow, terminal is slow, etc. Is there any tweak that i should do to make it fast? Or what?
And just a question:
What does take most time while booting GUI and booting system?
How are you running it? What is the "UMIPS" rating of your system (shown during boot)?

Speed (particularly for graphics) varies across different VMs/emulators, in my experience VirtualBox is fastest, Bochs is slowest. The real hardware (P4 1.6GHz) I tested it on is roughly comparable to QEMU running on my 2.5GHz i7 laptop. Mouse movement speed is something that definitely needs tuning (it's currently tuned for using a trackpad with QEMU, it's a bit slow when using a mouse); it'll be configurable eventually.

The system writes a fair amount of debugging info out to the serial port, so (on a VM) disabling/removing the serial port in the VM configuration can make things a bit faster.

Currently, the slowest parts of boot are the memory manager initialisation (a memory manager rewrite is next on my todo list) and loading/relocating the terminal subsystem module. Reducing the amount of RAM in the VM can speed up the former. Disk I/O currently isn't very fast (PIO mode), this probably also affects the speed of loading the GUI (which requires 4 separate programs to be loaded/run). It shouldn't be that slow, providing you're running on a reasonably fast system...

Also, there's a good reason why you don't often see full-window dragging on standard VGA; the planar memory arrangement makes it inherently slow. It seems just about "fast enough" in my usual (QEMU) testing setup and on real hardware, but it's probably pretty awful on anything sub-1GHz. That's another thing that needs to be configurable.

Re: BT/OS Version 0.1!

Posted: Thu May 26, 2016 12:04 pm
by max
Looks amazing! Great work. I'll definitely try it out soon.

Re: BT/OS Version 0.1!

Posted: Thu May 26, 2016 9:26 pm
by BrightLight
I think the entire system (not just the GUI) needs performance improvements -- it took about a second to clear the text mode screen in VirtualBox, which should be the second fastest virtual machine after VMware.
But it seems like a beautiful start; spent some time playing Breakout, which inspired me to create a similar game for my OS when it can load programs, to put the window manager to good use.