Skip to content
Snippets Groups Projects
1_understanding_a_computer.Rmd 5.65 KiB
title: Understanding a computer
author: "Laurent Modolo"
output:
  rmdformats::downcute:
    self_contain: true
    use_bookdown: true
    default_style: "light"
    lightbox: true
    css: "./www/style_Rmd.css"

if (!require("fontawesome")) {
  install.packages("fontawesome")
}
if (!require("klippy")) {
  install.packages("remotes")
  remotes::install_github("rlesur/klippy")
}
library(fontawesome)
knitr::opts_chunk$set(echo = TRUE)
knitr::opts_chunk$set(comment = NA)
klippy::klippy(
  position = c('top', 'right'),
  color = "white",
  tooltip_message = 'Click to copy',
  tooltip_success = 'Copied !')
Creative Commons License

Objective: understand the relations between the different components of a computer

Which parts are necessary to define a computer ?

Computer components

CPU (Central Processing Unit)

CPU

Memory

RAM (Random Access Memory)

RAM

HDD (Hard Disk Drive) / SSD (Solid-State Drive)

HDD SSD

Motherboard

motherboard

GPU (Graphical Processing Unit)

GPU

Alimentation

Alim


Computer model: universal Turing machine

width:20% height:20%


As simple as a Turing machine ?

universal_truing_machine

  • A tape divided into cells, one next to the other. Each cell contains a symbol from some finite alphabet.
  • A head that can read and write symbols on the tape and move the tape left and right one (and only one) cell at a time.
  • A state register that stores the state of the Turing machine, one of finitely many. Among these is the special start state with which the state register is initialized.
  • A finite table of instructions that, given the state the machine is currently in and the symbol it is reading on the tape, tells the machine what to do.

Basic Input Output System (BIOS)

Used to perform hardware initialization during the booting process (power-on startup), and to provide runtime services for operating systems and programs.

  • comes pre-installed on a personal computer's system board
  • the first software to run when powered on
  • in modern PCs initializes and tests the system hardware components, and loads a boot loader from a mass memory device

Unified Extensible Firmware Interface (UEFI)

Advantages:

  • Ability to use large-disk partitions (over 2 TB) with a GUID Partition Table (GPT)
  • CPU-independent architecture
  • CPU-independent drivers
  • Flexible pre-OS environment, including network capability
  • Modular design
  • Backward and forward compatibility

Disadvantages:

  • More complex

Operating System (OS)

A system software that manages computer hardware, software resources, and provides common services for computer programs.

  • The first thing loaded by the BIOS/UEFI
  • The first thing on the tape of a Turing machine

Kernel

The kernel provides the most basic level of control over all of the computer's hardware devices. It manages memory access for programs in the RAM, it determines which programs get access to which hardware resources, it sets up or resets the CPU's operating states for optimal operation at all times, and it organizes the data for long-term non-volatile storage with file systems on such media as disks, tapes, flash memory, etc.

Kernel{width=100%}


UNIX

Unix is a family of multitasking, multiuser computer operating systems that derive from the original AT&T Unix,

Unix history

The ones you are likely to encounter:

The philosophy of UNIX is to have a large number of small software which do few things but to them well.