Exactly a week ago, the network
appeared information about the new operating system, which is developed by Google. This OS, unlike the company's previous projects, is not based on Linux. Fuchsia is being developed from scratch, taking only (L) ittle (K) ernel and Magenta as the basis.
Initially, experts have suggested that the new product is designed exclusively for the “Internet of Things”. But it turned out that Fuchsia is also suitable for installation on full-fledged workstations. So this is still a project and why is it needed? The situation was clarified a little by
Gary Sims (Gary Sims), who compiled and studied the features of this operating system.
Putting Fuchsia
Sims compiled the OS (build instructions are
here ) on a computer with a 64-bit version of Ubuntu. In addition, it can also be done in an OS X or PC environment with virtually any Linux distribution.
')
As mentioned above, Fuchsia consists of two parts. This is (L) ittle (K) ernel, a small and fast OS created for IoT devices. The core size of this OS is only 15-20 KB, the source code can be
studied here (distributed under the MIT license). The second part is Magenta, which is used in modern devices with a powerful (compared to IoT systems) configuration. Thus, Fuchsia is a hybrid system that can work on IoT devices and on modern PCs or phones. The OS supports Dart, JSON, SSL, Google GO, LLVM and Rust.
Fuchsia needs a number of software tools and libraries to build, including the simple “mxsh” command shell. After all this is received, you can collect LK / Magenta. If everything is ready, you can download and Magenta.
Launch Fuchsia OS
The easiest way to run Fuchsia OS is to use
qemu , this is a free open source program for emulating the hardware of various platforms. It includes emulation of Intel x86 processors and I / O devices. Fuchsia sources contain their own copy of qemu, which is compiled during the overall OS build process.
When loading Fuchsia, we get a large number of debug messages that appear during the OS boot. The first message welcomes the user with the message “welcome to lk / MP”, after which a number of subsystems necessary for starting the OS are initialized. After that comes the definition of the processor, network devices and other elements of the system. If everything went smoothly, the user gets access to the mxsh shell.
The shell contains a number of built-in commands, including cd, cp, echo, ls, and rm. If you decide to type a word that is not a command, the shell will try to find and run the program of the same name from the / boot / bin / directory. There are many different executable files in this directory, most of which are designed to test the performance of Fuchsia. There are program files like fortune and cowsay.
Fuchsia supports the Dart programming language created by Google. Initially, it was positioned as a replacement for Javascript. Now Google uses this language for its own projects, including Adwords. You can work with Dart either by compiling the source code in Javascript, or by working with your own Dart VM system. The second method is used in Fuchsia.
In order to test the compiled OS, you can run the Dart script from / boot / apps. It is called hello_fuchsia.dart. If everything works correctly, “Hello, Fuchsia!” Appears in the console.
What is all this for?
The mere fact that Fuchsia can display a text phrase means that it is a complex OS capable of providing an interpreter and a script. As you can see, compilers C, Java, etc. not here, but Dart is and works. Since the corporation has invested a lot in the development of this programming language, we can expect that Fuchsia and Dart will be widely used on various systems in the future. It can be an IoT device, a household gadget, a virtual reality helmet, etc.
In Fuchsia, Flutter is used to create the user interface. Escher is also found, supporting a range of visual effects. This may mean that Google engineers are planning to use Material Design in their new system.
Fuchsia is still unclear about a lot. The main question still remains the same - in which systems are you planning to use this OS? To expect that it was created as an alternative to the Android OS is not worth it, because in order for a software product, in particular, an operating system to become successful, you need an active developer community, an application catalog, etc. Google has invested hundreds of millions of dollars in Android and is unlikely to change anything.
Regarding this OS, there is another interesting theory. Perhaps Google is developing Fuchsia in order to have an operating system with which there will be no problems in terms of intellectual property. The corporation develops this platform independently, from scratch, so there are no elements in it that are someone's intellectual property. In Android, for example, there are such elements, and there are quite a few of them, which
caused some problems.
One thing is for sure - Fuchsia is already up and running. There is no graphical user interface yet, it may not be there. The number of commands and supported libraries is still very limited. The Fuchsia developers
promised to post the full project documentation soon, telling about all their plans during the announcement. In the meantime, the company's plans can only be guessed.
Maybe we all are witnessing the emergence of one of the most common operating systems in the future (you can draw an analogy with the advent of Linux). But we can not exclude the possibility that Fuchsia is a purely academic project, an experiment that was decided to be held at Google at the local level and which was accidentally known to third-party developers.