Off-Topic > Off-Topic - Tiny Tux's Corner
Kolibri - a desktop operating system in under 3 MB
nick65go:
Just a small summary for KolibriOS, because is no point to make a blog on a TC forum.
Kolibri can boot from BIOS, but also from UEFI (without sh*t secureboot).
It has drivers for REAL devices (acpi, ahci,, VESA, atikms, i915, etc).
atikms = Video ATI KMS, R100-R600, Evergreen, Northern Islands, Southern Islands
i915 = Video Intel i915, all PCI Express video cores from i915 utill Skylake
I do not have real vinatge/old devices , so I used QEMU, for which Kolbri has video (VESA3 and VMware SGA II), many network NICs, audio (AC97 and intel-HDA), etc.
From the few hours that I used it, here are few Progs Associations extracted from KFAR.ini (File manager):
/sys/network/WebView -> htm, html, mht, docx, url
/kolibrios/media/updf -> pdf
/sys/table -> csv
/sys/media/pixie -> wav, mp3, xm
/kolibrios/media/fplay_run -> avi, mpg, mp4, mpeg, mov, flv, wmv, vob, mkv, 3gp, webm
/sys/media/kiv -> jpg, jpeg, jpe, gif, ico, bmp, png, cur, pcx, pbm, pgm, pnm,ppm, tif, tiff, wbmp, xcf
/sys/TinyPad -> ams, inc
/sys/develop/cedit -> ini, c, cpp, h, pas, lua, ob07
/sys/RtfRead -> rft
/sys/Quark -> txt
These prove the capabilities for web, image, audio, video, pdf, many compilers, all already built inside it.
Have fun with it off-line. HTTP is OK, HTTPS not yet (/never).
bonus: http://wiki.kolibrios.org/wiki/File:Kernel_includes.png
xor:
Question : so why does TCL consume so much RAM space!?
gadget42:
Kolibri would boot on the old amd k6-2 166mhz machine but it complained about the processor and the shell wouldn't run.
Tried it on a 12-core xeon workstation and it booted to the main desktop but again complained about the processor.
Decided to shoot for some middle-ground and grabbed a q6600 core2quad machine. Booted and ran fine.
(did need to grab a pci lan card as kolibri didn't want to play nice with the onboard nic)
Definitely not a web-surfing system but it would probably be fine for gopher and gemini.
the games are addicting...shesh...lol...
nick65go:
With any program (except some games) less than 1 MB compiled, or a kernel.* less than 200 KB --> anything can be re-build from scratch. So with a little study (actually a lot of learning) the FASM (or tinyC, C--, lua, etc) will make wonders in minutes.
But I am not (yet) keen to learn (again) ASM language, to understand and change the few parameters from .inc /.asm etc. to customize programs / drivers. Anyway, will be fun in next years (or rainy days). Expeciaily because it started to have emulators/ compilers for other architecture (Linux, arm7).
PDP-8:
The reason it is so small is that it is written entirely in assembly language. Definitely NOT the unix way!
Which means it is non-portable and machine specific. It is how operating systems were written in the 60's. Which means it is locked in time and dies with the hardware it was written for.
Our ATT unix forefathers, nay the earlier MULTICS operating system got away from that and broke ground by being written in a high-level language, PL/I. Unix followed suit, and instead of PL/I, a transitionary period followed with human-readable languages like BCPL, B, and eventually C.
Contrast this to another OS written at the time, the ITS timesharing system, which was also written entirely in assembly for the PDP6/PDP10 mainframes. Greenblatt and RMS were maintainers among others. Where is it now? DEAD, because in assembly, there is no path forward unless you want total rewrites every time a new hardware environment is introduced.
Our forefathers, Doug Mcilroy, Ken Thompson and many others at ATT broke that ridiculously unmaintainable situation by writing systems software in a higher level language.
This small tradeoff in a larger size with human-readable languages, means that the system has a chance to be portable to other architectures, improved, and maintained well into the future.
So even back then, a small tradeoff in size vs real-world sustainability was realized.
Kolibri is a throwback to the 60's niche-hack and definitely not the unix way.
Navigation
[0] Message Index
[#] Next page
[*] Previous page
Go to full version