First step in a terminal

Understanding a computer

cc_by_sa

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

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.


Unified Extensible Firmware Interface (UEFI)

Advantages:

Disadvantages:


Operating System (OS)

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

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

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: - macOS - BSD (Berkeley Software Distribution) variant - GNU/Linux

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

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

Instead of installing GNU/Linux on your computer, you are going to learn to use the IFB Cloud.