💻nsi

Système d'exploitation NSI : comprendre l'OS en cours

1 septembre 2026 7 min de lecture

Quand tu allumes ton ordinateur, avant même d'ouvrir ton éditeur Python ou ton navigateur, un programme particulier se lance : le système d'exploitation (ou OS pour Operating System). En NSI, tu vas devoir comprendre son rôle central, car il gère la mémoire, les processus, les fichiers et les périphériques. Dans cet article, on va explorer ensemble ce qu'est un OS, comment il fonctionne, et on verra même du code Python pour simuler certains de ses mécanismes. Prêt·e ? C'est parti !

Qu'est-ce qu'un système d'exploitation ?

Un système d'exploitation est un ensemble de logiciels qui fait le lien entre le matériel (le processeur, la mémoire, le disque dur) et les applications (comme un navigateur, un jeu, ou ton script Python). Sans OS, chaque application devrait gérer elle-même les détails du matériel, ce qui serait un cauchemar. L'OS fournit des services communs : la gestion des fichiers, la gestion de la mémoire, la gestion des processus, et la gestion des entrées/sorties.

En NSI, on étudie souvent les systèmes d'exploitation comme Linux (grâce à sa transparence) et on compare avec Windows ou macOS. L'OS est composé de plusieurs parties : le noyau (kernel) qui est le cœur du système, les pilotes (drivers) qui permettent de communiquer avec le matériel, et les interfaces utilisateur (graphique ou en ligne de commande).

Le noyau : le chef d'orchestre

Le noyau est le programme central qui tourne en permanence. Il est chargé de l'ordonnancement des processus, c'est-à-dire de décider quel processus utilise le processeur à quel moment. Il gère aussi la mémoire virtuelle, les permissions, et la communication entre les processus. Quand tu exécutes un programme, c'est le noyau qui crée un processus pour ce programme.

Les processus : les unités d'exécution

Un processus est un programme en cours d'exécution. Il possède son propre espace mémoire, ses fichiers ouverts, et son état (prêt, en cours d'exécution, bloqué, etc.). Le noyau utilise un ordonnanceur pour partager le temps du processeur entre les différents processus, donnant l'illusion qu'ils s'exécutent en parallèle, même sur un processeur à un seul cœur.

Pourquoi c'est important en NSI ?

Le programme de NSI en Terminale aborde explicitement les systèmes d'exploitation : leur histoire, leur structure, les processus, et la gestion des ressources. Tu dois être capable d'expliquer le rôle de l'OS, de décrire les états d'un processus, et de comprendre les commandes de base en ligne de commande (comme ls, cd, ps sous Linux). C'est aussi l'occasion de manipuler des fichiers et des répertoires, ce qui est essentiel pour tout développeur.

Pour réviser, tu peux consulter nos cours en ligne et nos fiches de révision qui couvrent ces notions en détail.

Simuler un ordonnanceur en Python

Pour bien comprendre le fonctionnement d'un OS, rien de tel qu'un petit exemple en Python. On va simuler un ordonnanceur simple qui exécute des processus en tourniquet (round-robin). Chaque processus a un temps d'exécution restant, et on leur alloue un quantum de temps (par exemple 3 unités).

class Processus:
    def __init__(self, nom, duree):
        self.nom = nom
        self.duree = duree  # durée totale nécessaire
        self.restant = duree
        self.etat = "pret"  # prêt, en cours, terminé

def ordonnanceur_round_robin(processus, quantum):
    file = list(processus)  # on crée une file d'attente
    temps = 0
    while file:
        p = file.pop(0)  # on prend le premier
        if p.restant > 0:
            p.etat = "en cours"
            print(f"Temps {temps} : {p.nom} s'exécute (restant : {p.restant})")
            if p.restant <= quantum:
                temps += p.restant
                p.restant = 0
                p.etat = "terminé"
                print(f"  -> {p.nom} terminé à t={temps}")
            else:
                temps += quantum
                p.restant -= quantum
                p.etat = "pret"
                file.append(p)  # on le remet en fin de file
    print(f"Temps total : {temps}")

# Exemple d'utilisation
processus = [Processus("A", 5), Processus("B", 3), Processus("C", 8)]
ordonnanceur_round_robin(processus, 2)

Ce code illustre la notion de file d'attente et de quantum de temps. En exécutant ce script, tu verras comment les processus s'enchaînent. C'est une simplification, mais ça capture l'essentiel de l'ordonnancement.

Cas d'usage concret : gérer des fichiers en Python

Un autre rôle clé de l'OS est la gestion des fichiers. En NSI, tu manipules souvent des fichiers en Python. Voici un exemple qui utilise le module os pour interagir avec le système de fichiers :

import os

# Afficher le répertoire courant
print("Répertoire courant :", os.getcwd())

# Lister les fichiers du répertoire courant
fichiers = os.listdir(".")
print("Fichiers :", fichiers)

# Créer un répertoire
os.mkdir("test_nsi")
print("Répertoire 'test_nsi' créé.")

# Renommer un fichier (si existant)
if "exemple.txt" in fichiers:
    os.rename("exemple.txt", "exemple_renomme.txt")
    print("Fichier renommé.")

# Supprimer le répertoire
os.rmdir("test_nsi")
print("Répertoire 'test_nsi' supprimé.")

Ce petit script montre comment l'OS permet aux programmes de manipuler des fichiers de manière standardisée. Tu pourras approfondir avec notre référence Python.

Comment réviser pour le bac NSI ?

Le sujet du système d'exploitation tombe régulièrement au bac. Voici quelques conseils :

  • Connaître le vocabulaire : OS, noyau, processus, thread, mémoire virtuelle, système de fichiers, etc.
  • Savoir décrire les états d'un processus : prêt, élu, bloqué, terminé.
  • Comprendre la différence entre un programme et un processus : le programme est statique, le processus est dynamique.
  • S'entraîner avec la ligne de commande : sous Linux, utilise des commandes comme ps, top, kill pour voir les processus.
  • Faire des exercices : simule un ordonnanceur, comme on l'a fait en Python.

Pour t'aider, tu peux aussi consulter les ressources de AlloBac et AlloLycée qui proposent des fiches et des quiz.

Conclusion

Le système d'exploitation est un pilier de l'informatique. En le comprenant, tu comprends mieux comment ton ordinateur fonctionne et comment les programmes interagissent avec le matériel. En NSI, tu as l'occasion d'explorer ces concepts de manière concrète, et avec un peu de pratique, tu deviendras un as ! Continue comme ça, et n'oublie pas de t'entraîner régulièrement. Tu vas y arriver !

📚 Pour aller plus loin

Questions fréquentes

Qu'est-ce qu'un système d'exploitation en NSI ?

Un système d'exploitation (OS) est un logiciel qui gère le matériel et les logiciels d'un ordinateur. Il fournit des services comme la gestion des fichiers, des processus, de la mémoire et des périphériques. En NSI, on étudie son rôle et son fonctionnement, souvent avec Linux.

Quelle est la différence entre un programme et un processus ?

Un programme est un fichier statique contenant des instructions (par exemple, un script Python). Un processus est une instance de ce programme en cours d'exécution, avec son propre espace mémoire, ses ressources et son état. Un même programme peut avoir plusieurs processus.

Comment fonctionne l'ordonnancement des processus ?

L'ordonnancement est géré par le noyau de l'OS. Il utilise des algorithmes (comme le tourniquet) pour allouer le processeur aux processus. Chaque processus a un état (prêt, en cours, bloqué) et reçoit un quantum de temps. Quand le quantum expire, le processus est remis en file d'attente.

Quels sont les principaux rôles d'un système d'exploitation ?

Les rôles principaux sont : la gestion des processus, la gestion de la mémoire, la gestion des fichiers, la gestion des entrées/sorties, et la gestion des utilisateurs et des permissions. Il fournit aussi une interface entre l'utilisateur et le matériel.

Comment simuler un système d'exploitation en Python ?

On peut simuler des mécanismes comme l'ordonnancement avec des classes et des files. Par exemple, créer une classe Processus et une fonction qui les exécute en tourniquet. On peut aussi utiliser le module os pour interagir avec le système de fichiers réel.

Quelles commandes Linux pour voir les processus ?

Les commandes de base sont : ps (liste les processus), top (affiche les processus en temps réel), kill (termine un processus), et htop (version améliorée de top). Ces commandes sont utiles pour comprendre la gestion des processus.

Bravo ! Tu as lu cet article
Inscris-toi pour sauvegarder ta progression et gagner des XP
Creer mon compte
système d'exploitation NSIOSprocessusnoyauLinuxPython
Pixel