Linux’s original creators still have plenty of creative energy after all these years. The newest releases will improve both speed and stability.
All 500 of the world’s fastest supercomputers, the vast majority of public cloud services (including Microsoft Azure), and 74% of smartphones are all powered by Linux. Actually, Android has helped Linux overtake Windows as the most popular desktop OS, with 39% of users reporting it as their primary OS versus 35% for Windows.
When it comes to the future, where do you see Linux? As someone who has covered Linux for nearly all of its 29-year existence and who is personally acquainted with nearly everyone of note in the Linux development community (including Linus Torvalds), I like to think I have a good idea.
Recent Linux kernel improvements
Recent improvements include Linux becoming the standard platform for VPNs, which is by far the most significant (VPNs). Although Linux has long been a major VPN player, thanks largely to OpenVPN, the advent of WireGuard, a revolutionary approach to VPNs, completely alters the landscape.
“Can I just one again declare my love for it and hope it gets merged soon?” Torvalds gushed about WireGuard. Linus always gets what he asks for. In March of 2020, Wireguard was integrated into the mainline Linux 5.6 kernel.
In what way does this matter significantly? WireGuard has an impressively uncommon trait for a security programme: its code is both clean and simple. It also includes modern cryptography algorithms as Noise protocol framework support, Curve25519, ChaCha20, Poly1305, BLAKE2, SipHash24, and HKDF.
What’s more, it’s significantly faster than its competitors, which is a huge plus for end consumers. By some measures, WireGuard is twice as fast as OpenVPN. Even though it is hosted on Linux, it may be accessed from any platform, including Windows, macOS, BSD, iOS, Android, and of course Linux itself.
There were also a number of other substantial changes in the Linux 5.6 kernel. First, Linux fixed its “end of time” problem for users still using 32-bit computers. On Tuesday, January 19, 2038, at 3:14 p.m. Greenwich Mean Time (GMT, also known as Coordinated Universal Time), the world will end.
In 32-bit Unix-based operating systems, such as Linux and previous versions of macOS, the value for time will soon exhaust the available 32 bits. They’d use negative numbers to begin a countdown from the present. And here you were worried about the Y2K problem.
Unix, Linux’s parent operating system, uses the Epoch time of 00:00:00 GMT on January 1, 1970 as the starting point for counting seconds. The catch was that, because Unix was originally designed as a 32-bit OS, it tracked time as a single signed 32-bit integer. It’s a long time in terms of seconds, yet it’s not enough. With this patch, even 32-bit Linux may make the transition to 64-bit computations. This, of course, merely puts off the inevitable until Sunday, December 4 at 5:30:08 GMT, or 29,227,702,659. Personally, I have no problem with that.
Android and Linux get into sync
Android is widely known in the operating system community as a mobile-focused Linux distribution. What many people don’t realise is that Android originally developed as a Linux derivative. After 10 years of trying to get back on the same page, Android and core Linux developers have finally started working together again. We’re seeing a shift in that regard.
Linux kernel developer and author Jonathan Corbet stated in his yearly Linux Kernel Report that the “They will monitor the stable upgrades until the most recent stable kernel is included in the Android generic system image. What this means is that they’ll be lot more advanced than they were before.”
That might not seem significant, but it is.
And here’s why. There are now three steps that must be taken before Linux may be installed on your brand new Android phone. To begin, Google starts with a kernel that has been maintained for a long period of time (LTS) and adds Android-specific code to it to create the Android common kernel. After that, Google sends the Android common kernel to a system-on-a-chip (SoC) vendor like Qualcomm. The OEM modifies the kernel to work with a particular system-on-chip (SoC) and chipset. The smartphone maker receives the SoC kernel at the end of the process. Afterwards, the maker instals its own custom drivers for the screen, camera, and Wi-Fi/cellular modem. Your phone runs off of the device kernel shown here.
There are literally millions of lines of kernel code that aren’t included in the standard release that get picked up by every phone along the way. Device drivers make up the bulk of this. Every model of Android phone or tablet has its own unique set of drivers. That’s why making a true universal Android smartphone distribution, such as the /e/ operating system, is so hard. In what way? Your shiny new phone is running a Linux kernel that’s two years old. It’s because of these ancient kernels that Linux LTS kernels now come with six years of support.
Google and the vendors are no more eager than you would be to backport security patches to dusty, old kernels. So Google, along with the developer community, is trying to bring the shipping versions of Android in line with mainline, current Linux kernels.
This is going to take a while. A pair of eternal Android problems—the refusal of Linux developers to support a stable application binary interface (ABI) and the equally firm refusal of hardware vendors to open source their drivers—are still with us for the time being. An ABI defines how a program works with hardware when you don’t know how to work with it at an application code level. Open source developers want to work at an API level, while vendors all too often want to keep their devices mysterious hidden data that can be reached only by an ABI. Despite this, we’re finally closer to speeding up the integration of Linux in the Android production pipeline. This means Android will be more secure out of the box.
eBPF: The network firewall that became a Linux debugger
Corbet also discussed the growing use of the advanced Linux kernel debugger tool known as the extended Berkeley Packet Filter (eBPF). Surely you must be wondering how on earth that could take place! In this manner.
eBPF is capable of packet capture, filtering, and blocking much like any other firewall, but it does it by executing user-space code in an in-kernel virtual machine. Okay, now you’re starting to get it.
By triggering its execution on certain tracepoint, kprobe, or perf events, eBPF can be used to monitor and analyse performance data. You may now analyse performance and debug kernel issues. Plus, new debugging code can be written, added, and tested without requiring a recompile of the kernel because eBPF programmes have access to kernel data structures. This is a huge help to the development team. The power of eBPF is now being used by system administrators and programmers outside of the Linux kernel’s inner circle.
Rust becomes Linux’s second language
For as long as there has been a Linux kernel, or anything that runs on a similar architecture, C has been the language of choice for developers. Actually, one could claim that Linux is keeping C relevant. No longer do I have to do it.
They discussed adding Rust as the kernel’s second language at the virtual 2020 Linux Plumbers Conference, where the top Linux kernel developers discuss Linux’s future.
This high-level system language, known as Rust, is supported by Mozilla, the company behind Firefox. Despite what you may have heard, this idea has a lot of backers. Torvalds is confident that Rust will not replace C and C++ in the Linux kernel. That said, it’s not the intended outcome. The 25 million lines of C in the kernel won’t be rewritten in Rust.
The proposal to use the system-level Rust language inside the kernel was spearheaded by Josh Triplett, the Rust language lead, and Nick Desaulniers, a Google engineer. Why? Mainly because it’s substantially more secure than C when working with memory.
According to Microsoft’s lead cloud developer advocate Ryan Levick, “Rust is entirely memory safe.” This is a huge step forward, as memory handling problems account for nearly two-thirds of all security flaws. Rust, he continued, “prevents those issues frequently without introducing any runtime overhead.”
Torvalds can see the benefits. While he advocates for a gradual integration of Rust into Linux, he has also stated that drivers and other non-essential kernel programmes could benefit from Rust interfaces “I have no doubt that this will occur. In the future, we will have a variety of alternatives to C as a model for creating such applications, albeit it is possible that this alternative will not be Rust.”
Though progress is slow from the core kernel team, alternative Linux distributions have wasted little time in embracing Rust. The recently released Bottlerocket Linux for containers by Amazon Web Services (AWS) is primarily built in Rust, the company stated.
Like Microsoft and Firefox, to mention two others embracing Rust into their development plans, AWS appreciates Rust for its memory security characteristics. It “helps assure thread safety and minimise memory-related issues,” as explained by Samartha Chandrashekar, an AWS product manager. “These errors typically involve memory, and can result in things like buffer overflows, which can leave your system vulnerable to attacks.”
Future projections show that Rust will soon be a crucial part of Linux kernel and distribution development. Who would have ever believed that C would be supplanted in even a little way in these programming circles?
Linux 6.0 Kernel and beyond
Version 6.0 of Linux is expected to be released by the year’s end. Try not to read too much into the figure. According to Torvalds, “I’d want to stress out (yet again) that we don’t do feature-based releases, and that ‘5.0’ doesn’t represent anything more than that the 4.x numbers started growing huge enough that I ran out of fingers and toes.”
In the future, much of Linux 6 will be devoted to new and enhanced device drivers, as it has been for nearly all previous Linux releases. All eyes, however, will be on the possibility that Linux may soon support the AMD and Intel FSGSBASE instruction set. If you weren’t already a dedicated programmer, I simply lost you. The significance of Linux’s support for this chip’s instruction set is as follows: Increases in speed are to be expected on your machine.
How much quicker is it, exactly?
The initial Linux 5.9 beta has shown significant increases in I/O benchmarks. Redis, an open-source, in-memory data structure store frequently used in place of a database, increased performance by more than 50%. That’s not bad at all!
To sum up, Linux is getting faster and safer all the time. And, as incredible as it may sound, Linux’s continued market expansion is a direct result of the addition of WireGuard VPN.
I don’t know. Maybe Linux desktops will become popular in 2021. Indeed, 2020 was the year that Linux finally made it on Windows desktops.
Linux on the Windows desktop.
What’s new in Linux: Lessons for leaders
- In general, the performance of systems using outdated software is poorer than it could be.
- It’s undeniable that Linux is just one example of how new generations of software usher in exciting new possibilities for both industry and commerce.
- As a technology, operating systems are far from perfect, and there is certainly room for advancement.