Huawei's LiteOS Internet of Things Operating System Is a Minuscule 10KB
Mark Wilson writes: Chinese firm Huawei today announces its IoT OS at an event in Beijing. The company predicts that within a decade there will be 100 billion connected devices and it is keen for its ultra-lightweight operating system to be at the heart of the infrastructure. Based on Linux, LiteOS weighs in at a mere 10KB — smaller than a Word document — but manages to pack in support for zero configuration, auto-discovery, and auto-networking. The operating system will be open for developers to tinker with, and is destined for use in smart homes, wearables, and connected vehicles. LiteOS will run on Huawei's newly announced Agile Network 3.0 Architecture and the company hopes that by promoting a standard infrastructure, it will be able to push the development of internet and IoT applications
security is easier with a small footprint than a large one.
No mention of the license. "Tinker" isn't sufficient.
This is Huawei; the electronics arm of the PLA.
Not touching any of their work without a full open source BSD style license.
Neither will anyone else.
This story seems to confirm my ongoing claim that a minimal Windows install taking 15Gb+ of disk space and using over 1GB of ram just to run is BEYOND crazy. ...but then I'm also old enough to remember when a bootable MsDOS environment used up about 1/3 of a 1.2mb floppy.
Now get off my lawn.
Who needs graphics and sound? I've got a 20 mA current loop interface for an ASR-33 (which does make lots of sound, now that I think about it).
Get off my lawn.
"National Security is the chief cause of national insecurity." - Celine's First Law
..seems to be forgotten
Old time programmers remember squeezing every bit of performance out of a system
I remember doing image processing on a 4MHz 8088, in 1986, in assembly
Modern processors are INSANELY powerful..yet, most of the power is wasted on layers and layers of crap that incompetent programmers don't even realize is there
We need to re-discover efficiency in programming
The claims are ludicrous on their face. No Linux-based has ever been as small as 10KiB. Even the earliest distributions of Linux-based operating systems in the early 1990s required a couple of floppies.
Remember that QNX demo disk? Single floppy booting into OS with networking, GUI, terminal emulator, web browser. Alright, so it's a compressed 1440kB image and it took a while to decompress. But still, it gave you a web browser. And really, that's most of what I need and already more than I want. I don't *want* to need a web browser for what I like to do. There should also be a decent text editor, a programming language of choice (C has always been large-ish even without any supporting libraries, certainly compared to, say, turbo pascal--I could fit the latter's compiler and system library plus a text editor and room to spare on a 360kB floppy if I lost the BGI library from the system set, never used that anyway) and of course a little room to work with.
Anyway, there are plenty more examples all with different tradeoffs. The tradeoff with "modern" OSes is very much not space optimisation, nor even memory optimisation or cycle preservation. Disk, RAM, CPU, even GPU these days, are considered "free" resources and are therefore spent with wild abandon, and redmond is far from the only culprit. It is said that developer time is always more precious, but I say it doesn't if you multiply these hidden costs by the number of users. That is before considering that many developers are in fact idiots in disguise. For a widely-used project it really is a good idea to make sure it still runs reasonably well on slower and less resourceful hardware. But "the industry" disagrees.
The approach taken does mean you need to buy more hardware for basically no gain in essential function with depressing regularity. These days even just to update your browser. And you have to update your browser because so many websites have "upgraded" to new, incompatible, ways of doing the same old thing, again with no discernible increase in essential functionality.
Even the bells and whistles gained aren't worth it: Lots of slow javascript requiring superfast javascript interpreters to reinvent basic things that used to work fine, like presenting a bit of text and some pictures, add a couple of hyperlinks. It's just that "everyone" uses the same bloated and slow javascript-laden website kits. So we're in a situation where we're standing on the shoulders of those that came before, but while the result is slow and ponderous, only the amount of resources required counts as giant.
As someone not grey-haired yet, I see a lot of room for improvement here.
I doubt this is really super optimized for size. More likely, it's really just a very, very basic OS with the absolute bare minimum of functionality. Think glorified bootloader for a single process with a bunch of libraries for basic stuff like simple filesystem and TCP/IP networking. Getting all that into 10K is not particularly difficult, and the code is likely pretty straightforward C.