A Look Inside Linux series
A series of short topics on how Linux works and how to make it work the way you want it to, which I present during the weekly sessions of the Linux User Net. The target audience is Hams who are new to Linux and want to know more about it, as well as experienced Linux users who can learn more about their chosen operating system. These are my notes for the presentations. (Russ, KC7MM)
5. What kind of computers can Linux run on?
The short answer: just about anything.
Because Linux is FOSS (Free and Open Source Software) and the source code is available for use, and because it has a modular design, it can be adapted to run on just about any type of computer.
Compare that to MS Windows, which runs only on Intel-based systems, and OSX, which runs only on Apple-manufactured hardware.
So, we Linux users are blessed with an enormous variety of computing platforms to choose from in meeting our computing needs. But, to take advantage of that, we have to be able to identify the type of computer that is right for the job at hand.
Understanding what I mean when I say “type of computer” requires some knowledge of computer architecture. Architectural differences distinguish one type of computer from another. Understanding these distinctions enables us to determine the right computer for any job, together with the right version of Linux to run on it.
A little CS101: Computer architecture
Computer architecture is the combination of computer hardware and embedded software that governs how the hardware functions.
Architecture is hardware
Every computer is implemented through electronic circuits that are designed to perform specific operations which, in combination, make up a complete general-purpose computer.
A CPU contains a Control Unit, Arithmetic and Logic Unit (ALU), data registers, internal busses, interfaces, cache memory, ROM for software that manages the CPU. All are implemented as logic circuits on the IC chip.
The distinguishing features of CPU hardware:
RAM (Random Access Memory) provides temporary storage of data while the computer is running.
to move between components, e.g., DMA, PCI), A data bus
is the path over which data moves between the system's components.
I/O interfaces: Ports that give access to external devices, such a monitors and keyboards, disk drives for storage. Examples: USB, SATA.
Usually all of these are on one printed circuit board (motherboard), or even one IC chip (SOC).
Architecture is software
Computer hardware is useless in the absence of software that defines its interfaces and controls its internal operation. This software is stored in ROM located on the hardware, and is called embedded software or firmware.
CPU instruction set
. Each CPU design has its own unique set of instructions
that are invoked by programs to operate the computer. This software resides inside the CPU chip.
) for the motherboard or SOC, configures and controls the hardware and connections of the full system. Located on an IC chip on the MB
. BIOS is the original PC firmware, replaced by UEFI on newer systems.
Device firmware: software embedded within hardware devices (e.g. SATA ports, video cards) that are part of, or mounted on, the motherboard, and connected to the system bus. Provides an interface to the system software that is used for data transfer and device control.
Common architectures in use today
Architectures that currently are widely available.
: This has a RISC (Reduced Instruction Set Computer
) architecture. Arm designs the chips, and most are produced under license by others, such as Freescale, Broadcom, and Qualcomm.
ARM chips power a huge number of embedded devices: most cellular phones and tablets, network routers, SBCs (including Raspberry Pi).
As ARM chips get more powerful, they are finding their way into more general-purpose systems, such as Chromebooks.
: Small processors for real-time systems. Used in systems that require low power usage and guaranteed timing of events.
They're around, but not in common usage by hams. Some Linux distros will run on them – Debian is one. From the Debian installation Web page:
System types for Linux
When installing Linux on a system, it's important to know the system's architecture. That enables you to find an appropriate distribution for your purposes, and to select the correct version for your system's architecture.
Let's look at computer types in the context of likely uses for Amateur Radio.
Desktop. General-purpose system for the end user.
Purpose: digital modes, rig control, logging, station control (e.g., antenna rotator).
Form factor: Desktop PC, Laptop.
Architectures: Mainly Intel, some ARM (e.g., Raspberry Pi)
Server. Networked services, run behind network interfaces such as HTTP.
Purpose: Station control and monitoring, logging, database, VOIP.
Form factor: Headless system – no keyboard or monitor. Administer via SSH.
Architectures: Intel, ARM.
Return to series index