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.
Démarrage du système
Il se lance juste après le BIOS et le programme d'amorçage (en anglais bootloader).
Rôle d'intermédiaire
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 …)
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.
L'ère du transistor (1955-1965)
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.
Les circuits intégrés et UNIX (1964-1972)
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).
Chronologie des systèmes d'exploitation majeurs
1980 : La société Microsoft crée le système d'exploitation MS-DOS qui ne comporte pas d'interface graphique.
1983 : Richard Stallman crée le système d'exploitation libre nommé GNU.
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.
1987 : La société IBM crée le système d'exploitation OS/2.
1990 : La société Microsoft développe le système d'exploitation Windows 3.1 avec une interface graphique.
1991 : Linus Torvalds crée le noyau Linux du système GNU/Linux.
2007 : Apple met à disposition le système iOS pour ses smartphones.
2007 : Google met à disposition le système Android pour smartphones. Android est basé sur le noyau Linux.
Classification des systèmes d'exploitation
On peut distinguer les systèmes d'exploitation libres de ceux qui sont propriétaires.
Logiciels libres
Un logiciel libre est, selon la définition de la Free Software Foundation, un programme qui accorde 4 libertés essentielles à l'utilisateur :
Liberté d'exécuter le programme pour n'importe quel usage,
Liberté de le modifier,
Liberté de redistribuer des copies du programme et
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).
Systèmes d'exploitation propriétaires
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.
Cas particulier d'Android
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 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.
Définition du logiciel libre
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.
Les quatre libertés fondamentales
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.
Exemples de distributions
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.
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 :
Applications bureautiques
LibreOffice, KOffice, Scribus
Outils graphiques
The Gimp : logiciel de retouche d'images ;
InkScape : logiciel de dessin vectoriel ;
F-Spot : application dédiée à la gestion des photos ;
Outils pour Internet
Firefox, Konqueror : navigateurs pour surfer sur le Web ;
Présentation de la distribution Ubuntu : Systèmes de fichiers
Système 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.).
Fonctionnalités principales
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.
Types de systèmes de fichiers
Linux possède ses propres systèmes de fichiers comme ext2 ou ext3. Windows propose par exemple fat32 ou ntfs.
Structure et organisation
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
Types de fichiers
Fichiers normaux
Les fichiers normaux comprennent différents types de contenus :
Texte : courrier, sources des programmes, scripts, configuration
Exécutables : programmes en code binaire
Fichiers répertoires
Les fichiers répertoires 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.
Fichiers spéciaux
Les fichiers spéciaux sont situés dans /dev, ce sont les points d'accès préparés par le système aux périphériques.
Fichiers liens symboliques
Les fichiers liens symboliques sont des fichiers qui ne contiennent qu'une référence (un pointeur) à un autre fichier.
Présentation de la distribution Ubuntu : Les commandes en ligne
Les commandes Linux
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.
Syntaxe d'une commande
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
Commande pwd
pwd : affiche le chemin absolu du répertoire courant
Commande ls
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 + ....)
Commande cd
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
Autres commandes de gestion
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
Commande d'administration
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.