Cours sur les systèmes d'exploitation - Introduction aux systèmes d’exploitation SE Windows - Linux
1- Notions sur les SE
1.1 Définition
1.2 Classification des SE
1.1 Définition
1.2 Classification des SE
1.2.1 Le système mono-tâche
1.2.2 Le système multitâche
1.2.3 Le système multi-utilisateur (étude en 2éme année)
1.2.2 Le système multitâche
1.2.3 Le système multi-utilisateur (étude en 2éme année)
2- les fonctions du SE
2.1 Le chargement
2.2 La communication Homme-Machine
2.3 Fournir des services d’accès aux ressources
2.4 Gérer des fonctions complexes
2.4.1 La gestion de l’unité centrale
2.4.2 Gestion des processus
2.4.3 La gestion de la mémoire centrale
2.4.4 La gestion des entrées-sorties
2.4.5 La gestion des fichiers
3- Les principaux SE du marché
3.1 Gros systèmes
3.2 Les serveurs
3.3 Les postes de travail
1 Notions sur les SE
1.1 Définition
Le système d’exploit ion SE ou OS en anglais (Operating System) est un logiciel nécessaire au fonctionnement d’un ordinateur, il est l’interface entre le matériel et l’utilisateur. Tous les logiciels auxquels l’utilisateur a accès ne sont pris en compte par la machine qu’au travers du système d’exploit ion. A chaque type de matériel correspond un type de système d’exploit ion(Ms-Dos, Windows, Mac-OS, Unix…)
Le SE :
- Pilote les organes de l'ordinateur (écran, clavier, disque, mémoire centrale...)
- Lance en exécution les divers programmes
Le SE est composé :
- D’un noyau (kernel) : qui assure la gestion des processus : cœur du système
- Le noyau est de plus en plus restreint à sa fonction principale.
- On parle de micro noyau.
- D’autres composants logiciels assurant les fonctions du système :
- Gestion de fichiers
- Gestion de mémoire
- Gestion des entrées-sortes
- Interpréteur de commande :
- …
Schéma complet d'un SE
1.2 Classification des SE
Il existe trois types de SE :
1.2.1 Le système mono-tâche
Il ne gère qu'une seule tâche à la fois (un seul programme). Quand le programme est lancé, il utilise seul les ressources de la machine et ne rend la main au système d'exploit ion qu'en fin d'exécution, ou en cas d'erreur.
Exemple : MS-DOS
1.2.2 Le système multitâche
Le système multitâches (mono-utilisateur) gère simultanément plusieurs programmes sur une même machine. Il permet de partager le temps du processeur pour plusieurs programmes, ainsi ceux-ci sembleront s'exécuter simultanément. Le principe est d'allouer du temps à différents programmes(taches ou processus) fonctionnant simultanément. Ces tâches seront tour à tour actives, en attente, suspendues ou détruites, suivant la priorité qui leur est associée. Le temps alloué peut être fixe ou variable suivant le type de partage géré par le SE.
Exemple : OS2 d'IBM , Windows 95-98…
Schéma de séquencement de tâches
1.2.3 Le système Multi-Utilisateur (étude en 2éme année)
Les caractéristiques principales sont :
- gestion d'environnement propre à chaque utilisateur (identification, ressources propres
- sécurité d'accès aux programmes et aux données
- notion de droits d'accès
Ce type de système fait apparaître la notion d'administrateur qui gère le système, indique les priorités, partage l'espace disque, déclare les utilisateurs, les supprime, établit des stratégies de sauvegarde et de sécurité
Exemple : Windows NT 2000 XP, Linux, Unix…
2 les fonctions du SE
Un système d’exploit ion joue différentes fonctions essentielles :
- Il gère l’ensemble des échanges entre le microprocesseur, la mémoire centrale et les unités périphériques;
- Il met à la disposition de l'utilisateur un certain nombre de commandes et il gère leur exécution (formatage des disquettes, copie de fichiers...
- Il détecte les erreurs, les gère et informe l’utilisateur.
- …
2.1 Le chargement
C’est la phase de démarrage de l’ordinateur appelé également "Boot sequence". A la mise sous tension, un programme du Bios recherche à un endroit définit (disque, disquette, clé, CD-ROM…) un programme "Boot loader" qu'il charge en mémoire et qui va s'exécuter. Ce programme est déjà une partie du SE qui va charger différents "morceaux" du SE qui vont ensuite s'exécuter.. L’ensemble du système d’exploit ion est ainsi chargé et exécuté.
2.2 La communication Homme-Machine
Dés que le système est chargé, l'utilisateur a normalement "la main" pour envoyer des ordres au SE qui les exécutera. Ces ordres peuvent être envoyés soi en mode console (ligne de commande), soit en mode graphique. Certains SE ne sont qu'en mode console (M S-Dos). Les ordres peuvent également être lancés à travers l'exécution d'application ou de fichiers de commande (fichiers "batch"). Dans certains cas, l' utilisateur devra au préalable s'identifier (fenêtre de login).
2.3 Fournir des services d’accès aux ressources
On n’utilise pas une machine pour son seul système d’exploit ion mais pour les logiciels applicatifs que l’on installe en complément du S.E. Ces applications utilisent des services du S.E pour lire ou écrire un fichier sur le disque, pour connaître la date du jour … L’ensemble de ces services est fourni par le SE et le développeur d'application n'a pas à les ré-écrire. Ces services sont appelés API (Application Programming Interface). Sous Windows, on parle de l'API Win32.
Du point de vue du programmeur, l’API est un ensemble de fonctions qu’il est possible d’appeler dans un programme afin d’obtenir des services de la part du SE. De ce fait tout logiciel est conçu pour fonctionner sur un SE particulier.
2.4 Gérer des fonctions complexes
Le SE, une fois démarré, gère au mieux les ressources matérielles : processeurs, mémoire centrale, périphériques suivant les demandes des applications.
2.4.1 La gestion de l’unité centrale
La gestion de l’unité centrale(processeur) consiste à distribuer le processeur entre les différents travaux à exécuter. Cette fonction est simple dans le cas d’un système mono-tâche. En ce qui concerne un système multitâche, la concurrence pour l’accès au processeur entre les différents travaux est gérée par l’attribution d’un niveau de priorité et d'une portion de temps de l'unité centrale.
2.4.2 Gestion des processus
On parle dans le cas de systèmes multitâches de gestion des processus, les processus étant des programmes ou des parties de programmes lancés par le SE en arrière-plan (Une application peut générer plusieurs processus). Un processus peut être actif (en cours d'exécution ) ou inactif (en attente d'exécution).
Il ne peut y avoir qu'un processus actif à la fois. Le changement d'état d'un processus se fait sous couvert du SE suie à une interruption reçue soi par un dispositif d'entrée-sorte, soi à intervalle régulier de
manière à répartir le temps entre les processus effectuant un traitement. Un processus peut rendre la main au SE en fin de traitement.
- Un système est dit préemptif lorsqu'il possède un Ordonnanceur (aussi appelé planificateur), qui répartit, selon des critères de priorité le temps machine entre les différents processus qui en font la demande.
2.4.3 La gestion de la mémoire centrale
Les applications occupent et utilisent de la place en mémoire, le SE a pour rôle de gérer en permanence un plan d'occupation de la mémoire (organisation et optimisation de la mémoire).Le SE gère le chargement des programmes en mémoire centrale. En cas de besoin, le SE répartit les besoins entre la mémoire vive et la mémoire virtuelle (place allouée sur le disque dur). On parle alors de swapping. Pour répartir la mémoire entre application, plusieurs techniques peuvent être mise en œuvre :
- La pagination : Les programmes sont découpés en pages de longueur fixe correspondant aux segments de mémoire alloués.
- La segmentation permet un découpage plus fin et adapté aux besoins. Les programmes ne sont pas découpés en pages de tailles fixes mais en segments dont la taille est adaptée au programme. Les segments peuvent être implantés en mémoire centrale ou en mémoire virtuelle
La mémoire peut également être gérée de façon mixte.
Un des problèmes important est la réallocation de la mémoire lorsque celle-ci est libérée ou la récupération de la mémoire non libérée par des applications. Certains systèmes disposent d'un dispositif de ramasse miette (Garbage Colector) qui récupère la mémoire non libérée.
2.4.4 La gestion des entrées-sorties
Cette fonction consiste à prendre en charge l'échange d'information entre l’ordinateur et l’extérieur. Cette gestion comprend à la fois l'installation (ajout, suppression, mise à jour) que l'utilisation de périphériques. Ces différentes fonctions sont assurées par des pilotes (drivers).
2.4.5 La gestion des fichiers
Le système de gestion de fichiers prend en charge les opérations de lecture-écriture de fichiers sur des ressources autre que la mémoire centrale(disque, disquette, clé USB…). Il gère à la fois les fichiers, les répertoires et tient à jour la table d'allocation (File Allocation Table) qui permet d'associer le fichier à son implantation physique sur le disque, mais également de gérer l'espace disponible sur celui-ci .
Un certain nombre de commandes et d’utilitaires sont mises à la disposition de l’utilisateur pour gérer ses fichiers et ses répertoires (copie, renommage, création de répertoire, formatage..).
3 Les principaux SE du marché
3.1 Gros systèmes
Le marché des gros systèmes est essentiellement dominé :
- soit par IBM et son AS400 tournant sous OS400, ou d'autres systèmes (Z-OS, OS390 …)
- soit par des machines fonctionnant sous UNIX.
Néanmoins, Linux est de plus en plus présent également sur ce marché.
3.2 Les serveurs
- Unix ou Linux de plus en plus
- Les systèmes Windows (NT serveur, 2000 serveur, 2003)
- Novell
3.3 Les postes de travail
Les postes de travail sont composés aujourd'hui en majorité de PC. Les systèmes utilisés sont donc ceux fonctionnant sur cette plate-forme :
- MS-Dos
- Windows 95, 98, NT Work-station, Millenium, 2000 Pro , XP Pro
- Linux
Les autres systèmes
- Mac-Os
- Système X
- Sun-Os
- Free-Bsd
Les étapes importantes des OS :
Article plus récent Article plus ancien