Become a fan of Slashdot on Facebook

 



Forgot your password?
typodupeerror
×
China Communications Networking Open Source Operating Systems Linux

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
This discussion has been archived. No new comments can be posted.

Huawei's LiteOS Internet of Things Operating System Is a Minuscule 10KB

Comments Filter:
  • everything will be, anyway. it will be embedded in every circuit. if tampered with, a signal will be sent. (The Sentinel?)
    • Re: (Score:2, Redundant)

      I don't buy into this IoT gimmick. I looked at an Internet fridge 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 fridge. Still keeps my food cold, and I never have the administration overhead of having to manage it.
      • by robi5 ( 1261542 )

        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.

        • 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.

        • So because people buy cars then every invention ever is awesome? Good argument...
          • 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.

            • 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.

              • 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

      • by radl33t ( 900691 )
        good for you. I want sophisticated software based digital controls in all my appliances that are run on the same $8 internet connected computer that I can replace, flash, customize, update, optimize for my lifestyle, for my local utility programs and incentives, renewable power systems, energy storage, peak demand reduction, etc.

        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
        • by boristdog ( 133725 ) on Thursday May 21, 2015 @10:54AM (#49743679)

          Only an idiot would buy a fridge. I build my own.

        • 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

        • My fridge wasn't cheap, it was merely cheaper than the exact same thing with the Internet in it. There is no administrative overhead, I've never had to administer any fridge I've owned in 30 years. Ask your friends that have Smart TVs how many times they use the smart features. I did, and the answer across the board was "once when I first got it, then never again").
          • by radl33t ( 900691 )
            I don't have friends with smart TVs, I do have friends working on refrigerators that can coordinate fast demand response with the grid, thus enabling the second or third largest appliance of every dwelling in the country to actually contribute services that increase the predictability and reliability while decreasing the cost of distribution and generation. Not bad for $8 of electronics.
            • Yeah until it breaks, then it costs $150/hour to get an expert to repair it. Your friends must've missed the first day of Engineering school where they teach you KISS.
  • Seriously though, how can security be handled at that small of a foot print?

    • 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.

    • by thegarbz ( 1787294 ) on Wednesday May 20, 2015 @07:15PM (#49740617)

      security is easier with a small footprint than a large one.

      • by JBMcB ( 73720 )

        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?

        • by Jonner ( 189691 )

          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.

          • by JBMcB ( 73720 )

            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...)

            • by Jonner ( 189691 )

              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)

        by Sycraft-fu ( 314770 ) on Wednesday May 20, 2015 @10:54PM (#49741105)

        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.

        • 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)

          by shutdown -p now ( 807394 ) on Thursday May 21, 2015 @05:41AM (#49742211) Journal

          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.

        • 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#.

      • If the device does not do anything at all, then security is optional.

      • Indeed. You can get total security if you shrink down the OS footprint to zero bytes. Oh wait...
      • security is easier with a small footprint than a large one.

        a small footprint is easier with no security.

    • 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.

    • by ameoba ( 173803 )

      More importantly, how do you stuff back doors and spyware into 10kB?

  • That's 3.05e-7 Libraries of Congress for those of us in the civilized world.
  • I knew it (Score:5, Funny)

    by mattventura ( 1408229 ) on Wednesday May 20, 2015 @07:20PM (#49740637) Homepage
    640k was enough after all.
    • by robi5 ( 1261542 )

      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

      • by amorsen ( 7485 )

        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.

  • by buckfeta2014 ( 3700011 ) on Wednesday May 20, 2015 @07:20PM (#49740639)

    The operating system will be open for developers to tinker with

    and suddenly it becomes 10mb.

  • ... because there's yet another open-source operating system for Internet of Desperate Hopes for New As-Yet-Unsaturated Markets devices! At this point, you could probably install a light bulb in every socket in your home, with no two light bulbs using the same "universal" OS, radio technology or communication protocol. We don't need /new/ projects like this, we need most of the ones currently in the market - including all the proprietary bullshit ones like Apple's PrisonKit - to die.
  • by rsilvergun ( 571051 ) on Wednesday May 20, 2015 @07:21PM (#49740643)
    We was lucky if we had 4kb for the OS and the program code and the graphics and the sounds.
    • by msauve ( 701917 ) on Wednesday May 20, 2015 @07:51PM (#49740685)
      4K? What a luxury. My KIM-1 only has 1152 bytes of RAM of which 256 bytes are the stack, plus another 2K of ROM. But then again, it was

      intended to provide you with a capable microcomputer for use in your "real-world" application.

      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)

    by Anonymous Coward on Wednesday May 20, 2015 @07:21PM (#49740651)

    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.

  • by JustNiz ( 692889 ) on Wednesday May 20, 2015 @07:27PM (#49740661)

    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.

    • 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

      • by JustNiz ( 692889 )

        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

      • by JustNiz ( 692889 )

        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.

    • by Anonymous Coward

      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

    • by shione ( 666388 )

      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

      • by JustNiz ( 692889 )

        >> 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.

    • 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)

    by dmitrygr ( 736758 ) <dmitrygr@gmail.com> on Wednesday May 20, 2015 @09:10PM (#49740773) Homepage
    the kernel is > 2mb nowadays. how did they get in into 10K?
    • by 93 Escort Wagon ( 326346 ) on Wednesday May 20, 2015 @09:38PM (#49740841)

      the kernel is > 2mb nowadays. how did they get in into 10K?

      Lossy compression.

    • It's only > 2mb if you include tons of drivers and functionality that they probably stripped. Since it's a IoT for their own hardware they probably only have support for the very tiny subset of hardware that they have and drivers are a big part of the kernel.
    • by AmiMoJo ( 196126 )

      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.

  • by MpVpRb ( 1423381 ) on Wednesday May 20, 2015 @09:13PM (#49740799)

    ..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

    • 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.

      • It's not really that programming has become inefficient, it's that in the old days we targeted specific machines and setups but the industry has changed and those development methodologies are not practical anymore. A lot of the software written back then doesn't run on any modern system anymore so people want to avoid making that mistake again, this means abstraction layers. I could write an application in assembly for every CPU architecture and operating system combination I want to target and re-write it
    • 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

      • by makapuf ( 412290 )

        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.

        • 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.

      • The biggest benefit of learning how to do hand optimisation is not the hand optimised code that results. It's having a clue, when writing higher level code, what that code will end up asking the processor to do. If you don't understand assembly, you are throwing abstract language into a magic black box, and the thinking and reasoning about what happens next often comes to resemble magical thinking. On the other hand, if you are familiar enough with assembly to actually see what your C compiler does with you
  • by Jonner ( 189691 ) on Wednesday May 20, 2015 @09:43PM (#49740863)

    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.

    • by 4im ( 181450 )

      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/

      • by Jonner ( 189691 )

        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.

    • 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.

      • by Jonner ( 189691 )

        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

        • by adolf ( 21054 )

          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.

          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?

          • by Jonner ( 189691 )

            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.

            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.

            • by adolf ( 21054 )

              That you're both pedantic and wrong?

              You, sir, win the award for Conceded Asshole of the Day.

        • So you are comparing a complete distribution with something like LiteOS that is only supposed to support an IoT?
          • by Jonner ( 189691 )

            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.

            • Compiled with millions of drivers, filesystems and other functionality that this LiteOS kernel probably doesn't need yes but remove all that and it shrinks vastly in size. If LiteOS only have to support a single piece of hardware then they can remove lots and lots of stuff.
    • by Toshito ( 452851 )

      Real programmers use KB, not those puny little KiB!

  • No thank you (Score:5, Informative)

    by MSG ( 12810 ) on Wednesday May 20, 2015 @09:44PM (#49740869)

    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 is the "internet of things" still a thing?

    Is this for people who miss the good ole days of polio and small pox?

    • It's amazing how hard people look for the next big thing when their current business model is spiraling down the drain. Most of the stuff in your home should not be on the internet, for any reason. Have a local network (LAN) for the home, with a router and firewall to allow a whitelist of connections outside.
    • by tlhIngan ( 30335 )

      Why is the "internet of things" still a thing?

      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

  • Where's the download link?
  • Future Assassin
    Slashdot
    May 20 2015

  • As a former employee of a technology company that did business with Huawei I can tell you the U.S. government banned all purchases of Huawei hardware for a time and prevented Sprint from building a wireless network with their hardware. Also, all of the Huawei software had to be routed directly through a government agency with source code to check it for security holes. Now I wasn't privy to any of the results but I haven't read any news about the government changing their stance on them..
  • Can it run Crysis?

  • But think of all the viruses that poor Word document needs to support

  • 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?

  • 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

It is easier to write an incorrect program than understand a correct one.

Working...