Architecture : SoC et Processus

Architectures matérielles, OS & Réseaux

🦊

⚙️ 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 :

  1. Élu (Running) : Le CPU exécute ses instructions.
  2. Prêt (Ready) : Il attend que le CPU se libère.
  3. 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 Imprimante et demande le Scanner.
  • Processus B tient la ressource Scanner et demande l'Imprimante.
  • -> Blocage total ! Personne ne peut avancer.

Pour éviter cela, l'OS utilise des algorithmes complexes d'allocation de ressources.


Commandes Unix
Ordonnancement

Gestion des processus sous Linux

Quelles commandes permettent de :

  1. Voir les processus en cours ?
  2. Tuer un processus bloqué ?