Linux: Exploring its History, Evolution, and Adoption

Episode 3   Published March 26, 202420 minute watch

Episode Summary

In this podcast episode, Landon Miles discusses the basics of Linux, its history, and its various use cases. Linux is an operating system consisting of two main parts: the Linux kernel and userspace. The kernel acts as a bridge between computer hardware and applications, while userspace is where users directly interface with their computers. Linux is highly customizable and efficient across various platforms, making it suitable for a wide range of applications. It is used in Chromebooks, Android phones, web servers, and even on Mars. Linux is known for its stability, resource efficiency, and the ability to patch without rebooting. It is used in servers, embedded systems, AI models, and the film industry. There are various Linux distributions available, each offering a unique user experience. Ubuntu is recommended for beginners. Linux provides a world of freedom, customization, and innovation, making it a great choice for those looking to explore alternative operating systems.

Read the Hands-on IT Transcript

Welcome back to the Hands-On IT Podcast, I’m your host, Landon Miles. This month at Automox, we’re diving deep into one of my all-time favorite topics—Linux. It's a subject close to my heart, and I've been eager to share this with you all since the inception of this podcast.

We'll cover its fascinating history, its various uses, and even share some insights from other content released by Automox over the past month that you might have missed.

What is Linux?

Before we get ahead of ourselves, let's tackle the basics—what exactly is Linux?

Linux is an operating system - like macOS or Windows.

There are two main parts - and naturally, to limit the amount of confusion… both are commonly referred to as…. Linux. The two main parts of Linux are the Linux Kernel and user space (sometimes also called userland, but everyone knows that space is cooler).

The Linux Kernel:

The Kernel is the core element of the Linux operating system, acting as a bridge between computer hardware and the applications running on the system. It manages system resources effectively, allowing software and hardware to communicate through its system calls.

Developed originally by Linus Torvalds and first released in 1991, the kernel has evolved through open-source contributions from developers around the world, making it highly customizable and efficient across various platforms.

The Linux Kernel supports a modular approach, allowing functionality to be added or removed according to user needs.

Linux User space:

The user space is the environment where users directly interact with their computers, whether it's through the command line for server management or use with graphical desktop environments for day-to-day tasks. This layer, sitting atop the Linux Kernel, functions as the intermediary, translating user commands and actions into instructions that the kernel can process and execute.

Interestingly, many of us interact with Linux more often than we realize. For instance, Google's ChromeOS, which powers the increasingly popular Chromebooks found in schools, is based on the Linux kernel. This means that for many kids today, their first introduction to a computer is through Linux. And it doesn't stop there—Android phones, Roku TVs, and even the technology-driving web servers across the globe are all powered by Linux.

Linux has also made its way to Mars - with the Ingenuity Helicopter! Linux is an integral part of our digital lives, often running quietly (and reliably) in the background whether we know it or not.

My History with Linux

I started using Linux in 2011. Now, I’ve always been a serial tinkerer. I’ve mentioned it before, but I love computers, and have been playing with them since about the time I could walk. From MSPaint on Windows 95, to everything in between. I distinctly remember the first time my dad looked up something on the internet.. It was 1996, and we’d just gotten back from a walk where we saw several snakes basking in the sun. A quick search of AskJeeves - (This was pre-google!) and it turns out they were copperheads. It also confirmed that it was probably the right decision to turn around and not get any closer to the snakes.

Nothing I’ve ever owned has ever been safe from a screwdriver. From taking apart toys, to brand new guitars, to the dash of my car, anything I could learn from, I’d take apart.

I’d used Mac, I’d used Windows, and I was curious to see what the other alternatives were, and wanted to play with my computer. What other problems could I solve with my computer? What else can I do? To be honest, the journey started when I was flipping through channels (back when we did that) late one night (still in High School), and came across a clip from the Big Bang Theory where they were discussing Linux. “Worth a Google.” I thought. And then, it took me down a much longer path than the 30 seconds I spent on the channel before flipping to the next one.

Laugh tracks, and my questionable taste in TV shows as a 17 year old aside..

So, that’s a brief version of my history with Linux, and why I love it. So, let’s look at the real history of Linux.

The History of Linux

To understand Linux's origins, we need to journey back to the late 1960s at AT&T Bell Labs, where Unix was born. Unix introduced many revolutionary concepts that we take for granted today. Like multi-user and multitasking capabilities, hierarchical file systems with volumes that could be unmounted, The ability to initiate asynchronous processes… These features helped lay the groundwork for modern operating systems.

Originally written entirely in assembly language, Unix was rewritten in C in the early 1970’s, which promised compatibility with other systems.

Unix was formally released in the 1973 Symposium on Operating Systems Principles - in a paper given by Ken Thompson and Dennis Ritchie - two of the main contributors to the Unix operating system. This paper is linked in the show notes, and makes for an interesting read. Word of this innovation spread quickly.

A fun piece of computer lore… Due to the outcome of a 1950’s antitrust case, Bell Systems (AT&T) couldn’t enter any business other than "common carrier communications services" - or telecommunications. Phones. So, Unix could not be turned into a product. But, that didn’t stop the requests from coming in…

Ken Thompson quietly began answering requests for more information about Unix, or how to get Unix, by shipping out tapes and disks, each accompanied by – according to legend – a note signed, "Love, Ken". Eventually, AT&T would license Unix for the cost of shipping.

Because the company widely and inexpensively licensed Unix, by the early 1980s thousands of people at AT&T and elsewhere were using Unix.

As computer science students moved from universities into companies they wanted to continue to use it. Observers began to see Unix as a potential universal operating system, suitable for all computers. Less than 20,000 lines of code – almost all in C – composed the Unix kernel as of 1983, and more than 75% was not machine-dependent.

Then, 1984 rolled around. Bell Systems divested its companies, and guess what? AT&T could sell Unix now. They no longer freely offered the source code, which began to fragment Unix, and caused incompatibilities.

But wait, also something else quite important happened in 1984… Larry Wall (a computer programmer) developed the patch utility. This patch program was a simple tool that applied code changes to a base file, meaning that Unix developers could cooperate by passing around patches, rather than entire code files. That being said - on behalf of all of us at Automox… Thanks, Larry. (Also, another future potential guest)

So, compared to today, the internet (and data transfer speeds) were VERY slow at this time. The innovation of patching was important not only because patches are smaller than full files, but because patches would often install cleanly even if much of the base file had changed since the patcher fetched the patch.

Back to Unix.

Despite its many innovations, Unix was now not freely available, this led Linus Torvalds, who at the time, was a computer science student at the University of Helsinki, to begin the development of a free alternative in the late 1980s. He had seen the benefits Unix gained from having its source code publicly available, and the detriment it had from being closed off.

So, driven by angst towards the expensive and restrictive nature of proprietary operating systems, our buddy, and potential future guest of the podcast, Linus Torvalds, set out to create what would eventually become the Linux kernel.

In 1991 he released an announcement on a new free operating system he had been working on—Linux. The announcement was made on Usenet… (Usenet is kind of like the grandparent, or great-grandparent to Reddit)

Since then, Linux has kept momentum.

So, The Linux Kernel still remains in active development and has had over 15,000 contributors in its 30+ years of existence. The beauty of open-source software is that anyone can work on it. From companies like Microsoft, Texas Instruments, Red Hat, and Canonical, to, well, you.

Linus was 22 when he released the original version of the Linux kernel.

If you notice a bug or want to add a feature, you can. (Pending approval, of course.)

Another point of interest - fed up with managing the source code of the Linux kernel, and the requests of thousands of developers, Linus Torvalds needed a solution. His solution… to develop and create a way to manage code - which was Git. (which is used by Github, and many other code management solutions)

So, that’s the history of Linux, but why and where is Linux used?

Why and Where is Linux Used?

Other than most Linux distributions being free.. One of Linux's greatest strengths is its versatility. It can power anything from the laptop collecting dust in your attic to sophisticated servers running the backbone of the internet.Linux's reliability and efficiency mean it requires fewer resources, making it an ideal choice for reviving older hardware.

Stability

Linux is also known for its stability. If an update or software patch is applied, oftentimes it can be done without rebooting. No one likes server down time, and the ability to patch without rebooting is an important part of Linux’s stability.

The way Linux manages processes and memory is also different, as it assigns priorities to system processes to improve overall stability.

Web Servers

Linux runs the web. Almost every major streaming platform uses Linux servers. Some figures state that 95% of the top million websites worldwide use linux servers. It’s everywhere.

Servers

Need to spin up a quick server in the cloud? Most likely, you’ll be using linux. Amazon Web Services has their own distribution, and strangely enough, Microsoft even has their own version of Linux (Azure Linux) for their cloud. Microsoft even uses Linux to run a lot of their cloud infrastructure. The ole “If you can’t beat em, join em”

Need a local server for a database, project, or anything else? Many linux distributions are free to use, and this is a great application.

Embedded Linux

Linux’s ability to be customizable and its stability makes it a great choice for embedded systems. Unlike general-purpose computers that can run a wide range of applications, embedded systems are designed for a particular application or part of an application. From cars, to in-flight entertainment, Roku Streaming sticks, industrial automation, audio mixers, IoT devices … we could go on and on.

Linux is used here.

Want to train a LLM, or an AI model? Linux is your best bet.

Film Industry

Linux is also used extensively in the film industry. Software like Davinci Resolve and Blender were originally designed for Linux, and often perform better in Linux than other operating systems.

Fun fact: Titanic was the first major motion picture to be produced on Linux servers. Pixar, Dreamworks, Industrial Light & Magic all use Linux.. Pixar’s render farm is said to be linux based.

That’s a whole lot of linux. It’s dependability, flexibility, and ease of customization make it great for just about every application..

Understanding Linux Distributions

Now, imagine Linux as ice cream. The kernel is the base for ice cream—it’s the milk, cream, and sugar.

Then there are flavors - like chocolate, vanilla, or cookies and cream, representing the different distributions built on top of the kernel. Each distribution, or 'distro', offers a unique taste, but at its core, it's still ice cream.

While the kernel remains rather unchanged, the user space is modified.

Many companies have built business models around developing operating systems around the linux kernel. (Canonical, Red Hat, Suse). Often times, these are free to download, but will offer paid support options.

Linux Server vs. Linux Desktop

While Linux servers are the powerhouse behind many of the internet services we use daily, Linux desktops provide a user-friendly interface for personal computing. The main difference lies in the inclusion of a desktop environment, which shapes the user experience.

Linux desktop distributions include a desktop environment, commonly referred to as DE’s. A desktop environment is what you think of when you use a computer. It’s where you interact with everything - graphics, menus, icons, graphical user interfaces, that’s the desktop. With Linux, there are always a lot of options. Common desktop environments include Gnome, cinnamon, KDE Plasma, Mate, and many others.

For some reason, Linux also has a long and storied history of pronouncing words differently. For example, Mate is spelled the same as mate. GNOME is spelled the same as Gnome, like a garden gnome. But… It’s Guh-Nome. .

Linux Server distributions typically do not include these desktop environments, and are typically managed through command line. Linux servers are dedicated towards stability, and resource utilization. If it’s quietly working away in the background, it doesn’t need the resource drain of a desktop environment.

Whether you're a seasoned IT professional or a curious newcomer, exploring the various desktop environments and Linux distributions can help you understand the flexibility and power of Linux.

Getting Started with Linux

So, maybe I’ve sold you on Linux, and you’re wondering where to start. If you're intrigued and ready to dip your toes into the world of Linux, here's how to begin: grab a flash drive and select a Linux distro (or a few) to try out. Creating a virtual machine (VM) or booting your PC from a Linux USB are excellent ways to explore without affecting your current setup.

If you’ve never tried it before, start with a Linux Desktop version. It’s fun to play around with. If you like, maybe install it on a partition of your drive, or on an old laptop or computer.

You'll quickly discover that the Linux desktop is not only powerful but comes with some really neat features designed to enhance your computing experience. What distro to start with? Everyone you ask will tell you differently. But to make it easy for you - if you’re just starting out, try Ubuntu. It’s easy to use, and there’s a bit less of a learning curve.

Arch Linux, Manjaro, Mint, Fedora…. There are a lot of options to choose from.

Once you’ve gotten yourself familiar with using Linux, try out a server distribution. Come on over to the darkside, and build yourself a home server. It’s awesome. But be careful. What starts out as a place to play becomes something you rely on, and then you’ll find yourself needing a home lab for your home lab. It’s a lot of fun.

In my opinion, tinkering and the drive for finding solutions is one of the most important skills you can learn.

So, to wrap up. Linux is much more than just an operating system; it's a gateway to a world of freedom, customization, and innovation. Whether you're building a server, reviving an old laptop, or simply curious about alternative operating systems, Linux offers a rich and varied landscape to explore. So why wait? Start your Linux journey today and unlock a whole new realm of possibilities.