foobar on computers, software and the rest of the world


A truly light-weight OS: Written in ASM, with GUI, networking and apps

, posted: 3-Feb-2009 10:39

Much has been written about resource hungry operating systems. Microsoft Vista or even various GNU/Linux desktop editions, which can't be happy unless you throw gigabytes of RAM at them. Today I came across an operating system that can truly claim to be light-weight. It is called Kolibri. Check this out:
  • The complete ISO is 4.4 MB in size (when zipped it's 2.8 MB, so you can basically send it around as email attachment, if you really want to).
  • It's completely written in assembler.
  • It has a nicely working graphical user interface (see the screenshots here).
  • You can install it in VirtualBox (other VM solutions may work as well, but VirtualBox is the one I tried).
  • It boots from boot-loader into the GUI in around two (2!) seconds! And that's on the VM, not even the bare metal on my laptop.
  • It feels fast and zippy, even in the VM environment.
  • It comes with a bunch of games, a web server, ftp server, development tools, graphic demos, a drawing program, a CD player, utilities, etc. Remember, that's all from that 4.4 MB ISO.
  • Extremely small footprint: After being fully booted with GUI and all, just 10 MBytes of memory are used, most of it probably the video buffer for the graphical desktop.
I just started to take a look at it, so I don't know about the availability of a 'server version'. However, with such a small foot-print even this already looks to be quite ideal for small, embedded systems.

Higher-level languages and frameworks build upon frameworks build in higher level languages may be nice and convenient. But fast and efficient they are not. Systems like 'Kolibri' remind us of the potential that should be available to us with the incredibly powerful hardware we have at our disposal these days. Yet, our modern OSs tend to fall woefully short of this. Slow boot times, sluggish performance in day to day use, resource hungry to an extend that 10 years ago would't have been comprehensible.

No doubt, time-to-market tends to be the overriding factor these days. Adding new system processes and tasks is quicker if you can do it in Python (or some other high-level language), rather than assembler. But it drives tears in my eyes when I think about all those wasted CPU cycles...

Other related posts:
More Apple madness (follow up)
The GPU, your personal desktop super computer
Exploring functional programming - Which language do you recommend?








Comment by John, on 3-Feb-2009 15:11

You should Truly check out menuetOS. ASM, 64-Bit, with GUI, boots from a floppy.


Comment by paradoxsm, on 4-Feb-2009 00:38

wow, I'm quite impressed and it's the first OS I have seen in a long time that shows to be a true own entity that had it's own design feel and not trying to look just like Windows (reactOS) or be similar to (most shells for linux) and it runs on assembler! I need to shove this on to something absurdly slow and see how well it functions.

Speaking of glaoted OS's I have been (using) and all the time slowing ripping away at our closed source "greatest market share" friend and have cut an impressive amount of fat from it while it stills. Now to reshell it and remove all the HTML components and blog it.


Author's note by foobar, on 4-Feb-2009 06:42

@John: My understanding is that Kolibri is a fork of MenuetOS.


Comment by Shane Kerns, on 5-Feb-2009 18:57

You do realize that it is relatively small sine it hardly has any drivers or apps, not to mention ASM code is machine dependant.

This is a pointless post.


Comment by vm user, on 5-Feb-2009 22:53

"It feels fast and zippy, even in the VM environment."

Sounds like you have some bad experiences with VM performance. Most of the time i forget my systems are running in a VM because the performance is near-native. I'm using VMware and VirtualBox all the time without any problems.


Comment by robsku, on 6-Feb-2009 00:24

I know even more astonishing ultra light^2 OS - However to run it on PC you need an emulator and thus there is no benefit.

Contiki, a lightweight OS for 8-bit computers. Some highlight of C-64 version:

* Runs from single c-64 floppy.
* Multitasking kernel.
* GUI that provides windowing.
* Needs only few kilobytes of code and a few hundred bytes of RAM. A full system, complete with a graphical user interface, needs about 30 kilobytes of RAM so 64K of C64 is plenty.
* TCP/IP stack and internet connectivity (needs additional hardware for C-64 obviously.
* Can run and comes with web server & VNC server (as example one webserver run with contiki can be found at http://www.c64web.com/ ).
* Also web browser & telnet client available.

Of course this is for most users only a curiosity but it is an interesting one at that. I had hard time believing that this kind of system could really be made at all.

For more info, listing of systems contiki has been ported to, screenshots, etc. see:

http://en.wikipedia.org/wiki/Contiki

and

http://www.sics.se/contiki/ (official homepage)

As for Kolibri, this interest me somewhat as it could make my old 386 (maybe even my 286?) usable for more than just a dumb terminal connected to my Linux server with null modem cable :)


Author's note by foobar, on 6-Feb-2009 06:30

@Shane Kerns: I think it's YOU who completely misses the point. There was a time when complete OSs were squeezed into a few KB (yes, kilo!) of RAM. Ok, so they were not great, but still. They were written in ASM. Then the trend started to use C and even C++ for the OS, which helped the OS itself to grow. The apps on top of it were then written in higher and higher level languages, which increased bloat further.

Kolibri shows us what is possible when one goes back to asm, but now on modern hardware.

Lack of drivers? Ok, so take some of the many games that are bundled out and replace them with more drivers. What's your point?


Comment by Shane Kerns, on 6-Feb-2009 12:53

@Foobar: If your idea of progress is going back to the stone age then thats fine. What part of the fact that ASM code is machine dependant did you not get? You can limit the Linux kernel to 2.2Mb to run on Kilobytes of RAM too, thats what embedded systems do anyway. Why is this persons work so phenomenal?


Comment by robsku, on 12-Feb-2009 10:28

Ever heard of Contiki? Not for x86 arcitechture though, it's an amazing OS for 8-bit systems. For example the C-64 version provides a multi-tasking, graphical OS with windowing GUI capable to run (these are all provided on single floppy) networking, browser, telnet client, screensaver, HTTP & VNC *servers*... and more. I am simply astonished how they have ever managed to pull this out with (in case of C-64) 1mhz processor and 64K RAM (with only couple kilobyte footprint by OS itself).


Comment by jman, on 2-Nov-2009 14:40

wow this is great, EXCEPT...

where is the web broweser???


Comment by Hathawulphur, on 21-Mar-2010 00:48

Iam a newbee to this but at last I found a thinking person on the net.In the seventies and the eighties they made the assembler programmers unemployed or they had to become c-programmers.It is not just a question of speed but also of of safer and more efficient computing.We had in my country ABC PC:s but unfortunately they went bunkrupt.They wrote their OS in assembler.All those C-languages is a waste of time.They allways create bugs take a long time to develop,all those snobs thinking they are clever can sit with their bugs, and maintain their bad systems.Besides not knowing assembler they know nothing about LISP and other useful. programming languages.There is no point in this because they will never understand what is a good OS so let them stick to the shit they use.People knowing assembler are seldom rich,they often prefer to work at home,they program for fun and seldom for money.I hope UNIX will crush in 2038 so they will understand.It is the same shit W7,BSD,OS X,Linux,etc.


Add a comment

Please note: comments that are inappropriate or promotional in nature will be deleted. E-mail addresses are not displayed, but you must enter a valid e-mail address to confirm your comments.

Are you a registered Geekzone user? Login to have the fields below automatically filled in for you and to enable links in comments. If you have (or qualify to have) a Geekzone Blog then your comment will be automatically confirmed and placed in the moderation queue for the blog owner's approval.

Your name:

Your e-mail:

Your webpage:

foobar's profile

 
New Zealand


  • Who I am: Software developer and consultant.
  • What I do: System level programming, Linux/Unix. C, C++, Java, Python, and a long time ago even Assembler.
  • What I like: I'm a big fan of free and open source software. I'm Windows-free, running Ubuntu on my laptop. To a somewhat lesser degree, I also follow the SaaS industry.
  • Where I have been: Here and there, all over the place.




Google Search


Recent posts

Attack on net neutrality right...
Munich already saved millions ...
Iceland's public administratio...
More Apple madness (follow up)...
Apple demonstrates: With great...
Smooth sailing with the Karmic...
Censorship in New Zealand: Wid...
Image roll-over effects withou...
How about: Three strikes and Y...
UK government supports open so...


Top 10

How to write a Linux virus in ...
(11-Feb-2009 06:33, 371131 views)
Follow up: How to write a Linu...
(12-Feb-2009 08:10, 51260 views)
A truly light-weight OS: Writt...
(3-Feb-2009 10:39, 42244 views)
The 'Verified by Visa' fiasco ...
(20-Jun-2008 09:59, 19117 views)
EEE PC with XP is cheaper than...
(9-May-2008 06:50, 18419 views)
11 reasons to switch to Linux...
(4-Feb-2009 09:24, 18055 views)
Would you use Google App Engin...
(8-Apr-2008 20:02, 16683 views)
Censorship in New Zealand: Wid...
(16-Jul-2009 12:11, 15873 views)
Django Plugables: Tons of plug...
(11-Apr-2008 03:24, 15559 views)
Slow file copy bug in Vista: A...
(21-Dec-2007 12:18, 14419 views)