Hardware

Hardware is the physical parts of computers, including CPU/GPU, RAM, and hard drives, as well as external devices like keyboards or mice.

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.

  1. The CPU. 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. ↩︎