Last week, Google employees did something that they could not understand: they quietly announced they were developing an operating system that, in theory, would be a rival to Google's Android.
The open source operating system, codenamed Fuchsia, can be installed on a variety of lightweight, single-purpose devices, such as ATMs and GPS devices, while also supporting PCs. Unlike Android, however, Fuchsia is not based on the Linux kernel, nor does it derive from other modern PC or mobile operating systems. In fact, this is a work that starts from scratch.
Google did not say what it would use fuchsia to do. Fuchsia is still in its early stages of development and may be just one attempt. However, Google has a good reason to "restart" a quiet decade of software development.
"Shell-hard" core
You may not be aware of some aspects of your phone, tablet, or notebook: the "kernel" of these device operating systems is very old. Android uses the Linux kernel, a kernel that originated in the 1991. Mac OS X, IOS, and other Apple platforms based on the Unix kernel, Unix originated in 1969 at T-Bell Labs. Windows computers use the Windows NT kernel, which dates back to 1993.
The purpose of the kernel is to manage the bottom of the operating system. The kernel handles requests from hardware devices such as keyboards, dispatches compute tasks, and manages file systems and memory. Due to the existence of the kernel, if an application wants to invoke the print function, then the developer does not need to know the specific model of the printer.
The existence of a kernel such as Unix, Linux, and Windows NT is contradictory for a perfect industry. But Horace Dediu, a well-known industry analyst, points out that at the bottom of the Hollas Dediu, there is no difference in how it is calculated compared to decades ago. For example, the current Windows computer uses a chip with the Intel processor same strain in the first generation of IBM PCs. In this sense, the kernel is universal.
"We are still using the same architecture, and the concept of computation has not changed: registers, gate circuits, transistors," Dediu says. Therefore, we do not need to study the better kernel. The kernel has been fully developed. ”
Perhaps this is what most people in the industry think. At the moment, however, we are integrating sensors and computing components into more devices, such as turning ordinary home appliances into smart homes, so that everything is networked (ie, the internet of Things). Perhaps the logic behind Fuchsia is that old kernels, such as Linux, do not apply to these new devices. As a result, developers are envisioning a more modern kernel. (The kernel itself is named Magenta, and Magenta is based on another Google experiment Littlekernel.) )
Zach Supara (Zach Supalla) from particle points out that Linux poses a problem for these small computing devices. Particle offers IoT hardware kits and developer tools.
On the one hand, the size of Linux is too large for these applications. Although the Linux kernel is modular, developers can peel off unwanted components, but ultimately this still requires a storage space in megabytes. This means that the Linux kernel is hard to use on inexpensive microcontrollers. If you want to use the Linux kernel, developers must choose a larger, more expensive, more energy-efficient processor.
"The market needs products with better quality and lower prices, but such needs have not been met," Suppala said. ”
On the other hand, Linux is not a "real-time" operating system. Linux uses scheduling algorithms to manage multitasking compared to embedded operating systems in ATMs, medical products, and other single-purpose devices. While this can maximize the performance of a general purpose device, it also poses a problem for devices that require precise timing, such as 3D printers, as well as automotive engine control.
"If you want to make sure that these tasks have microsecond time accuracy, you don't want your computer to decide when to work on which task," Suppala says. ”
For IoT devices, Linux-like general purpose operating systems are also less secure. This is a lot of operating system code, which means more information security breaches are likely to be addressed, or they need to be locked through firewalls and VPNs.
"One of the values of running a real-time operating system or embedded operating system is that you don't need to do any locking," Suppala says. You don't need to worry too much about these systems. These operating systems cannot run anything other than the software you write. ”
Suppala guesses that the goal of Fuchsia is to combine the advantages of Linux with the current embedded systems, such as FreeRTOS and THREADX. Linux is still better than most systems to support applications and hardware to communicate through the operating system.
"They may want to draw on some of the abstractions of Linux, as well as the performance, size, and real-time nature of RTOs," he says. It would be valuable, I think, from the theory that it can be done, but no one has done it before. ”
Expansion of the scale
If fuchsia only targets small devices, it may not be so interesting. However, Fuchsia's developers have more ambitious goals. They say the operating system will also be used for smartphones and PCs. In theory, this would be a direct competitor to Google's Android and Chrome OS.
So, what is the motive for doing so? Suppala believes that developing from scratch will bring more efficient operating systems, which can also improve server efficiency. This is a problem that Google has long been concerned about. He also said that support for PCs meant that developers could simulate running a large number of small devices at the same time, ensuring that the equipment was running at scale.
"You can build thousands of servers, each running thousands of copies of the software application at the same time," says Suppala. Therefore, the support for the PC means that it is more suitable for testing. ”
Dediu have different views. Google's new operating system will address the issue of Android intellectual property rights that have plagued Google for a long time. "Since this is a completely new design, there will be no controversial intellectual property rights," he said. This is a reasonable assumption, because the intellectual property issues of Linux are complex. ”
However, all of this remains in theory. Fuchsia's developers say they will eventually release the operating system and related documentation, but this may be far away. It is unclear whether Google will devote resources to the work. The Android ecosystem is very large (and is merging with Chromebook). Meanwhile, Google is also developing the IoT operating system based on Android, the Brillo. This is forming a complete platform, not just a simple operating system.
Initially, Unix was just a volunteer program at Bell Labs and was not recognized by any organization. Linnas Tovaldes (Linus Torvalds) initially developed Linux as a sideline. Perhaps in the next few decades, we can also fuchsia how to originate from Google. (Lili)
The above article is reproduced by the short URL
Now that you have Android, why do you want to start developing a new operating system from scratch?