Meet Linux's Little Brother Zephyr, a Tiny Open Source IoT RTOS (linuxgizmos.com)
DeviceGuru writes: The Linux Foundation has launched the Zephyr Project, to foster an open source, small footprint, modular, scalable, connected, real-time OS for IoT devices. The Zephyr Project's RTOS implements both a small footpoint microkernel and an even tinier nanokernel, and is the result of Wind River contributing its Rocket RTOS kernel to the Zephyr Project. (Wind's Rocket RTOS will now become a downstream commercial distribution based on Zephyr sources.) To get a sense of Zephyr's benefit, its nanokernel is said to be able to run in as little as 10KB of RAM on 32-bit microcontrollers, whereas a minimalistic Linux implementation like uClinux needs upwards of 200KB. The Linux Foundation hopes to see cross-project collaboration between the Zephyr and Linux communities. Technical details are at the Zephyr site.
So, it's a tiny computer. What makes a device an IoT device? Does it just need to be a network connected device? Is a Raspberry Pi an IoT device? Is a smart phone? An IP phone? A smart TV? A desktop computer? A laptop? A netbook? A tablet? I need a solid definition so I wont be annoyed when I see "IoT".
Not.
I've been seeing piles and piles of new chips that come with integrated 32bit arm cores, flash, and ram. And they're dirt cheap. Nowadays it seems pretty much all non-trivial chips include an ARM core with enough storage and ram to run circles around any desktop computer found in the 80s or even early 90s.
About 9 dollars shipped for a hacker-friendly breakout board based on the NRF51822.. And that's not just a processor. It's a Bluetooth 4.0 radio that supports bluetooth LE and all the other bells and whistles. 15kb ram, 256k flash, and whole mess of features to get data in and out. Seems right in the footprint for this little OS.
Add bluetooth and a fairly powerful "micro" to any project for less than 10 bucks.
http://www.ebay.com/itm/-/400970594571
Development board for the above module:
http://www.ebay.com/itm/-/400967553827
Browse that seller of the above items and be amazed at the absolutely insane amount of dirt cheap hacker friendly electronics you can get shipped from china for just a few bucks. Granted specs may be exaggerated and you'll want to do a little poking and testing on your own.. But that's half the fun, isnt it? :)
Is systemD part of the OS?
Does 10K vs. 200K vs. 5MB actually matter? RAM is so cheap, so small, and so ubiquitous today.
I appreciate that it doesn't need gigabytes of memory... but what does saving 190K of memory really get that wasn't possible before?
How fast does it power up? This is one area of computers that makes absolutely no sense. If something can be stored, why can't it be stored in a ready-to-run state? Why aren't drivers on ROM inside each device? My radio comes on instantly, so should the damn computer. We're back to the days of having to wait for the TV to warm up, shouldn't be that way.
“He’s not deformed, he’s just drunk!”
to foster an open source
Apache v2.0 License..so uh..enjoy your collection of neat forks.
small footprint, modular, scalable, connected, real-time OS
or literally any one of about 30 different flavours of BSD or linux that at present accomplish this goal and have done so for 30 years.
The Zephyr Project's RTOS implements both a small footpoint microkernel and an even tinier nanokernel
not good enough...i wont rest until you start using femto, atto, and zepto kernels. this kernel needs to be small enough to route the DNA in my cells.
10KB of RAM on 32-bit microcontrollers
great. another 32 bit architecture for my 64 bit environment. let me just break out my crossdev toolchain and hang myself by the coffee maker cord.
get off my goddamn lawn and stop trying to make this a thing. Wind Rivers pelvic-thrust into the internet of things isnt a meaningful contribution when so much of it is already handled nicely by alix, pi, and small form factor x64 where necessary.
Good people go to bed earlier.
What is the difference between 10kB and 1MB in price or volume?
The advantage of a minimal OS is it has less things in it therefore less things will break, so is more reliable but I don't see Linux as losing the reliability argument.
In this day and age of net threats, who on earth is going to expose something to the internet, whereby all processes including the kernel run in a single memory address space (i.e. no concept of rings or protected mode)? :(
It will be a potential security nightmare. I was quite impressed and excited until I saw that news about the memory map.
We used an older version of vxWorks in my previous job that ran that same way, and just chasing bugs down (that crashed the system hard or even overwrote the onboard flash memory - due to infinite recursion) was a nightmare. I believe current versions of vxWorks have proper memory management/protection....
Linux fan and Win32 developer
This is really an 'OS' in the loosest sense. The processors it targets (mostly ARM Cortex M) do not have a memory manager, so all these things really do is provide a basic multi-threading system, which is actually pretty trivial to implement on a micro-controller if you can be bothered. I mean, a decent embedded unicode handling library or buddy allocator is a more complicated endeavour, but not as media worthy as saying your wrote a whole 'OS'.
For what it's worth, FreeRTOS has been providing a lightweight and portable kernel that basically does what this does for about a decade now. Like windriver, they also try to leverage the exposure they get from the free code to sell their commercial version.
The interesting thing though is that embedded processing power is really jumping along at an incredible pace now. To be honest, I think in another five year anything that requires connectivity or has a screen will just be using a Linux derivative (or QNX). Memory and processors are becoming ridiculously cheap, and in many cases the few dollars saved by using a resourced constrained chip are not worth the effort of having to port a graphics library, driver etc etc.
Bunch of desktop computer idiots commenting on news about embedded OS. This is not for your computers to run your MS words and games. Don't comment if you don't understand what you are talking about.
Ever wonder why your current computer seems to run as fast as one from a decade ago? Shouldn't everything load much faster and be more responsive?
Only the State obtains its revenue by coercion. - Murray Rothbard
If that's the goal then why not just use non-volatile memory. Would that not save the same power without scrimping on quantity of memory?
Some drink at the fountain of knowledge. Others just gargle.
Running the application on the bare metal is just fine.
Sorry but very rarely do you need a full blown OS. my weather station does not need an OS, it just needs it's program to run and loop over and over and over again running directly on the hardware.
I can see things like Amazon Echo using an OS, but then it's processing power and capacity can easily run a full blown linux. no need for anything that is super tiny.
Do not look at laser with remaining good eye.
Feels like the license should have been in the summary. Whatever your opinions on copyleft in other areas, a GPLv3'd RTOS would be at a huge disadvantage adoption-wise. It'll be good to have an Apache licensed RTOS with some serious momentum behind it.
Microware needs to start porting OS-9 to these sorts of things.
Not
Now they throw the backdoors in for free!
That the Linux name will be close to ukernel and nanokernel stuff. Also prof. Tannenbaum will.
Sent as ripples into the electromagnetic field. No single photon has been harmed in the process.
So, unified kernel/userspace. minimal error checking. Some error checkign available, but optional.
The Internet of never updated, easily pwn3d things.
Guys ... Please do not jump on the hype bandwagon.
RTEMS is very old, very Posixy and has been in use for a long time.
WindRiver has also released a small RTOS called 'Rocket' ... Learn about RTEMS ... It is a very proper and widely used OS (in Space, on Mars and many places).
look in the 'about' page, in the 'export compliance' section: "(c) for use in connection with the design, development or production of nuclear, chemical or biological weapons, or rocket systems, space launch vehicles, or sounding rockets, or unmanned air vehicle systems."
More reason to develop software ex-US, so crazy export compliance doesn't hobble you.
Will I be able to znol and zwrite my devices?
"The Zephyr Project's RTOS" is limited to x86 and ARMv7. x86 isn't for anything small and just using ARMv7 doesn't leave you with many options for chips.
Contiki and ChibiOS/RT have already been ported to run on damn near anything and yes, only still only require 10KB of RAM.
Anons need not reply. Questions end with a question mark.
small footprint, modular, scalable
Those three things are mutually exclusive unless you change the definition so that it applies to basically anything on the planet.
Modular is never small, scalable generally isn't either.
Persistent Volume manager for Kubernetes - https://github.com/dwimsey/openshift-pvmanager
If there are things like FreeRTOS? Because Zephyr is backed by the Linx Foundation? Currently this speaks rather against than for Zephyr. Because it's *not* GPL? Yeah, right.
(And note: FreeRTOS is but one (good) choice among many, see here.
Don't let the big consortia dictate your technical choices. Use your brains!
https://twitter.com/internetofshit/status/700660121735573504