Hardware

This chapter will discuss the physical parts of computers – known as hardware.

Hardware is the first level of abstraction on a computer, where the complex processes involved in manipulating electricity are hidden beneath layers of simple interfaces. For example, when typing on a keyboard, users do not worry about representing the ASCII (American Standard Code for Information Interchange) code for the letter electrically or manually arranging the circuit for it – the keyboard abstracts (hides) that process.

The figure below1 roughly illustrates the four main resources available to modern computers. The operating system, and how programs interact with it (e.g., via the kernel), is discussed in the OS chapter, while network connections are discussed in the Networking chapter. The hardware chapter (this one) discusses CPU/GPU, RAM, and hard drives.

  1. The CPU. Some computers have multiple CPUs, and some CPUs have multiple processing “cores.”
  2. Hard drives or other “persistent storage.” Such drives can store ample amounts of data, but access is quite slow compared to the speed at which the CPU runs. Persistent storage is commonly made available through remote drives “mapped in” over the network, making access even slower (but perhaps providing much more space).
  3. RAM, or random access memory. Because hard drives are so slow, all data must be copied into the “working memory” RAM to be accessed by the CPU. RAM is much faster but also much more expensive (and hence usually provides less total storage). When RAM is filled up, many operating systems will resort to trying to use the hard drive as though it were RAM (known as “swapping” because data are constantly being swapped into and out of RAM). Because of the difference in speed, it may appear to the user as though the computer has crashed, when in reality it is merely working at a glacial pace.
  4. The network connection, which provides access to the outside world. If multiple programs wish to access the network, they must share time on the connection, much like for the CPU.

Learning Outcomes

Identify general features in networking, hardware and operating systems

Chapter Learning Outcomes

  1. Convert between binary, decimal, and hexadecimal.
  2. Describe the roles of the CPU and GPU in a computing system
  3. Explain the difference between RAM and ROM in terms of purpose and volatility
  4. Identify common computer I/O ports (e.g., USB, HDMI, Ethernet) from images or descriptions. Describe their usage.
  1. Reference: A Primer for Computational Biology, 2019 by Shawn T. O’Neil. Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License. ↩︎