Header Logo
Home   About  |   Hardware   Software   Storage   SBCs  |   AI   RISC-V   Cloud   Quantum  |   Health+Safety   Security  |   Books   Videos
Software

Software refers to the programs that run on a computer, and which make the hardware do something useful or entertaining. Today, almost all computers run an operating system (such as Windows), which in turn allows a user to install and run their selected applications or "apps". And so below, we first look at operating systems, followed by applications!

OPERATING SYSTEMS

Operating systems (OS) are the software that configure and present computer hardware to the user, and which in doing so co-ordinate basic activities such as memory management, capturing data from the keyboard and pointing device, generating an image on the screen, and connecting to the Internet and other networks. In one of their early PC manuals, IBM described a computer's operating system as like a policeman that directs the traffic (of computer activity) at a busy intersection.

A computer's OS determines which locally-installed applications it can run. For desktop and laptop computers, as well as SBCs, today the main options are Windows, macOS, Linux and ChromeOS, although other alternatives are available, such as FreeBSD and Haiku. Meanwhile most smartphones run Android or iOS, whilst most tablets run Android, iOS or Windows. This said, Huawei has created a new tablet and smartphone OS called HarmonyOS. More information on today's most common OS is as follows.

Windows

Dating back to 1985, Microsoft Windows is the world's most popular desktop and laptop PC operating system, and is also common on high-end tablets like the Microsoft Surface range. The current version is Windows 11, although Windows 10 continues to have support until October 14 2025.

Microsoft is providing a free upgrade to Windows 11. However, this is only automatically available for what Microsoft deems to be "supported hardware". This said, using a hack published by Microsoft, it is possible to install Windows 11 on most unsupported hardware. However, is only advised at the user's own risk. Windows 12 is also expected to arrive sometime in 2024, although this is yet to be officially announced by Microsoft.

Windows mainly runs on computing devices with an Intel or AMD x86 family processor. However, there is also a version of Windows available for certain devices with an ARM processor, and this can even allow us to run Windows on a Raspberry Pi or other ARM SBCs.

In addition, Microsoft has an a cloud offering called Windows 365. This is streamed from a Microsoft data centre to a web browser, so can be accessed using a PC installed with any operating system, as I demonstate in this video.

macOS

MacOS is the operating system that has run on Apple desktop, laptop and mini computers since 2011. Before that, Apple computers ran the retrospectively renamed "Mac OS". The current version of macOS is "macOS 14 Sonoma".

Over the years, macOS and its predecessor have run on a wide variety of different processor architectures. Initially Mac OS ran on Motorola 68000 series microprocessors, and then on PowerPC chips developed by Apple, Motorola and IBM. Desktop and laptop Apple hardware then transitioned to Intel x86 family processors. And today, most new Mac PCs and laptops are based on Apple's own M1 or M2 ARM processor family, on which macOS now also runs. Almost always, macOS is only installed on Apple's own hardware. However, some ethusiasts do manage to create non-Apple "Hackintosh" computers that run macOS.

Linux

Linux is an open source operating system initially developed in 1991 by a computer science student called Linus Torvalds. Today, there are many different Linux distributions or "distros", all of which are based on the Linux kernel, which is the core component of the operating system. The Linux kernel interfaces directly with a computer’s processor, memory and other hardware, and technically is the only thing that is actually called Linux.

In addition to the Linux kernel, all distros include many other open source software components. These typically include a bootloader to start up the computer, an "init" or initialization system that takes over when the boot loader has completed, background services known as Daemons, shell utilities to provide a terminal interface, a display server to display graphics, and a desktop environment, also known as a graphical user interface (GUI). In addition, all Linux distros contain some end-user applications, such as file managers, text editors, web browsers, media players, and other common accessories and utilities. Most modern distros now also have some kind of graphical package manager or "app store" to make it easy to install further applications. You can learn more in the first episode of my Linux Survival Guide.

Popular Linux distros include Linux Mint, Ubuntu, Debian, Manjaro and Fedora. A website called DistroWatch keeps track of the hundreds of distros available. And there are also many ExplainingComputers Linux distro videos, which include:

Today, Linux is available for pretty much all processor architectures, including Intel and AMD x86 family chips, ARM hardware, and even computers based on the RISC-V ISA.

ChromeOS

ChromeOS is an operating system created by Google, which runs on Chromebook laptops from many manufacturers, and on some other devices. It is a largely a browser-based operating system that makes use of cloud applications (such as Google Docs). However, there are also some local applications (like the file manager), and it is possible to work off-line.

There is also now a version of ChromeOS that can be installed on standard PC and Mac desktop and laptop computers, which is called ChromeOS Flex. As I demonstrate in this video, this is an excellent operating system, and one I personally use every day on a PC connected to my television.

Under the surface, ChromeOS (Flex) is based on Linux, and on some hardware it is possible to install Linux applications. There is also an open source version of ChromeOS called Chromium OS, which I have demonstrated running on a Raspberry Pi. Right now, ChromeOS and Chromium OS are limited to x86 family and ARM processors. But we live in hope of versions for RISC-V.

Android

Android is an operating system created by Google, based on the Linux kernel. It runs on the majority of tablets and smartphones, and in 2017 overtook Windows to become the most popular operating system in terms of web use. Whilst created for mobile devices, today Android also runs on many smart TVs and other connected hardware.

Officially, Android is only available for ARM processors. However, a project called Android-x86 has ported Android to x86. In 2023, Google also announced that RISC-V will be a Tier 1 Android platform. So we are likely to see Android on RISC-V devices -- and indeed we have already seen the OS running on the Lichee Pad 4A development tablet from Sipeed.

iOS

iOS is the operating system developed by Apple for exclusive use on its iPhone, iPad and other mobile devices. All of this hardware has an ARM processor. There is also a version of iOS called watchOS that runs -- surprise, surprise, on Apple Watches. Enough said!

APPLICATIONS PROGRAMS

Applications programs are what a computer user needs to run to do productive work or to entertain themselves. As I am no longer a gamer, here we will just focus on the former, with a summary of the most common applications categories. And also included are links to free software that you may find useful.

Office Packages

When personal computers first went mass-market in the 1980s, the most widely used applications programs were "office software" packages comprising word processors, spreadsheets and databases. Whilst word processors are still the most widely used of these applications, early spreadsheets (such as VisiCalc and Lotus 1-2-3) initially had the greatest impact as they quite literally allowed computational tasks that used to take days or weeks to be completed in minutes. Today the most common office software is Microsoft Office, which contains a word processor called Word and a spreadsheet called Excel. However, an excellent free alternative is LibreOffice.

You can learn the basics of using any spreadsheet package in this series of videos:

Desktop Publishing

Next on the scene came desktop publishing (DTP) packages that revolutionized publishing by allowing the electronic rather than manual layout of words and images. It is worth remembering that the computer terminology "cut" and "paste" derive from the ways in which the layout of published documents used to involve the physical cutting out and pasting together with glue of text and images that were only combined for press via photographic processes. Today common DTP programs include Adobe InDesign, and the freely downloadable, open source application Scribus.

Internet Applications

With the rise of the Internet, two of the most critical applications programs have become web browsers and e-mail packages. Indeed, with the rise of cloud computing, it is now possible to accomplish pretty much any computing activity online, so that the only software an end user computing device (or "client") needs to have installed is a browser. This is indeed the principle behind a Google Chromebook.

Graphics Packages

Graphics packages are now also a major applications category, and come in a very wide range of guises. For a start there are presentation packages (such as PowerPoint) that are used to create slides and give lectures. Then there are photo editors that manipulate the tiny rectangles or "pixels" that make up the "bitmapped" images created by digital cameras or scanners. The dominant professional photo editing software is Adobe Photoshop (so much so that the verb "to photoshop" has entered the language). However, even if they are using the new verb, most people manipulate images in less sophisticated and less costly alternative, including the totally free GNU Image Manipulation Program or "GIMP".

Another category of graphics packages are those primarily used to create and manipulate vector-based images. Whereas a bitmapped image, such as a digital photo, can only be enlarged so far before a loss of detail (because the individual pixels that make up the image become too big), vector-based images (sometimes called structured graphics) are defined mathematically and can be re-scalled to any size with no loss of detail. Vector-based graphics software includes Adobe Illustrator (used for illustrations in publishing), as well as an a free, open source alternative called Inkscape, which I have covered in this video. Also used to create 2D and 3D structured graphics are computer-aided design (CAD) applications such as AutoCAD, SOLIDWORKS, Onshape and Fusion360.

Finally on the graphics side there are 3D modelling and animation applications that have a focus on creating photographic or video output, rather than engineering designs. Here, packages including 3D Studio Max, Maya, SoftImage and LightWave are used to build 3D computer models that are often textured with bitmap images, before being rendered still images of video sequences. There is also a fantastic free 3D Modelling and animation application called Blender. Like all 3D packages, this has a tough learning curve. But I have a series of introductory guides that start here.

Video & Audio Editing

Next in common usage there are applications used for editing audio and video. Here the dominant high-end packages include Adobe Premiere Pro and Final Cut Pro (which is only available for Mac), as well as DaVinci Resolve. The latter is available for free for Windows and Linux, as well as in a paid version called DaVinvi Resolve Studio. I have made several DaVinci Resolve videos, including a review of the latest version, DaVinci Resolve 18. There are also many other free videos -- as included here on the video editors page. Meanwhile, if you want a free audio editor, it's worth taking a look at Audacity.

Website Creation

Those people needing to create web pages will probably also be using a web authoring package such as FrontPage or Dreamweaver (although many web programmers write raw code directly into a text editor, whilst less technical users may use online website builders).

Security & Other Utilities

In addition to the above, many computer users run utilities for security and other purposes. Not least, antivirus software and firewalls are normally advised to keep a system safe and secure (and I say "normally", as antivirus software is not necessarily a requirement in Linux). Users may also wish to encrypt data, either using inbuilt tools (like Bitlocker, which is included in some versions of Windows), or applications like VeraCrypt. Utilities may also be used for activities like back-up and drive cloning, as covered in my Free Drive Cloning Applications video.

Other Applications

In addition to the above, many other types of application exist. Not least, in addition to running custom software, businesses are likely to run applications that include accounting software (such as Sage), as well as project management programs (which includ Microsoft Project).

SOFTWARE FUTURES

Computer software continues to evolve, with more and more operating systems in common use, and the use of cloud applications or "software as a service" (SaaS) becoming more and more common. However, given that words, still images, audio, video and 3D models can now all be effectively manipulated as digital content, the tasks undertaken with our software applications will probably not now alter substantially. This said, what will almost certainly change is the extent to which our applications help us in the process of content creation and editing, with artificial intelligence increasingly becoming embedded in more operating systems and applications.

Please note that you can find information on a wide range of free software on the free software videos page.


logo line
Twit Link
YouTube