Retour

Systèmes d’exploitation

🎲 Quiz GRATUIT

📝 Mini-cours GRATUIT

Définition

Un système d'exploitation (Operating System, OS en anglais) est un ensemble de programmes qui organise l'utilisation des ressources d'un ordinateur.

Le système d'exploitation est le principal programme exécuté lors de la mise en marche de l'ordinateur.

Il se lance juste après le BIOS et le programme d'amorçage (en anglais bootloader). 

Un système d'exploitation met à disposition une suite de services généraux et sert d'intermédiaire entre des logiciels applicatifs et le matériel informatique. 

Un système d'exploitation est un intermédiaire entre le matériel physique, la mémoire, les disques, le processeur, la carte réseau et les applications utilisateurs.

Quelques exemples de services réalisés par un système d'exploitation :

  • La gestion des fichiers (arborescence sous forme de dossiers et sous-dossiers) ;
  •  La gestion de la mémoire partagée entre plusieurs applications ;
  • La gestion des applications (des processus qui s'exécutent) ;
  • La gestion des entrées – sorties (imprimantes, cartes sons, écran, cartes réseaux, etc …)

Historique des systèmes d'exploitation

  • Les premiers ordinateurs dans les années 1940 ne disposaient pas de système d'exploitation.
    Ils étaient fabriqués avec des tubes à vide; ils étaient moins performants que nos calculatrices de poche et ils remplissaient des salles entières.
    Les entrées-sorties étaient très limitées et le programmeur interagissait directement avec la machine.
  • Les premiers systèmes d'exploitation ont pu se développer avec l'invention et l'utilisation du transistor dans les années 1955-1965.
    Les programmes étaient alors réalisés à l'aide de cartes perforées.
    Un opérateur chargeait et déchargeait ces cartes perforées dans l'ordinateur.
  • En 1964, avec l'apparition des circuits intégrés, le MIT (Massachusetts Institute of Technology) lance le projet MAC (Man and Computer) afin de créer un système en temps partagé entre plusieurs utilisateurs et des applications.
    Ce premier projet de création d'un système d'exploitation sera un échec.
    Le premier système d'exploitation véritablement opérationnel sera créé entre les années 1970 et 1972 : il s'agit d'UNIX qui est basé sur le langage de programmation C (développé par Dennis Ritchie et Ken Thompson).
  • En 1980, la société Microsoft créé le système d'exploitation MS-DOS qui ne comporte pas d'interface graphique.
  • En 1983, Richard Stallman crée le système d'exploitation libre nommé GNU.
  • En 1984, la société Apple crée le système d'exploitation Mac OS premier système grand public ayant une interface graphique basée sur les fenêtres, icônes, menus et souris.
    Mac OS est basé sur UNIX.
  • En 1987, la société IBM crée le système d'exploitation OS/2.
  • En 1990, la société Microsoft développe le système d'exploitation Windows 3.1 avec une interface graphique.
  • En 1991, Linus Torvalds crée le noyau Linux du système GNU/Linux.
  • En 2007, Apple met à disposition le système iOS pour ses smartphones. Android est basé sur le noyau Linux.
  • En 2007, Google met à disposition le système Android pour smartphones.

On peut distinguer les systèmes d'exploitation libres de ceux qui sont propriétaires.

Un logiciel libre est, selon la définition de la Free Software Foundation, un programme qui accorde 4 libertés essentielles à l'utilisateur :

  1. Liberté d'exécuter le programme pour n'importe quel usage,
  2. Liberté de le modifier, 
  3. Liberté de redistribuer des copies du programme et
  4. Liberté de distribuer des versions modifiées. 

Un système d'exploitation libre est donc un système d'exploitation composé de logiciels libres.
Le principal système d'exploitation libre se nomme GNU/Linux.
GNU est acronyme récursif : GNU's not UNIX (GNU n'est pas UNIX).

Les principaux systèmes d'exploitation propriétaires sont :

  • MacOS, iOS installés sur les ordinateurs et smartphones de la marque Apple;
  • Microsoft Windows pré-installé sur plus de 91% des ordinateurs personnels.

Android, système d'exploitation pour mobile développé par la société Google est open-source mais n'est pas entièrement un logiciel libre car il contient des parties de code non libres.

Le système d’exploitation Linux

Le système GNU/Linux : à l’origine du logiciel libre

Linux est le nom du noyau d'un système d'exploitation libre, multitâche, multiplateforme et multi-utilisateur de type UNIX créé par Linus Torvalds.
L'expression « Logiciel Libre » fait référence à la liberté et non pas au prix. Pour comprendre le concept, vous devez penser à la « liberté d'expression », pas à «l'entrée libre ».
L'expression « Logiciel Libre » fait référence à la liberté pour les utilisateurs d'exécuter, de copier, de distribuer, d'étudier, de modifier et d'améliorer le logiciel.

Plus précisément, elle fait référence à quatre types de liberté pour l'utilisateur :

  • Liberté 0 : la liberté d'exécuter le programme, pour tous les usages.
  • Liberté 1 : la liberté d'étudier le fonctionnement du programme, et de l'adapter à vos besoins. Pour ceci l'accès au code source est une condition requise
  • Liberté 2 : la liberté de redistribuer des copies, donc d'aider votre voisin.
  • Liberté 3 : la liberté d'améliorer le programme et de publier vos améliorations, pour en faire profiter toute la communauté. Pour se faire, l'accès au code source est une condition requise.

Un programme est un Logiciel Libre si les utilisateurs ont toutes ces libertés.

Les distributions Linux

Le noyau Linux n'est pas utilisable seul. Il est accompagné des outils GNU, d'interfaces graphiques et d'un ensemble de logiciels applicatifs.
L'ensemble est regroupé dans ce qui est nommée une distribution Linux.

Il existe de nombreuses distributions Linux. Voici quelques exemples :

  • Linux Mint : distribution basée sur Ubuntu
  • Ubuntu : basée sur Debian
  • Debian : une des plus anciennes distributions Linux particulièrement adaptée pour les serveurs.
  • Mageia : distribution française basée sur Mandriva.
  • OpenSuse

Présentation de la distribution Ubuntu

Les sessions utilisateurs

Linux est conçu pour que plusieurs utilisateurs puissent avoir accès au même ordinateur en même temps.
Le système partage son temps de travail en plusieurs processus n'ayant aucun lien entre eux, si ce n'est le même ordinateur.
Il s'agit d'un environnement multi-utilisateur.

Les bureaux virtuels

Les bureaux virtuels permettent de proposer à l'utilisateur plusieurs environnements graphiques pour travailler.

Différents environnements graphiques sont proposés :

  • Gnome : environnement proposant un bon compromis entre légèreté et ergonomie, hautement personnalisable ;
  • KDE : environnement graphique plus complet, assez proche de Windows en terme d’ergonomie ;
  • Xfce : environnement graphique plus léger, très intéressant pour les vieux PC ou les PC peu puissants.

Les applications disponibles

Les principales applications proposées sont :

  • Des applications bureautiques : LibreOffice, KOffice, Scribus …
  • Des outils graphiques : 
    • The Gimp : logiciel de retouche d'images ;
    • InkScape : logiciel de dessin vectoriel ;
    • F-Spot : application dédiée à la gestion des photos ;
  • Des outils pour Internet :
    • Firefox, Konqueror : navigateurs pour surfer sur le Web;
    • Thunderbird, Evolution: clients de messagerie;
  • Des outils de virtualisation : VirtualBox, Qemu

Présentation de la distribution Ubuntu : Systèmes de fichiers

Un système de fichiers (filesystem en anglais) ou système de gestion de fichiers (SGF) est une structure de données permettant de stocker les informations et de les organiser dans des fichiers sur ce que l'on appelle des mémoires secondaires (disque dur, disquette, CD-ROM, clé USB, disques SSD, etc.). 

Une telle gestion des fichiers permet de traiter, de conserver des quantités importantes de données ainsi que de les partager entre plusieurs programmes informatiques. 

Il permet à l'utilisateur de localiser les fichiers à partir d'un chemin d'accès.

Linux possède ses propres systèmes de fichiers comme ext2 ou ext3. Windows propose par exemple fat32 ou ntfs.

Ce système est représenté par une arborescence logique.

Le processus de montage, avec sa commande mount, est le moyen de faire correspondre les parties de l'arborescence avec les partitions physiques des disques.

Présentation de la distribution Ubuntu : Les différentes catégories de fichiers

  • Les fichiers normaux
    • Texte : courrier, sources des programmes, scripts, configuration
    • Exécutables : programmes en code binaire
  • Les fichiers répertoires : ce sont des fichiers conteneurs qui contiennent des références à d'autres fichiers. Ils permettent d'organiser les fichiers par catégories et à l'aide d'une arborescence.
  • Les fichiers spéciaux : situés dans /dev, ce sont les points d'accès préparés par le système aux périphériques. 
  • Les fichiers liens symboliques : ce sont des fichiers qui ne contiennent qu'une référence (un pointeur) à un autre fichier.

Présentation de la distribution Ubuntu : L'arborescence des fichiers

Voici une représentation simplifiée de l'arborescence des fichiers d'un système Linux.

  • /bin : contient les programmes systèmes importants.
  • /boot : Les fichiers utiles au démarrage du système
  • /dev : Contient des fichiers factices permettant de communiquer avec vos périphériques.
  • /etc : fichiers de configuration du système.
  • /home : les dossiers personnels des utilisateurs.
  • /lib : les librairies (bibliothèques) utiles au système.
  • /media : Les dossiers contenus correspondent aux accès de montage des périphériques de stockage.
  • /root : c'est le répertoire personnel de l'administrateur du système
  • /tmp : Comme son nom l'indique, ici sont stockés les fichiers temporaires utiles aux programmes en cours d'exécution. Ce dossier est vidé à chaque redémarrage.
  • /usr : Dossier important, contenant tous les programmes et les bibliothèques installés.
  • /var : Dossier contenant tout ce qui est relatif au système. Par exemple, les fameux fichiers « log » enregistrant ce qui se passe sur votre système, utiles quand quelque chose ne fonctionne plus.

Présentation de la distribution Ubuntu : La gestion des droits

Linux étant multi-utilisateurs un système de permissions contrôle les opérations que chacun peut faire sur les fichiers et répertoires.

Chaque fichier ou répertoire dispose de permissions spécifiques pour trois catégories d'utilisateurs :

  • Son propriétaire (symbolisé par la lettre "u" comme "User");
  • Son groupe propriétaire (symbolisé par la lettre "g" comme "Group");
  • Et les autres (symbolisé par la lettre "o" comme "Other")

De plus trois types de droits peuvent se combiner :

  • Lecture (symbolisé par la lettre "r" comme "Read").
  • Écriture ou modification (symbolisé par la lettre "w" comme "Write").
  • Exécution (symbolisé par la lettre "x" comme eXecute).

Trois commandes manipulent les permissions associées à un fichier :

  • chown : affecte un nouveau propriétaire à un fichier ou répertoire.
  • chgrp : affecte un nouveau groupe à un fichier ou répertoire.
  • chmod : intervient sur les droits.

Exemple :

chmod u+rw mon_fichier donne au propriétaire les droits en écriture et en lecture au fichier mon_fichier.

Présentation de la distribution Ubuntu : Les commandes en ligne

Les distributions récentes de Linux permettent d'utiliser un environnement graphique similaire à ceux de Microsoft Windows ou de Mac OS.
Mais il est possible d'exécuter des commandes en ligne dans une fenêtre nommée Terminal.

La syntaxe d’une commande est de la forme suivante :

COMMANDE OPTIONS ARGUMENTS

La commande étant la commande elle-même, suivie d’une ou plusieurs options facultatives qui servent à modifier le comportement de la commande tandis que les arguments, facultatifs aussi, représentent les objets sur lesquels la commande agit.

Parmi le grand nombre de commandes linux disponibles, voici les plus couramment utilisées classées par catégories.

Les commandes de gestion des répertoires et des fichiers :

  • pwd :affiche le chemin absolu du répertoire courant
  • ls : list, affiche les répertoires et les fichiers du répertoire actif
    Exemples :
    • ls (affiche seulement les noms)
    • ls toto* (affiche les fichiers commençant par toto)
    • ls -l (affiche le format long : types + droits + Nbre de liens + ....)
  • cd : change directory : change le répertoire courant
    Exemples :
    • cd chemin (vers le répertoire dont le chemin absolu est donné)
    • cd .. : répertoire parent
    • cd ~ :répertoire de base
    • cd - : répertoire précédent
    • cd / :répertoire racine)
  • cp : copie de fichier(s) ou de répertoire(s)
    Exemple :
    • cp rapport*.txt sauvegarde
    • mv : move : renomme et déplace un fichier
    • mkdir : crée un répertoire
    • rmdir : efface un répertoire

Les commandes de recherche

  • grep : recherche les occurrences de mots à l'intérieur de fichier

Les commandes d’édition

  • more ("pager" qui affiche page par page sans retour en arrière, "h" affiche l'aide contextuelle)
  • cat : concatenate avec le code de fin de fichier eof=CTRL + D)
  • head : affiche les 10 premières lignes d'un fichier

Le mot-clef sudo, pour super-user do, peut être ajouté au début d’une commande pour l’exécuter en tant qu’administrateur du système.

Nomad+, Le pass illimité vers la réussite 🔥

NOMAD EDUCATION

L’app unique pour réussir !