Huawei's LiteOS Internet of Things Operating System Is a Minuscule 10KB 175
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
even if you don't want applicances to be connected (Score:2)
Re: (Score:2, Redundant)
Re: (Score:3)
I don't buy into this Internal Combustion Engine gimmick. I looked at a self-powered vehicle last time I was in the market. It seemed to add more cost, complexity and potential reliability issues for no real gain. Instead I got a regular stagecoach. Still transports people and goods, and I never have the administration overhead of having to manage it.
Re: (Score:2)
I don't buy into this Internal Combustion Engine gimmick. I looked at a self-powered vehicle last time I was in the market. It seemed to add more cost, complexity and potential reliability issues for no real gain. Instead I got a regular stagecoach. Still transports people and goods, and I never have the administration overhead of having to manage it.
Yeah, ha ha, but very few people actually owned their own stagecoach, whereas nearly everybody already has a fridge.
But kudos for shoehorning in a car analogy.
Re: (Score:2)
Re: even if you don't want applicances to be conne (Score:2)
The current car isn't much like the first self-powered versions. But even larger is the difference between the preexisting society and that which was shaped by the ubiquitous car. So the analogy isn't merely that it's an invention, but that it's an invention that in some form, sooner or later, is guaranteed to necome commonplace, widespread and yet again transformative to society, yet rejected by some of the early evaluators.
Re: (Score:2)
but that it's an invention that in some form, sooner or later, is guaranteed to necome commonplace, widespread and yet again transformative to society, yet rejected by some of the early evaluators.
Crap. Based on what? Your opinion?
Not every invention becomes commonplace, in fact most are failures. I'm yet to hear any argument why an Internet fridge is better than a regular fridge. The fact that we actually have Internet Fridges right now, and nobody I know has one, is a pretty clear indication that this invention is less like the car and more like the 3D TV, the Curved TV, or the Segway.
Re: even if you don't want applicances to be conn (Score:2)
It was about the IoT in general, rather than the networked fridges as they exist today on the market. The first cars sucked, and maybe the first IoT fridges don't offer much plus either. Cars were an ultimately accepted invention, because they provided what a lot of people want: reliable individual mobility without horseshit and having to keep large animals. Even more so, networked objects are destined to be part of people's life, because the marginal cost of sensors, pattern recognition and being networked
Re: (Score:2)
Re: (Score:2)
You will always be able to buy the cheap refrigerator with a poorly controlled compressor. unfortunately that's also the model with poor insulation, bad stripping, and a nasty co
Re:even if you don't want applicances to be connec (Score:4, Funny)
Only an idiot would buy a fridge. I build my own.
Re: (Score:2)
Re: (Score:2)
I look forward to hacking into your $8 Internet connection to make your stupid fridge fuck your toaster and have your stupid smartphone video it and post it to your stupid facebook account
IoT is for idiots who don't realize you don't need a fucking Internet connection for a fridge. What a fucking waste of technology. I hope your fridge gets a virus and you get diarrhea
Now put a embedded system into some dildos? THEN you have some modern IoT shit, bro
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
but does it run linux? (Score:2, Interesting)
Seriously though, how can security be handled at that small of a foot print?
Re: (Score:2)
They must surely mean that the parts of the system which are not the Linux kernel take up only 10kB. The kernel has crypto services in.
Re:but does it run linux? (Score:5, Insightful)
security is easier with a small footprint than a large one.
Re: (Score:2)
Depends on how many language tricks they use to get the code size down that small. Ever see RSA implemented in a single line of Perl regex?
Re: (Score:2)
Depends on how many language tricks they use to get the code size down that small. Ever see RSA implemented in a single line of Perl regex?
And how big is the Perl interpreter? On my system, /usr/bin/perl is 11KiB and that doesn't include shared libraries or a kernel. No Linux kernel image, let alone an entire OS, has ever been as small as 10KiB. The story is completely bogus.
Re: (Score:2)
http://en.wikipedia.org/wiki/C... [wikipedia.org]
OS image size is 30k, including a bunch of stuff IoT probably doesn't need (pre-emptive multithreading, multiple network support, multiple platform support, etc...)
Re: (Score:2)
http://en.wikipedia.org/wiki/C... [wikipedia.org]
OS image size is 30k, including a bunch of stuff IoT probably doesn't need (pre-emptive multithreading, multiple network support, multiple platform support, etc...)
So, Contiki's pretty small, though not as small as the article claims LiteOS is. Contiki's not based on Linux either, so nothing you've said is relevant.
Incorrect (Score:5, Interesting)
It is easier with something simpler, not something smaller. When you start doing extreme optimization for size, as in this case, you are going to do it at the expense of many things, checks being one of them. If you want to have good security, particularly for something that can be hit with completely arbitrary and hostile input like something on the network, you want to do good data checking and sanitization. Well guess what? That takes code, takes memory, takes cycles. You start stripping everything down to basics, stuff like that may go away.
What's more, with really tiny code sizes, particularly for complex items like an OS, what you are often doing is using assembly, or at best C, which means that you'd better be really careful, but there is a lot of room to fuck up. You mess up one pointer and you can have a major vulnerability. Now you go and use a managed language or the like and the size goes up drastically... but of course that management framework can deal with a lot of issues.
Re: (Score:2)
Indeed, but the two go hand in hand. Smaller is usually simpler. There's only so much optimisation you can do. We're not talking about shaving a few gig off windows, we're talking about a 10kB OS.
Re:Incorrect (Score:4, Insightful)
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.
Re: (Score:2)
What's more, with really tiny code sizes, particularly for complex items like an OS, what you are often doing is using assembly, or at best C
You're going to have quite a surprise when you look at the source code of any kernel!
Linux seems to do OK with its kernel without having to write it all in Java or C#.
Re: (Score:2)
If the device does not do anything at all, then security is optional.
Re: (Score:2)
Corollary (Score:2)
a small footprint is easier with no security.
there are no vulnerabilities in code that isn't th (Score:2)
The only code guaranteed to be secure is code you didn't include. If typical code, Windows for example, has one serious bug per 5,000 lines of code, this should have approximately 0 serious bugs.
Re: (Score:2)
More importantly, how do you stuff back doors and spyware into 10kB?
Smaller than a Word Document (Score:2, Funny)
I knew it (Score:5, Funny)
Re: (Score:2)
On the spot :-) However sometimes I wonder what would be possible on some ancient hardware, if we used leading edge optimisations and CS advances. For example, would it be possible to create a modern windowing OS on some old platform, or create a generation-defying game for the PlayStation 2? It would be an interesting metric of how much CS has improved along the performance or compactness axis, as separated from the hardware improvement. While the ever worsening code bloat could be pointed out, a lot of re
Re: (Score:2)
Depends how you define modern windowing OS. As soon as you require modern text rendering, you are in many-MB territory, and just a 1080p framebuffer is fairly large.
10kb failed already... (Score:5, Funny)
The operating system will be open for developers to tinker with
and suddenly it becomes 10mb.
Re: (Score:2)
It must be a day ending in Y! (Score:2, Flamebait)
Ba! 10kb? Luxury! (Score:3)
Re:Ba! 10kb? Luxury! (Score:4, Insightful)
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.
open? (Score:5, Insightful)
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.
Re:open? (Score:5, Insightful)
It's China. What makes you think that a BSD style licence, or any other licence based on western copyright law, would make any difference?
Re: (Score:2)
Simple with a BSD license you can check the code yourself, build the code, and then deploy the code using a signed encoded DFU file with a custom boot loader.
Old fart's claims finally justified. (Score:5, Insightful)
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.
Well, perhaps you should look at features (Score:2)
And also other tradeoffs. It is fashionable for some geeks to cry about the amount of disk space that stuff takes, but it always seems devoid of context and consideration, as though you could have the exact same performance/setup in a tiny amount of space if only programmers "tried harder" or something. However you do some research, and it turns out to all be tradeoffs, and often times the tradeoff to use more system resources is a good one. Never mind just capabilities/features, but there can be reasons t
Re: (Score:3)
You're right everything is all about whcih compromises you're prepared to make.
It seems that ease of development and time to market are now the carte-blanche excuses to mercilessly bodge an architecture, consider memory/disk/cpu resources to be infinite, and throw in dependencies on every bloated toolkit and library instead of writing a few lines of well-crafted code.
In fact I'd say that ability to write well-crafted code is now a dying art. Most so-called developers these days are basically just package i
Re: (Score:3, Funny)
Do you remeber setting jumpers on your sound card and then configuring each app to talk to it? Do you remember having multiple boot disks with different TSRs loaded so that you can have just enough of your 640k to start a game and have your mouse driver work? Do you remember how you didn't have example code you could easily find after an easy Google search that you could just copy from your browser and paste into your IDE all without preventing your family members from using the phone?
Bitching about the
Re: (Score:2)
you are right. there is no more dicking about with hardware jumpers and maybe 2 parameters in config.sys and autoexec.bat
I remain convinced that all the extra bloat that modern windows has (registry, hidden system backups, useless control panels, uninformative error messages, retarded menu and filesystem hierarchies etc etc) is NOT the right direction to make a step forward though.
There was never any question about that (Score:2, Insightful)
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
Re: (Score:2)
Thats because microsoft doesn't give a shit about how much space it wastes on peoples hard drives. My windows 7 computer has a installer folder which takes up over 7gb and I hardly installed any programs on it. Googling tells me I can't delete this folder either. Apparently the folder contains backups of the programs I have installed but since I already do my own backups of the computer it is stupid that I am forced to have a backup of a backup.
Yea I remember ms-DOS. You could go into the DOS directory and
Re: (Score:2)
>> BTW, your windows directory is small compared to mine.
Yeah the 15gb is right after a clean install and before patches (i.e. minimal to the point of the smallest its ever going to be).
I think my windows partition is using about 120GB now, but in all fairness that includes some small apps I also installed and a few documents on the desktop.
Re: (Score:2)
You didn't need to put all the utilities on it, just command.com was enough IIRC. Then, you'd keep a full DOS disk on hand for when you needed to run any of those pesky external utilities. Real men had two disk drives, so they didn't even need to swap the disk back and forth!
kernel 10K (Score:4, Interesting)
Re:kernel 10K (Score:5, Funny)
the kernel is > 2mb nowadays. how did they get in into 10K?
Lossy compression.
Re: (Score:2)
Re: (Score:2)
As well as cutting down the kernel as much as possible they have a compressed boot image. That has to be loaded into RAM and decompressed to be much larger before use.
The art of doing more with less (Score:5, Insightful)
..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
Re: (Score:2)
We need to re-discover efficiency in programming
Why? There's a reason programming has become inefficient, and that's because in most cases it doesn't need to be. You can't fight evolution.
Re: (Score:2)
Re: (Score:2)
Something evolves to be better
No it doesn't, Something evolves to better suit it's environment. More powerful processing allows inefficient programming to thrive. It thrives because it works. That is evolution.
Re: (Score:2)
I remember doing image processing on a 4MHz 8088, in 1986, in assembly
And nowadays would you write a separate version in assembly for x86_64 processors with SSE instruction support, then one that exploited the benefits of SSE2, then one that used SSE3, then one that used SSE4 then one for AVX and then one for each of those targeting 1, 2, 4, 6, 8, 12 cores to squeeze "every bit of performance out of a system"? Then take a look at all the custom Apple chips and all the custom ARM chips and write individually optimized versions for those as well? Of course you wouldn't.
Sure you
Re: (Score:2)
Or write one for whichever sse has interesting instructions and a fallback mode in C. For embarrassingly parallel image processing divide your image in nbcores sub image and call your engine with each. No need to provide more. And writing good simd code is still better done by hand. All apple core are ARM, write one with NEON also or better for one core. The cost benefit analysis isn't always go with higher level languages either.
Re: (Score:2)
Or write one for whichever sse has interesting instructions and a fallback mode in C.
How does that equate to "squeezing every bit of performance out of a system"?
For embarrassingly parallel image processing divide your image in nbcores sub image and call your engine with each. No need to provide more.
I don't think that's the kind of thing he's talking about, we all know this and I'm not sure there's many image processing programs that don't do that.
All apple core are ARM, write one with NEON also or better for one core.
This is again targeting the lowest common denominator rather than optimizing for the features you have available, exactly what the GGP was arguing against.
Re: (Score:3)
Re: (Score:2)
There's even somewhat of a disaster going on. A year ago or more, flash 11.2 for linux got compiled with SSE2 and thus stopped working on processors that only support SSE - and the faster Pentium III or Athlon XP still are good enough CPUs. Adobe couldn't be arsed to provide two paths or just leave the damn thing alone (after promising security updates till 2017).
It's not Linux-based (Score:4, Insightful)
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.
Re: (Score:2)
I distinctly remember Tom's rootboot, which came on a single 1.44 floppy. I used it often to fix "sick" systems, it came with a number of useful tools. So, it is certainly feasible to strip a Linux system down quite far. Ah, here it is: http://www.toms.net/rb/
Re: (Score:2)
I distinctly remember Tom's rootboot, which came on a single 1.44 floppy. I used it often to fix "sick" systems, it came with a number of useful tools. So, it is certainly feasible to strip a Linux system down quite far. Ah, here it is: http://www.toms.net/rb/ [toms.net]
You are correct that there have been Linux-based operating systems that fit in a MiB or two. That is more than one hundred times the size claimed in this ridiculous article.
Re: (Score:2)
Even the earliest distributions of Linux-based operating systems in the early 1990s required a couple of floppies.
From one extreme to the other. Even in the late 90s and early 00s it was possible to boot a linux system from a single floppy. Heck there's even a distribution named fd-linux. Not just the kernel either. I remember having a full network routing OS with firewall and the works boot from a single floppy.
Re: (Score:2)
Even the earliest distributions of Linux-based operating systems in the early 1990s required a couple of floppies.
From one extreme to the other. Even in the late 90s and early 00s it was possible to boot a linux system from a single floppy. Heck there's even a distribution named fd-linux. Not just the kernel either. I remember having a full network routing OS with firewall and the works boot from a single floppy.
I'm not really sure what your point is or what extremes you're referring to. You also seem to be unaware that floppy disks vary hugely in size. Common sizes on PC hardware varied from 360 KiB up to 1.44MiB. Obviously, one would need three of the former to hold as much as one of the latter. Perhaps you're trying to imply that what I said was incorrect.
According to http://www.maketecheasier.com/... [maketecheasier.com]:
The earliest known distribution was by HJ Lu in early 1992. It consisted of two floppies: a “boot” disk to boot the system and a “root” disk that contained the filesystem, and from which it actually ran.
All of this is beside the point, which is that every Linux-based operating system has required many times the st
Re: (Score:2)
Oh, you poor, poor pedant. (3*360KiB)!=1.44MiB.
If you can't get your arithmetic right, how are we to believe anything else you have to say?
Re: (Score:2)
Oh, you poor, poor pedant. (3*360KiB)!=1.44MiB.
If you can't get your arithmetic right, how are we to believe anything else you have to say?
Yeah, I guess you'd need four, reinforcing my main point further.
Re: (Score:2)
That you're both pedantic and wrong?
You, sir, win the award for Conceded Asshole of the Day.
Re: (Score:2)
Re: (Score:2)
So you are comparing a complete distribution with something like LiteOS that is only supposed to support an IoT?
Linux itself is much larger than 10KiB. Therefore, any OS using it must be bigger than 10KiB.
Re: (Score:2)
Re: (Score:2)
Real programmers use KB, not those puny little KiB!
Re: (Score:2)
You can call it Linux even without shipping all that GNU bloatware. How large is the compiled v0.01 kernel and a bootloader for embedded systems? Since nobody is going to SSH to it, you can remove all programs, and implement your sensors and protocols as compiled-in kernel drivers.
You've obviously never built Linux. The kernel image size is at least one MiB and usually several. It's never been as small as 10 KiB.
Re: (Score:2)
Obviously, their claim to be linux based is > /dev/null.
They say that only to make some noise.
"Oooh, shiny, it's Linux based!" - clueless.
Yeah, that's what I assume.
No thank you (Score:5, Informative)
Does anyone remember the tear-down of Huawei's router OS, presented at DEFCON 20? Why would you let those people anywhere near your hardware?
Why? (Score:2)
Why is the "internet of things" still a thing?
Is this for people who miss the good ole days of polio and small pox?
Re: (Score:2)
Re: (Score:2)
Actually, it's always been a "thing". Just the term "Internet of things" is relatively new, but the concept quite old.
We used to call them "Smart Devices" and our demo boards came with software that allowed them to be remotely managed (the boards were StrongARM based SBCs with Ethernet controllers). They were "smart" in that you connected them to a network and could be managed without physically having to be there.
Or hell, the "internet connected toaster" is a c
"Based on Linux" = GPL (Score:2)
10K ought to be enough for anyone. (Score:2)
Future Assassin
Slashdot
May 20 2015
Huawei as a Security Threat (Score:2)
Yeah but (Score:2)
Can it run Crysis?
Sure, smaller than a Word doc... (Score:2)
But think of all the viruses that poor Word document needs to support
Hope you like coding everything in assembly (Score:2)
I can't imagine this OS has anything resembling libraries or runtimes on it...one of those cheapass modems you can telnet into will seem luxurious in comparison. How much need will there be for an OS like this in the future when you can already run a full desktop OS on a $25 single-board computer?
this is not an OS (Score:2)
it is probably a boot loader.
Apple ][+ had an OS that was 4KB, it was a boot loader too. The default behavior was to launch the 8KB AppleSoft interpreter. If you happened to have a Disk ][ unit installed it would digress into loading 6KB of AppleDOS into RAM from a 2KB ROM on the DISK controller before seeding the low level globals of AppleSoft to patch interpreter's command dispatcher to handle DOS commands from the CLI, and then calling into the interpreters main loop.
Kids these days.... No appreciati
Linux-based? (Score:2)
In 10K? If anything, it's Linux-inspired. I joined by ~1.2.x (1995), and the minimum specs were already ~2MB RAM.
Re: Linux-based? (Score:3, Funny)
10K is huge! Why, I've got a 64-bit operating system!
Re: (Score:2)
Ya, it feels a bit of a stretch. 10K is tiny. 8-bit CPU systems with a tiny application and no operating system take up more code space than that and that's with no networking or security. I'm struggling with 128K code and 16K ram to fit in what is needed, but that's with 16 bit instructions.
I can't see any links to get verifiable information. I suspect it's 10K ram with code in flash or rom though, or it has some seriously limited requirements (only communicates with a nearby phone, recharge every nigh
Speaking of C64... (Score:2)
Commodore 64 KERNAL was only 8k.
Though that kernel didn't do TCP/IP networking.
Nevertheless, there *are* small opensource OS able to pull network on a C64 (e.g.: Contiki-os).
Huawei's LiteOS is competing against them.
Re: (Score:2)
Re:Don't do it! (Score:5, Informative)
I'm guessing that joke's a lot funnier outside of the United States.
Actually (Score:2)
Well, actually the *chinese* backdoor is the one which is hardware embed into the chip that runs the LiteOS.
The 9KB you're looking at are the *russian* backdoor that they managed to sneak in without anybody noticing.
(The remain 1K was written by a coordinated effort of european spying agency... hey not everyone has the ressource of the big player, some need to pool together)
The US you ask? They are busy introducing a new law that will make eaves-dropping access mandatory on all IoT gizmos.
Re: (Score:2)