1  Understanding a computer

Author

Laurent Modolo

Creative Commons License

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

1.1 Which parts are necessary to define a computer ?

1.2 Computer components

1.2.1 CPU (Central Processing Unit)

CPU

1.2.2 Memory

1.2.2.1 RAM (Random Access Memory)

RAM

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

HDD SSD

1.2.3 Motherboard

motherboard

1.2.4 GPU (Graphical Processing Unit)

GPU

1.2.5 Alimentation

Alim

1.3 Computer model: universal Turing machine

width:20% height:20%

1.4 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.

1.5 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

1.6 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

1.7 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

1.7.1 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

1.8 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.

1.9 GNU/Linux

Linux is the name of the kernel which software, to get a full OS, Linux is part of the GNU Project.

The GNU with Richard Stallman introduced the notion of Free Software:

  1. The freedom to run the program as you wish, for any purpose.
  2. The freedom to study how the program works, and change it so it does your computing as you wish. Access to the source code is a precondition for this.
  3. The freedom to redistribute copies so you can help others.
  4. The freedom to distribute copies of your modified versions to others. By doing this you can give the whole community a chance to benefit from your changes. Access to the source code is a precondition for this.

You can find a list of software licenses

License: Creative Commons CC-BY-SA-4.0.
Made with Quarto.