⚙️ Architecture & OS
1. Architecture Matérielle : Le SoC
L'architecture classique de Von Neumann séparait CPU, Mémoire et Entrées/Sorties reliés par des bus sur une carte mère. Aujourd'hui, notamment dans les smartphones et tablettes, on utilise des SoC (System on Chip).
Qu'est-ce qu'un SoC ?
C'est une puce unique qui intègre tous les composants essentiels :
- CPU (Processeur central)
- GPU (Processeur graphique)
- RAM (Mémoire vive)
- Contrôleurs WiFi/Bluetooth/4G
- DSP (Traitement du signal, audio/photo)
Avantages vs Inconvénients
- ✅ Performance : Communication ultra-rapide entre composants (distances réduites).
- ✅ Consommation : Moins d'énergie dissipée (batterie dure plus longtemps).
- ✅ Taille : Gain de place énorme.
- ❌ Évolutivité : Impossible de changer juste la RAM ou le GPU (tout est soudé/gravé ensemble).
2. Système d'Exploitation : Gestion des Processus
Un processus est un programme en cours d'exécution. Le système d'exploitation (OS) doit gérer plusieurs processus en même temps (Multitâche) sur un nombre limité de cœurs CPU. C'est l'ordonnancement (Scheduling).
2.1 États d'un processus
Un processus passe par 3 états principaux :
- Élu (Running) : Le CPU exécute ses instructions.
- Prêt (Ready) : Il attend que le CPU se libère.
- Bloqué (Waiting) : Il attend une ressource externe (lecture disque, frappe clavier, réseau).
2.2 L'Interblocage (Deadlock)
Une situation critique où des processus s'attendent mutuellement indéfiniment.
Exemple :
- Processus A tient la ressource
Imprimanteet demande leScanner. - Processus B tient la ressource
Scanneret demande l'Imprimante. - -> Blocage total ! Personne ne peut avancer.
Pour éviter cela, l'OS utilise des algorithmes complexes d'allocation de ressources.
Gestion des processus sous Linux
Quelles commandes permettent de :
- Voir les processus en cours ?
- Tuer un processus bloqué ?