Google is "quietly" developing a new operating system, named "Fuchsia". Google introduced Fuchsia on the GitHub home page of Fuchsia: "Pink + Purple == Fuchsia (a new Operating System)".
Google's operating systems all have something in common, all based on the Linux Kernel: Chrome OS, Android and Chromecasts. But the Linux Kernel does not work well in all scenarios (impacting performance or other effects), especially embedded devices like car dashboards and GPS units.
The information available on the Fuchsia homepage is limited, but it does not satisfy our curiosity.
| Than the Linux Kernel?
From the projects and documentation included in Fuchsia, the core of Fuchsia is Magenta kernel, a project based on "Little Kernel". The relationship between Magenta and Fuchsia is similar to that of Linux and Android. The Magenta kernel drives the powerful Fuchsia operating system. Magenta is designed as a commercial embedded operating system, similar to FreeRTOS and ThreadX.
However, Magenta is much more powerful than LittleKernel and is designed for modern, high-processor devices that support embedded devices, smartphones, and desktop computers. The following Little Kernel is abbreviated as LK.
Magenta's internal architecture is based on LK, but the above layers are completely new. Magenta has the concept of a process while LK does not. Magenta processes consist of LK-level architectures such as threads and memory.
Other differences:
Magenta has first-rate user mode support, LK does not
Magenta has an object processing system, LK does not have this concept
Magenta has a capability-based security model (similar to Android 6.0 permissions), and all LK code is trusted
Here magenta/mg_and_lk.md at master · fuchsia-mirror/magenta · GitHub mentions:
LK is a Kernel designed for small systems typically used in embedded applications. It is good alternative to commercial offerings like FreeRTOS or ThreadX. Such systems often have a very limited amount of ram, a fixed set of peripherals and a bounded set of tasks.
Looks like it is an embedded real-time system, and it has some relationship with VR/AR/cars and even robots;
But later said:
On the other hand, Magenta targets modern phones and modern personal computers with fast processors, non-trivial amounts of ram with arbitrary peripherals doing open posed computation.
Then it is not like a system dedicated to embedded devices. It looks like a general-purpose system.
The developers of Fuchsia gave some tips:
Purple - A system with high performance graphics, low-latency input, and a beautiful UI.
Pink - An incredibly modular system for developers and users.
Look beyond its kernel:
Google uses Flutter as the user interface of Fuchsia. Dart is the main programming language. From the perspective of color and display effects, the concept of Material Design UI is used.
Fuchsia supports 32-bit and 64-bit ARM CPUs, as well as 64-bit PCs. Subsequent support for Raspberry Pi 3 is expected.
UI layer uses Flutter (a Dart language mobile application framework, supports Android/Ios, you can write Native App); underlying rendering Physically Based Renderer, project code Escher, support Vulkan as the underlying Graphics API; then will not start from the system level Support Material Design (Flutter is currently using MD, of course, this framework also supports third-party design style)? That is to make MD further.
There is also a Mojo framework (this thing seems to be closely related to Chrome, is the key to the future of the system can support a variety of programming languages), has bound a number of languages, such as: Go, Java, JavaScript, Python, Rust. Use Dart to write GUI sections. These languages ​​can be used to write code behind the scenes.
The project contributors Travis Geiselbrecht and Brian Swetland, the two main developers of the Android system, had developed WebOS in the past, was once a developer of BeOS, and also participated in the development of NewOS, Danger, and iOS. And Dart, Flutter, Mojo, which came from the Chrome team, and then Lenovo's previous rumors "Google intends to unify Android and Chrome OS in 2017", will this be it?
Google has repeatedly stressed that it will not support (SDK level) languages ​​other than Java to develop Android apps. Chromebooks can run Android App seamlessly (by using container-like technology). This new system is also expected to support this way. Existing Android App. Black belly: Unlike Android, this system does not seem to see anything like a VM at the moment, and it is no longer necessary to “cut and continue to mess†with Oracle.
Google now has two systems:
Android - The performance on the tablet and on the big screen is unsatisfactory; Android's fragmentation problem should be no solution, only alleviate the inability to cure;
ChromeOS - nothing to do on mobile phones, is currently doing very well in the field of education, but does not support the Native App (recently just support the Android App), Web App can be of great use, alternative to Native App (really necessary? ) is still very far away.
In the emerging fields such as IOT, VR/AR, etc. that have potentially great opportunities in the future, there is currently no system that has been optimized for this purpose.
So: to develop a new platform from scratch and combine these three together should be its ultimate goal (and certainly not rule out that it is an RTOS, is an embedded system, specifically developed for VR/AR, I think too much).
However, Android is currently the world's most users of the system, ecologically huge; ChromeOS has just begun to have a good performance, Google is unlikely to abandon these systems, it can not be abandoned, such as how to abandon Android?
I think it is more like one: evolution, integration . You look at its source code. In fact, many of its technology stacks are connected to Android and ChromeOS, and many of the items previously scattered within Google (such as Skia, Mojo) are now grouped together.
Therefore: the bottom of the system will be a new look, android's app ecology will be preserved and continued. Java is no longer the only language that can write apps, chromeOS may be absorbed, and then assist system-level VR/AR support.
This strategy is also in line with the style of Alphabet CFO Ruth Pollard since she took office: streamlining the product line, don't be arbitrarily spending money.
If this time to develop a special system for Internet of things, before Brillo, it is difficult to go with Android, ChromeOS will not be cast?
| Google’s purpose?
Learned so much about Fuchsia, but why is Google going to develop a whole new OS and Kernel? To build the Material Design concept on smartphones and PCs? The most likely reason is that Google hopes Fuchsia will replace Chrome OS and Android one day, but perhaps Google will treat Fuchsia as well as Samsung's Tizen OS. But it may also be Google's attempt.
Fuchsia is a project development code. What will the real name of this system be called in the future?
Maybe Fuchsia, maybe Android 8.0 (9.0), maybe ChromeOS 2.0, maybe a brand new name.
When will this new system be replaced (I think the replacement of the word is not quite accurate) Android and Chrome OS?
I think it can well integrate the existing ecosystems of the former two. The new system switching process will not bring obvious differences to users and third-party manufacturers (for example, many apps cannot be used by users, many drivers are incompatible, and many things are To be re-adapted, users and vendors are reluctant to switch to the new system and thus fail.) That is, transparent to users and third-party vendors , it will succeed in replacing the latter two.
In fact, the first concept of "Convergence" is Ubuntu, and Ubuntu was also the first to do so, but the progress is not very smooth, and Canonical is not enough in terms of strength and financial resources, such as Mir's repeated bounce.
(First say so much now, because the current release of the document is very little information, just guess)
Lei Feng Net Note: This article is the main author Ye Xiulan, open sourcepie of WeChat public number open source. This article was published by the open source party authorized by Lei Feng Network (search "Lei Feng Net" public concern) , reproduced, please contact the authorizing and retain the source and author, not to delete the content.