KC7MM Wiki

Amateur Radio with KC7MM

User Tools

Site Tools


linuxusernet:inside_linux:linux_computer_types

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.

  1. CPU: (Central Processing Unit). As the name implies, it is at the heart of a computer system.
    • 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:
      • First is the processor's data width (8/16/32/64 bits): the size of data “chunks” the CPU and related components work with. Greater width gives greater computing power, because the CPU has more data to work with during a single operation.
      • Data bus interfaces, for moving data into and out of the CPU. These have to be compatible with any buses incorporated in the overall system to move data between its components (more on busses, below). Examples: ISA in the IBM PC, PCIe in contemporary systems.
      • Cache memory. RAM internal to the CPU that is used to temporarily store data during operations. Using this memory rather than system RAM can speed up operations.
  2. RAM (Random Access Memory) provides temporary storage of data while the computer is running.
    • The addressable volatile memory space depends on the CPU data width.
      • 8 bits = 28 = 64k (65,536) address values.
      • 64 bits = 264 = ~18 quintillion values.
  3. Data busses to move between components, e.g., DMA, PCI), A data bus is the path over which data moves between the system's components.
  4. 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.
  • Firmware (BIOS/UEFI) 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.

  • Intel architecture: This is a CISC (Complex Instruction Set Computer) architecture, produced by Intel and AMD. Used in most PCs and servers.
    • 32-bit. Generally called X86 or i386.
    • 64-bit: Called AMD64.
  • ARM: 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.
  • Microcontroller: Small processors for real-time systems. Used in systems that require low power usage and guaranteed timing of events.
    • Most popular for hobby use are PIC (Microchip) and AVR (Atmel). Arduino is based on AVR chips.
    • Embedded Linux can run on many of them.

Other architectures

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.
  • Embedded. dedicated systems.
    • Purpose: Mesh networking, Internet of Things, smartphone and tablet apps, 3D printers.
    • Form Factor: Android phones and tablets, routers/switches, CNC systems, sensors.
    • Architectures: Mainly ARM, but also other RISC systems.

Return to series index

linuxusernet/inside_linux/linux_computer_types.txt · Last modified: 2022/03/09 01:45 by KC7MM