Outils pour utilisateurs

Outils du site


nsi:terminales:processus:processus

Processus

Système d'exploitation

Windows et Linux, ou encore Mac OS, sont des exemples de système d'exploitation – Operating System = OS. L'OS se situe entre les utilisateurs et le matériel. Il est constitué d'un ensemble de programmes qui permettent de gérer les ressources et de les partager :

  • gestion des processus,
  • gestion des fichiers,
  • gestion de la mémoire,
  • gestion des périphériques (écran, imprimante…)

Tout ces traitements devant tenir compte de problèmes de sécurité : qui exécute tel processus, qui manipule tel fichier, qui a le droit de le faire…

Processus

  • Un algorithme est une définition abstraite d'une certaine suite d'instructions permettant de résoudre un problème.
  • Un programme est une réalisation concrète d'algorithme, dans un certain langage de programmation. Il se traduit généralement par un fichier programme qui peut être exécuté par une machine.

Un programme peut être exécuté – mais il peut être au repos – et il peut être exécuté plusieurs fois en même temps – par ex: plusieurs fenêtres chrome ouvertes simultanément.

Chaque instance d'exécution d'un programme est appelée processus.

Contexte

On dit que le processus a un contexte géré par le système d'exploitation :

  • date de démarrage,
  • durée de vie,
  • espace mémoire utilisé,
  • accès au temps de calcul des processeurs…

À la création, un processus reçoit quelques attributs qui permettent à l'OS de l'identifier :

  • un identifiant : PID,
  • les processus sont créés par d'autres processus, si bien que chaque processus a un père et connaît l'identifiant de son père : PPID,
  • un utilisateur est à l'origine de la création du processus. Son identifiant est l'UID.

Certains processus sont lancés par le système – souvent appelés services, qui s'exécutent en tâche de fond, en permanence – d'autres par les utilisateurs – plutôt des applications.

En UNIX, un processus spécial, init est l'ancêtre de tous les autres et reçoit le PID 1. S'il arrive qu'un processus s'arrête et qu'il avait des enfants, ces enfants deviennent orphelins et sont aussitôt adoptés par init : leur PPID devient égal à 1.

Démarrage de la machine

Au démarrage (boot), la machine commence par exécuter le BIOS : Basic Input/Output System. Le BIOS fait quelques tests de bon fonctionnement puis cherche l'OS.

Le MBR = Master Boot Reccord indique à quel endroit trouver l'OS.

Exemple du démarrage Windows : Le fichier de démarrage est NTLDR (New Technology Loader). NTLDR lance quelques processus :

  • System de PID 4,
  • Registry (NT Kernel System), PID 96 : ntoskrnl.exe
  • Applications services et contrôleurs : services.exe
  • Application d'ouverture de session : winlogon.exe
  • Application de démarrage de Windows : wininit.exe
  • Gestionnaire de fenêtre du bureau : dwm.exeDesktop Windows Manager
  • Démarrage du bureau : explorer.exe

Ceci n'est qu'un exemple non exhaustif pour vous donner une idée de l'enchaînement des processus. Inutile de l'apprendre par cœur !

Visualiser les processus

Windows dispose d'un gestionnaire de tâches que l'on peut lancer après la combinaison CTRL+ALT+SUPR.

Malheureusement, au lycée, le gestionnaire de tâche est verrouillé pour des raisons de sécurité. Nous procéderons donc autrement. On pourra utiliser une application comme process explorer ou encore utiliser la ligne de commande.

Essayez : dans un terminal, exécutez la commande tasklist. Voici un exemple (ci-dessous) de résultat.

Vous pouvez agir sur l'affichage grâce à des options de la commande. Voici quelques exemples :

  • tasklist /fi "memusage gt 100000 n'affichera que les processus dont l'utilisation de la mémoire est supérieure (gt = greater) à 100 000 octets.
  • tasklist /fi "memusage gt 100000" | sort permet de trier par nom.
  • tasklist /fi "memusage gt 100000" | sort /r /+65 tri par utilisation de mémoire descendante.
  • tasklist /fi "imagename eq chrome.exe" recherche d'un processus particulier, ici chrome.

La commande tskill permet de tuer un processus. Dans l'exemple précédent,

  • tskill 8176 ne tuera que le premier processus chrome dont le PID est 8176,
  • tskill chrome.exe tuera tous les processus chrome.

Essayez en ouvrant par exemple quelques fenêtres d'une application peu sensible, par exemple le bloc-note.

nsi/terminales/processus/processus.txt · Dernière modification : de goupillwiki