1.1.2 : Prérequis (WIP)
Pour bien aborder le sujet, il est utile d'avoir des notions des sujets suivants:
- Structure générale du matériel informatique: CPU (processeur central), RAM (mémoire vive), stockage et réseau (regroupés sous le terme ombrelle d'entrée/sortie)...
- Structure générale d'un système d'exploitation: Noyau (kernel) vs applications, processus et threads, tâches de fond (appelées démons sous Linux et services sous Windows), swap, interfaçage système-applications via les APIs...
- Programmation bien entendu, en ayant en tête une idée du processus de traduction d'un programme en instructions machine: compilation avant l'exécution (AoT), à la volée pendant l'exécution (JIT), ou interprétation.
- Pour la partie GPU: interfaces de programmation GPU, interconnexion matérielle entre le CPU et le GPU (typiquement bus PCI-express).
- Unités de mesure des volumes de données (Mo, Go, To, ...), du temps (ns, µs, ms, s, ...), des fréquences (Hz, kHz, MHz, GHz, ...).
- Ordres de grandeurs des capacités du matériel informatique qu'on utilise (nombres et fréquence des coeurs processeur, quantité de RAM utilisable, capacité et vitesse du stockage, bande passante réseau, ...).
TODO: Au moment de la rédaction de la "version courte", réfléchir à diminuer le niveau de prérequis ou à fournir des liens vers des ressources pédagogiques extérieures concernant ces prérequis. |