Source: CSDN (CSDNnews)
Earlier this year, market research firm Gartner released a survey report showing that in the current mobile operating market, Android has a market share of 85.9% and iOS systems accounted for 14%, while the two together account for up to 99.9. % share. In contrast, other mobile operating systems account for only 0.1% of the total, which undoubtedly means that other niche operating systems have little room for survival under the current environment.
At the same time, from the previously lost systems such as BlackBerryOS, SymbianOS and WindowsPhone, is it really difficult to see the third largest mobile operating system?
In fact, it is not good to judge. Why do you say that? On the one hand, Android, the world's largest mobile operating system, encountered the biggest trouble in history this year, that is, it was determined by the EU that it had a monopoly market and crowded out competitors. Google had to change the licensing policy of the Android operating system. On the one hand, as far as the Android operating system itself is concerned, its system fragmentation problem has become more and more serious, and it has not been significantly improved with Google's release of the ProjectTreble project, which eventually led many developers to abandon the pit; finally, since 2016 Since then, many media have revealed that Google is secretly developing a new operating system — — Fuchsia, and the ultimate goal of this system is to replace the Android system, but for this mysterious operating system, Google announced the details and Not much, but recently according to foreign media 9To5Google reported that by means of Android, Fuchsia or will support Java!
Overall, it is still too early to say that Fuchsia will not replace Android. However, according to the continuous news, it is not difficult to figure out that Google seems to be cultivating the second product after Android, and also has the third largest operating system. Potential.
Cross-device operating system &mdash that combines Android and ChromeOS;—Fuchsia
In August 2016, a project called Fuchsia (https://github.com/fuchsia-mirror) appeared quietly on GitHub, a world-renowned developer community, and its details can be linked directly to Google. The Git source library (https://fuchsia.googlesource.com/), Fuchsia was exposed. It is understood that the Fuchsia operating system does not use the Linux kernel like Android and ChromeOS, but uses a kernel called "Magenta", which is built on top of "LittleKernel" (LK), mainly using C and C++ languages. Written, this is a small kernel designed for embedded devices and a competitor to real-time operating systems such as FreeRTOS or ThreadX. However, in 2017, “Magenta” was renamed “Zircon”.
The Linux kernel was abandoned in the new system because today's Liunx kernel contains 15 million lines of code, many of which are not required for the Google operating system. And so many lines of code represent a huge attack surface, although Linux distributions are generally considered more secure than Windows and macOS.
The new operating system Fuchsia's kernel Zircon is built on LK (LittleKernel), but it is very different from LK. Many, LK is designed for devices with a small amount of RAM, and Zircon is aimed at devices such as smartphones and PCs with more RAM and higher processing power. Zircon also supports system processes, while LK does not. However, Zircon processes consist of LK-level constructs such as threads and memory.
Compared to LK, Zircon also has first-class user mode support, an object processing system, and a feature-based security model. Security should be similar to Android's permission model. However, it may be more restrictive because the new architecture was created from scratch and takes into account the “least privilege” security model. It is understood that the Fuchsia operating system will support 32-bit and 64-bit ARM devices (including RaspberryPi3) and AMD64 architecture.
In addition, the biggest advantage of the Fuchsia system is that it can be used as a cross-device operating system that combines Android and ChromeOS, which divides the operating system into two separate user interfaces, depending on the hardware. According to 9to5Google, Fuchsia consists of two distinct but interrelated user interfaces (UIs), a mobile-centric UI codenamed "Armadillo" (also known as Fuchsia's system UI), and a traditional one. The desktop UI, the internal code name is called "Capybara". The interface and system applications are written in Google's FlutterSDK, which provides code that runs across platforms, Android and iOS. FlutterApp is written in Dart.
Fuchsia or will support Java!
At the same time, foreign media 9to5Google also said in the latest report that in the Gerrit source code management of Android, someone found Google's submission record, the submission record shows that Google has been handling the compatibility of Fuchsia with Android's Libcore privately, they are now It is being made public.
Libcore is the foundation of Android's use of Java. It is worth noting that most of Libcore has added compatibility with Fuchsia, which is called 'ojluni', which stands for OpenJDKLang, Util, Net, and IO. These are the four basic parts of implementing Java with the open source OpenJDK. At the very least, this indicates that Fuchsia will eventually run Java code.
In addition, the submission record itself did not reveal any other interesting details. It only adjusted some of the code that needed to work for Fuchsia and Zircon and not for Linux and Android. However, there are currently no matching changes in Fuchsia's code to indicate its exact purpose.
To put it simply, this is the follow-up to the introduction of AndroidRuntime to Fuchsia earlier this year. On the other hand, this may be Google's effort to run Java on the latest operating system.
Why does Google need a new operating system?
Written here, perhaps many people still do not understand, is it because Android is sentenced to monopoly, Google will give up the world's largest operating system this fragrance? In fact, Google's weakening of the Android brand is not a day or two. CSDN also summarized Google's actions on Android and issued "Google wants to give up Android?" The question, in response to this, some netizens @xg15 said:
“Google is currently maintaining three different operating systems: Android, Chrome OS and now Fuchsia—— There have been a lot of news in the past that they might unify them.
So my guess is that they either don't emphasize Android anymore, want to weaken the impact of previous operating system fragmentation leaks, or they really plan to give up the Android technology base at some point. ”
And even if it weakens Android, why does Google even have to abandon the Linux kernel to use the new kernel? In this regard, foreign media Tomshardware analyzed the main reasons, there are three:
Start from scratch
Once the mobile Internet was in the midst of a transition to the Internet of Everything, Google wanted to create an all-encompassing operating system that needed to be thin enough to handle everything from IoT devices to PCs. In short, you can think of it as a thinner version of Android (the mobile operating system for the Internet of Things) and Windows (the desktop operating system for mobile and IoT).
For a long time in the past, Google has accumulated a wealth of expertise and expertise in building operating systems, and now aims to use all of this knowledge to create a new operating system that is free from past errors and legacy code. This is a new beginning and can benefit from all the latest research in developing modern operating systems.
Open the gap with Java, control the programming language
Second, in March of this year, Google and Oracle entangled the "Java infringement case" for eight years. Eventually, Google was annoyed that the US Federal Circuit sentenced it to compensate Oracle for $8.8 billion, of which Oracle believes that Android copied the part of the Java project.
But even without litigation, Google doesn't have the language development freedom of Apple (Objective-C and Swift) and Microsoft (C#). So, developing a new generation of operating systems, Fuchsia, is also a programming language opportunity that Google can choose to better control.
Previously, Google has created two languages, Go and Dart. It now appears that Google seems to choose Dart as the main application development language for Fuchsia, and they may end up expecting all Android developers to use Dart to develop applications.
Reducing fragmentation problems like the old system Android
Open source Android is not as easy to manage as a closed source iOS system. Android's update mode is especially a headache for Google. The speed at which Google fixes Android vulnerabilities is almost irrelevant, as mobile phone manufacturers and operators can roll out system updates themselves. This is often said to be Android fragmentation.
ChromeOS has escaped the nightmare of this update, because although the core code behind it is open source (ChromiumOS), the commercial ChromeOS itself can only be modified by Google. This gives Google full control over the update cycle.
The future of Fuchsia
So far, Google's attitude towards its next-generation operating system, Fuchsia, is very low-key. So how big is the winning face for such a project?
Previously, Dave Burke, Google's vice president of Android engineering, explained to the Fuchsia system that Fuchsia was an early experimental project, and there are many such experimental projects within Google. Because of the early projects, there are still many variables. .
Indeed, domestically, there is still no real domestic mobile operating system to compete with Android and iOS. In addition to factors such as scarcity of talents and huge financial resources, it is important to systematically address the issue. Even if Google is successful in Fuchsia, if you can't smoothly transition more than 1 billion users, developers, and manufacturers on Android, the final outcome may only end in failure like Microsoft's Windows Phone.