Google has unveiled new details of its “Fuchsia” Operating System (OS), slipping a programmer’s guide to the nascent OS onto software development platform Github, then renaming it recently in a manner that caught broader attention.
“The Book: a programmer-oriented guide to interacting with Fuchsia” provides significantly more detail about the design of the kernel and its software interfaces than had previously been seen. (The project has been cloaked in, if hardly mystery, then a degree of obscurity beyond the developer community.)
Google’s press office did not respond to a request for comment on further details nor launch plans — rumoured to be 2019, if at all — nor did Google’s Director of Engineering, Chris McKillop; apparently project lead on Fuchsia.
Earlier this month Google had also slipped a rudimentary demo of the OS onto Github, but “The Book” gives a much more comprehensive view of what’s coming.
Google already has two operating systems: Android (for mobile) and Chrome (netbooks, etc.) which is essentially just Linux running web apps, with no native development.
The Fuschsia OS, by contrast, is based on a very small custom kernel from Google called “Zircon”, rather than Linux and, unusually, comes with some elements written in C++.(C++, as one developer put it to us, is object-oriented and adds complexity, but makes large application development “a bit nicer” as there are a lot more features in the language).
Applications in embedded systems?
Software engineer Ashley Narayanen told Computer Business Review. “It seems like a play to build a unified platform for mobile and heavier-weight devices. It relies on the Flutter SDK which is already able to build and target Android apps, so likely it’s no stretch to rebuild current Android apps for Fuchsia. Google could probably even supply a shim to get that working, as non-native Android apps run on a Java VM anyways, so boom: they could potentially launch this new OS PC/mobile ready with the entire Android ecosystem ready to go. It looks as though it’ll have applications in embedded systems too; possibly even automotive.”
He added: “I notice also that Google have opted to implement Swift (which is an Apple-only language at present) as an option for developing applications. Maybe an attempt to also woo Apple developers. Also, the device drivers run in what’s called ‘user mode’ or ‘user land’, meaning they’re not given fully elevated privileges. This means they can be isolated better. The other option is to run in kernel mode. This means the can do whatever they want like allocating great chunks of memory which might bring the whole system down. In user land, everything that a driver does has to go via the kernel first before hitting the actually computer’s resources. So the kernel can stop it from doing anything naughty and kill it before it does any harm.