7 operating systems quietly running your house that nobody ever told you about

7 operating systems quietly running your house that nobody ever told you about

The original Nintendo Switch uses Joy-Cons as game inputs, but those controllers actually run their own real-time operating system with its origins in the 80s. Not only has Nintendo never mentioned it, it's barely been reported outside of Japanese media. The Switch, a SIM card, a Bosch dishwasher (maybe), and every Intel machine you've bought in the last decade all have something in common: they're all running operating systems that aren't advertised, talked about, or, in some cases, even admitted to. Some of these operating systems are incredibly old, while others are completely dormant projects that ship in new hardware. Most people probably interact with at least one of these operating systems every single day without realizing it, and you might even interact with multiple. Your Joy-Cons run a Japanese real-time OS from the 1980s Nintendo never mentioned it, but its supplier did The only reason anyone outside Nintendo knows about the Joy-Con's kernel is that a Tokyo software house called eSOL put out a press release in June 2017, but it flew under the radar somewhat. It named two of the company's products in the Switch: an exFAT file system handling microSD on the console, and a μITRON 4.0-compliant real-time operating system inside the Joy-Cons, used for NFC and other control functions. Nintendo had already been a customer of theirs for the Wii U, so this wasn't the first time. μITRON isn't something you download, and it's more of a specification, part of the TRON project that Ken Sakamura started at the University of Tokyo in 1984, and a handful of vendors ship kernels that comply with it. TRON Forum's own survey of the Japanese embedded market put TRON-family kernels at around 60% in 2016, with ITRON alone at 43%. Japan spent a good chunk of the 1980s trying to make TRON the operating system for more or less everything, and the US government took a fairly direct interest in the desktop side of things. The NFC part is the bit a lot of Switch owners have used, incidentally, as the reader in the right Joy-Con is what's used to scan amiibo. Reading a tag over a radio interface is a timing-sensitive job that a general-purpose scheduler makes harder, which is why a real-time OS is used instead, as it has predictable timing. Nobody found any of this by pulling the chip apart, though. People have dumped the Joy-Con's SPI flash and weren't able to properly make sense of the code. Instead, the reason we know about it is because the vendor said so. In the case of the Nintendo Switch 2, we don't actually know at all if it's using a similar OS, either, as eSOL's announcement only covers the exFAT file system, not the operating system. If eSOL isn't saying it, Nintendo certainly won't. Your SIM card and your bank card are both running Java A JVM in your wallet Credit: Source: Flickr Oracle reckons close to six billion Java Card devices ship every year, against a global installed base of between 30 to 50 billion smart cards. The SIM in your phone, the contactless card in your wallet, and quite possibly your national ID card or passport are all running a Java virtual machine on a tiny chip. Java Card is a set of specifications rather than a single product: an API, a definition of the virtual machine, and a runtime environment, all cut down to fit on a secure element with a tiny fraction of the memory a normal JVM expects. Applets get loaded onto the card, which is how mobile operators can push new functionality onto a SIM over the air instead of posting you a replacement. Why a virtual machine at all? The answer is isolation. A single card can contain applets from parties without requiring them to trust each other, meaning you can have a payment scheme and a transit operator on the same chip, and neither can read the other's data. The alternative is a bespoke chip per use case, which is how it used to work. It's not flawless, of course, and tons of vulnerabilities have been flagged to Oracle and patched over the years. Given the scale the platform is deployed at, though, it's not too surprising: it's still a language runtime with an applet firewall running on a bank card. Samsung put a real operating system in its washing machines Bosch went the other way entirely Samsung smart fridge with screenCredit: Samsung Samsung's TVs and Family Hub fridges run Tizen, which is a Linux-based OS some people may have actually heard of. The washing machines, the vacuums and the various display-less Samsung IoT products run TizenRT instead. It started out as a project called TinyAra in 2015, and it's built on the NuttX kernel, targeting Cortex-M and Cortex-R parts with under 2MB of RAM and under 16MB of flash. Samsung has been putting it in appliances since 2017. Interestingly, NuttX is also the base of Xiaomi’s Vela platform, which covers a large chunk of Xiaomi’s IoT lineup. It's odd to think that there's some shared ancestry between a Samsung washing machine and a Xiaomi temperature sensor. Bosch's answer is completely different, and doesn't really involve an operating system at all for most of its appliances. Depending on the machine, you'll find bare metal like the Freescale MC9S12Q128, a 16-bit microcontroller, and unbalance sensor boards running things like the PIC18F24J10. To wire these boards up, they use D-Bus-2, but it has nothing to do with D-Bus you might find on a Linux system. Instead, it's three wires (ground, supply and data) with checksums and collision detection. Operating systems are used in devices with connectivity; their proprietary platform, called BSH Embedded Linux Platform, has parts of it upstreamed into Buildroot. So your wireless Bosch washing machine might have an operating system, but your good old fashioned one doesn't. Your ISP's cable modem runs a dormant 1990s project eCos never really went away eCos, short for embedded Configurable operating system, came from Cygnus Solutions in the late 1990s and ended up at Red Hat after the company was acquired. Upstream development is more or less dormant these days, but Broadcom’s DOCSIS silicon has been running it for years, meaning there's a decent chance it's sitting somewhere in the chain between the router your ISP gave you and your outbound connection. One researcher spent time figuring out how it works through a TCG300-D22F, an ASKEY gateway shipped by Orange Belgium. It runs on two cores, one handling cable modem work and one handling routing, with each exposing its own console, and the firmware is a set of LZMA-compressed sections. In that analysis, neither the bootloader nor the operating system enforced firmware authenticity checks or secure boot, so modified, unsigned firmware was able to run without issue. That was shockingly relaxed for a device that sat between your house and the internet. Your router's Wi-Fi chip runs its own operating system A second computer you can't log into Gal Beniamini, working on Project Zero in 2017, analyzed Broadcom's Wi-Fi stack. However, what he was focusing on wasn't Linux, it was Broadcom's own operating system called HNDRTE, or HND Run Time Environment. It runs on a Cortex-R4 and handles the MAC and MLME layers before anything goes to the host kernel. In other words, there's a separate processor, running separate code, with its own memory and its own attack surface, running inside of your router, and none of it is designed to be accessible. All the host does is ask the radio for packets and trusts whatever the radio gives back. This is where Broadpwn originates: it was presented by Nitay Artenstein at Black Hat that same year, achieving full device takeover by Wi-Fi proximity alone. Broadcom's combo chips were in the majority of flagship Android phones as well as every iPhone and iPad of the era. Others have tried to go after the same firmware from the outside, using tools such as Nexmon to patch firmware and Frankenstein to emulate it so that it can be poked and prodded, but it's not unique to Broadcom. Every Wi-Fi vendor has something along these lines, and Broadcom's is just the one that's been publicly torn apart the most. To be fair to Broadcom, those bugs were patched a long time ago, but the architecture hasn't changed. The same kind of split exists on your router, on your TV, and on your phone, with a processor that runs code you can't inspect or analyze through ordinary means. Google swapped the entire OS on the Nest Hub Fuchsia has been in my kitchen for years I have a second generation Google Nest Hub, and in May 2023, Google replaced its operating system with Fuchsia, a home-grown operating system. Originally, the Google Nest Hub ran Cast OS, a Linux-based operating system, and there were no user-facing changes at all. You could easily have missed it if you weren't clued in on updates. Fuchsia's kernel is called Zircon, and it's derived from Little Kernel rather than from Linux. Google has been building it since 2016 but never announced a product attached to it, which led to a lot of speculation about what it was for, where it would launch, and what it could do. It's still being developed, but it hasn't gone any further than smart displays yet. The reason the swap went unnoticed is that the interface is written in Flutter, and Flutter runs on both. The entire foundation of the device changed underneath a UI that continued to look and behave exactly as it had before. Honestly, the only way I know my own unit is running it is that you can go digging in the settings for a version string. Otherwise, you'd never know. Your Intel PC is running MINIX underneath Windows Andrew Tanenbaum found out from the news The Intel Management Engine is a separate processor sitting below the operating system, with its own firmware and its own privileges, running independently of whatever you've got installed on your PC. From ME 11 onwards (arriving in the 2015 Skylake era), Intel replaced its ThreadX-based firmware with MINIX 3. MINIX was written by Andrew Tanenbaum in 1987 as a teaching operating system. It existed so that students could read the whole thing and understand how a kernel works. MINIX 3 arrived in 2005 as a serious attempt at a reliable microkernel OS. Intel then put it inside nearly every modern desktop and laptop it shipped, and, funnily enough, didn't even tell him. He found out through press coverage, and wrote an open letter to Intel's CEO in November 2017. His argument in that letter was that the deployment could make MINIX "the most widely used computer operating system in the world, even more than Windows, Linux, or MacOS." Obviously that's difficult to verify precisely, but it isn't an obviously outlandish claim. He also made a point of saying he wasn't looking for any money, just that a heads-up would have been nice. The world's largest operating system is hard to quantify When you add up the count of devices each running one of these, the question of which operating system has the largest installed base gets rather murky. One thing is for sure: the answer definitely isn't Windows, and it probably isn't Android either. Depending on how you count, it's Java Card, or ITRON, or MINIX 3. None of those have a consumer brand most people could even name or recognize, though. Most of this is invisible for perfectly good engineering reasons, and I'd rather Bosch's motor control board didn't have a scheduler on it. There isn't much you can do about any of it either, since you don't get to pick the firmware on your Wi-Fi chip and you certainly can't replace the kernel in a Joy-Con. It's just a bit strange to realise how much of the software running in your house was written by companies you've never heard of, and you never get to interact with it or inspect it.

Original Source

Read the full article at Xda-developers →

KhanList aggregates and links to publicly available news content. We do not host full articles from third-party sources. Always verify important information with original sources.