Vous êtes sur la page 1sur 33

PRINCIPE DES SYSTEMES

D’EXPLOITATION

Introduction aux Systèmes d’Exploitation

TOSSOU Kodjo Elom Francis K.


Directeur de NUFIO S.A.R.L.
Plan du cours
• 1. Introduction aux systèmes d’exploitation
• 2. Gestion des processus
• 3. Gestion de la mémoire
• 4. Gestion des fichiers
• 5. Entrées-sorties
• 6. Concurrence et synchronisation
• 7. Sécurité
• Les systèmes d'exploitation constituent le
cœur des systèmes informatiques, jouant un
rôle essentiel dans la gestion des ressources
matérielles et fournissant une interface
Introduction entre les applications et le matériel
• La définition et le rôle des SE sont
fondamentaux pour comprendre leur
importance dans le domaine informatique
Définition et rôle des Systèmes d'Exploitation
• Un système d'exploitation est une suite de logiciels qui orchestre et
contrôle les opérations de base d'un ordinateur
• Il offre une interface standard pour les applications, facilitant
l'utilisation efficace des ressources matérielles
• Le rôle principal d'un SE est de gérer les ressources matérielles, y
compris le processeur, la mémoire, les périphériques d'entrée/sortie,
et le stockage
Quelques exemples de fonctionnement
• Gestion des Ressources : Un SE gère la CPU en attribuant le temps
d'exécution aux différentes tâches en cours. Cela garantit une
utilisation efficace de la puissance de calcul disponible.
• Système de Fichiers : Les SE offrent une gestion de fichiers, organisant
les données de manière logique pour faciliter le stockage, la
recherche et la récupération.
• Gestion de la Mémoire Virtuelle : Les SE utilisent la mémoire virtuelle
pour étendre la capacité de la mémoire physique, permettant ainsi
l'exécution de programmes plus volumineux que la mémoire physique
disponible.
1.2 Types de Systèmes
d'Exploitation
• Les systèmes d'exploitation sont
diversifiés pour répondre aux
besoins variés des utilisateurs et
des environnements informatiques
• Comprendre les différents types
de SE permet d'appréhender la
flexibilité et l'adaptabilité de ces
systèmes
• Un système d'exploitation temps réel
(RTOS pour Real-Time Operating System
en anglais) est un type de système
d'exploitation conçu pour répondre à des
contraintes de temps strictes
Systèmes
• Contrairement aux systèmes d'exploitation
d’exploitatio classiques qui mettent l'accent sur le
rendement et la capacité de traitement,
n temps réel les RTOS sont conçus pour garantir que les
opérations critiques se produisent dans
des délais bien définis et souvent très
courts
Systèmes d’exploitation temps réel
Voici quelques caractéristiques et principes de fonctionnement des systèmes d'exploitation temps réel :

• 1. Précision temporelle : Les RTOS sont conçus pour garantir des délais de réponse prédéterminés et
très courts pour les opérations critiques. Cela signifie que les actions doivent être exécutées dans un
laps de temps spécifié, souvent en microsecondes ou en millisecondes.

• 2. Ordonnancement déterministe : Les tâches sont ordonnancées de manière à garantir que les tâches
les plus importantes ou les plus critiques soient exécutées en priorité, sans être retardées par des
tâches moins importantes.

• 3. Gestion des interruptions : Les RTOS doivent gérer efficacement les interruptions matérielles et
logicielles, en garantissant des temps de réponse courts pour les événements critiques.
Systèmes d’exploitation temps réel
• 4. Temps réel dur et mou : Les systèmes d'exploitation temps réel peuvent être classés
en deux catégories en fonction de leurs contraintes temporelles : les systèmes
d'exploitation temps réel dur, où les délais doivent absolument être respectés, et les
systèmes d'exploitation temps réel mou, où des dépassements de délai peuvent être
tolérés dans certaines situations sans compromettre la fonctionnalité du système.

• 5. Faible latence : Les RTOS visent à réduire au minimum les temps de latence, c'est-à-
dire le temps écoulé entre la demande d'une opération et son exécution

• 6. Concurrence et synchronisation : Les RTOS doivent fournir des mécanismes de gestion


de la concurrence et de synchronisation pour garantir que les ressources partagées sont
utilisées de manière sécurisée et efficace par les différentes tâches du système.
Exemple de Systèmes d’exploitation temps réel

• 1. FreeRTOS : FreeRTOS est un système d'exploitation temps réel open-source utilisé dans de nombreuses applications
embarquées et IoT (Internet des Objets). Il est connu pour sa légèreté et sa portabilité sur de nombreux microcontrôleurs et
processeurs

• 2. QNX : QNX est un système d'exploitation temps réel utilisé principalement dans les systèmes embarqués critiques, tels que les
systèmes de contrôle automobile, les dispositifs médicaux et les systèmes de télécommunications

• 3. VxWorks : VxWorks est un autre système d'exploitation temps réel utilisé dans diverses applications industrielles, aérospatiales
et militaires. Il est reconnu pour sa fiabilité et sa capacité à gérer des environnements complexes et critiques

• 4. RTOS embarqués dans des microcontrôleurs : De nombreux microcontrôleurs utilisent des RTOS intégrés spécifiques, souvent
fournis par les fabricants de microcontrôleurs eux-mêmes. Ces RTOS sont optimisés pour fonctionner sur des plates-formes
matérielles spécifiques et sont largement utilisés dans une variété d'applications embarquées
Systèmes d’exploitation
Multi-utilisateur

• Un système d'exploitation multi-utilisateurs


est un système qui permet à plusieurs
utilisateurs d'accéder simultanément et de
manière indépendante au même ordinateur
ou serveur.

• Ces systèmes sont conçus pour gérer


efficacement les ressources et permettre à
chaque utilisateur d'avoir son propre espace
de travail, ses propres fichiers et ses propres
applications, tout en garantissant la sécurité
et l'isolement entre les utilisateurs.
Systèmes d’exploitation Multi-utilisateurs
Voici comment fonctionne généralement un système d'exploitation multi-utilisateurs :

• 1. Gestion des comptes utilisateurs : Le système d'exploitation gère un ensemble de comptes utilisateurs, chacun
avec ses propres identifiants (nom d'utilisateur et mot de passe) et ses autorisations d'accès. Chaque utilisateur se
connecte au système en utilisant ses propres identifiants

• 2. Isolation des utilisateurs : Le système d'exploitation assure l'isolement entre les utilisateurs en leur attribuant
des espaces de stockage distincts pour leurs fichiers, des paramètres d'environnement personnalisés et des
autorisations d'accès spécifiques aux ressources du système

• 3. Gestion des sessions utilisateurs : Le système d'exploitation gère les sessions utilisateurs, ce qui permet à
plusieurs utilisateurs de se connecter et d'utiliser l'ordinateur simultanément. Chaque utilisateur peut démarrer sa
propre session et travailler de manière indépendante des autres utilisateurs
Systèmes d’exploitation Multi-utilisateurs
• 4. Contrôle des ressources partagées : Le système d'exploitation gère l'accès aux
ressources partagées telles que le processeur, la mémoire, les périphériques
d'entrée/sortie et les fichiers. Il assure également la résolution des conflits d'accès
lorsque plusieurs utilisateurs tentent d'accéder aux mêmes ressources simultanément

• 5. Gestion de la sécurité : Les systèmes d'exploitation multi-utilisateurs intègrent des


mécanismes de sécurité pour protéger les données et les ressources du système contre
les accès non autorisés. Cela inclut la gestion des droits d'accès aux fichiers et
répertoires, la surveillance des activités des utilisateurs et la mise en œuvre de
mécanismes d'authentification et de contrôle d'accès
Exemple de Systèmes d’exploitation Multi-
utilisateurs
• 1. Linux : Linux est un système d'exploitation open-source qui prend en charge de manière native les
environnements multi-utilisateurs. Il est largement utilisé dans les serveurs et les environnements
informatiques professionnels

• 2. Unix : Unix est un système d'exploitation multi-utilisateurs historique qui a posé les bases pour de
nombreux autres systèmes d'exploitation, dont Linux et macOS

• 3. Windows Server : Les versions serveur de Microsoft Windows, telles que Windows Server 2019, sont
conçues pour prendre en charge plusieurs utilisateurs simultanément dans des environnements
serveur

• 4. macOS Server : macOS Server est une version du système d'exploitation macOS qui inclut des
fonctionnalités de gestion multi-utilisateur pour les environnements serveur et d'entreprise
Systèmes d’exploitation
Mono-utilisateurs

• Un système d'exploitation mono-utilisateur


est un type de système d'exploitation conçu
pour être utilisé par une seule personne à la
fois.

• Contrairement aux systèmes d'exploitation


multi-utilisateurs qui prennent en charge
plusieurs utilisateurs simultanément, les
systèmes d'exploitation mono-utilisateurs
sont conçus pour des environnements où
une seule personne interagit avec le système
à un moment donné.
Systèmes d’exploitation Mono-utilisateurs
Voici quelques caractéristiques et principes de fonctionnement des systèmes
d'exploitation mono-utilisateurs :

• 1. Interface utilisateur graphique (GUI) : Ces systèmes d'exploitation sont souvent dotés
d'une interface utilisateur graphique conviviale permettant à l'utilisateur d'interagir avec
le système à l'aide de la souris, du clavier et d'autres périphériques d'entrée

• 2. Gestion des ressources : Le système d'exploitation alloue les ressources matérielles


telles que le processeur, la mémoire, le stockage et les périphériques d'entrée/sortie à
l'utilisateur actuel
Systèmes d’exploitation Mono-utilisateurs
• 3. Accès exclusif aux applications et aux fichiers : Étant donné qu'il n'y a qu'un seul utilisateur à
la fois, ce dernier a un accès exclusif aux applications et aux fichiers du système. Cela signifie que
l'utilisateur peut exécuter plusieurs programmes simultanément, mais ils s'exécutent dans le
contexte de la session utilisateur actuelle et ne sont pas partagés entre plusieurs utilisateurs

• 4. Personnalisation des paramètres utilisateur : Les systèmes d'exploitation mono-utilisateurs


permettent généralement à l'utilisateur de personnaliser ses paramètres utilisateur tels que le
fond d'écran, les préférences de bureau, les paramètres de sécurité, etc.

• 5. Facilité d'utilisation : Étant donné qu'il n'y a qu'un seul utilisateur à prendre en charge, les
systèmes d'exploitation mono-utilisateurs sont souvent conçus pour être simples et intuitifs à
utiliser
Exemple de Systèmes d’exploitation Mono-
utilisateurs
• 1. Microsoft Windows : Les versions grand public de Microsoft Windows, telles que
Windows 10, sont des exemples de systèmes d'exploitation mono-utilisateurs. Chaque
session utilisateur est destinée à être utilisée par une seule personne à la fois

• 2. Mac OS : Les versions de bureau du système d'exploitation développé par Apple, telles
que macOS, sont également des exemples de systèmes d'exploitation mono-utilisateurs

• 3. Chrome OS : Le système d'exploitation développé par Google pour les Chromebooks


est un exemple de système d'exploitation mono-utilisateur, conçu pour une utilisation
individuelle par un utilisateur à la fois
• Retracer l'histoire des systèmes
Histoire des d'exploitation permet de comprendre
Systèmes l'évolution de ces logiciels cruciaux depuis
les premiers ordinateurs jusqu'aux
d'Exploitation environnements informatiques modernes
Premiers systems d’exploitation

• Les premiers ordinateurs étaient souvent


dépourvus de SE
• Les programmeurs devaient charger manuellement
les programmes dans la mémoire de la machine, ce
qui limitait l'efficacité et la productivité
Histoire des systèmes d’exploitation
Les Premiers systèmes d’exploitation
• Les premiers ordinateurs étaient souvent dépourvus de SE
• Les programmeurs devaient charger manuellement les
programmes dans la mémoire de la machine, ce qui limitait
l'efficacité et la productivité
Les SE Batch
• Les premiers systèmes d'exploitation en mode batch ont
introduit la possibilité de regrouper plusieurs tâches dans un
seul lot (batch) pour un traitement automatisé
• Cela a amélioré l'efficacité en éliminant la nécessité de
charger chaque programme manuellement.
Histoire des systèmes d’exploitation
Systèmes d'Exploitation Temps Partagé
• Les systèmes d'exploitation temps partagé ont permis à
plusieurs utilisateurs d'accéder simultanément au même
système, partageant ainsi ses ressources
• Cela a ouvert la voie aux environnements informatiques
interactifs
Exemples
• UNIX dans les années 1970 (temps partagé)
• Apple DOS, MS DOS (SE personnel)
• La structure générale des systèmes
d'exploitation englobe les composants et les
Structure couches qui interagissent pour assurer le
Générale des bon fonctionnement du système
Systèmes • Comprendre cette structure offre un aperçu
des mécanismes internes et de la manière
d'Exploitation dont les différentes parties du SE
interagissent
STRUCTURE DU SYSTEME LINUX
Grandes familles
● Linux est conçu par Linus Torvald
● Linux a été totalement réécrit
● Linux est différent de Unix
● Linux est open source

Famille RedHat
● Paquets au format RPM (RedHat Packet Manager) les distributions d’une même famille partagent les mêmes
● Outils de gestion des paquets : Yum et rpm outils de gestions de paquets et du système.
Famille Debian
● Paquets au format DEB
● Outils de gestion des paquets : apt-get, aptitude, apt et dpkg

Différentes couches logicielles


Architecture avantageuse :
● Simple à utiliser, configurer, maintenir et développer
● Très stable car les composants de haut niveau n’interfèrent pas sur ceux
bas niveau
● Facile à personnaliser
● Parfaitement modifiable (on peut personnaliser tous les composants)
● Il n’est pas propriétaire (liberté de choisir le logiciel de son choix)
STRUCTURE DU SYSTEME LINUX
Arborescence
● Chaque dossier a sa fonction
● La connaissance de ces fonctions permet de
mieux s’orienter dans le système
● L’arborescence peut varier légèrement en fonction
de la distribution

● « / » La racine du système : elle contient les répertoires


principaux
● « bin » : Exécutables essentiels au système, utilisables par
tous les utilisateurs (ls, pwd, cp)
● « dev » : Point d’entrée de tous les périphériques (disque
dur, écran, partition, consoles TTY)
● « etc »: Ce dossier contient les commandes et fichiers
nécessaires à l’administrateur système (XXX.conf, passwd,
inittab, runlevels)
● « home » : Répertoire personnel des utilisateurs
● « var » : Ce dossier contient les données variables (fichiers
de log) mais parfois les bases de données (/var/lib/mysql) et
les pages de site web (/var/www/html)
Noyau du Système
d'Exploitation
• Le noyau est la partie centrale du SE, responsable de la
gestion des ressources matérielles, de la planification
des tâches, et de la communication entre les différentes
parties du système
• Le noyau (ou kernel en anglais) d'un système
d'exploitation est une composante essentielle qui
constitue le cœur de ce système. Il agit comme une
interface entre le matériel informatique et les logiciels
applicatifs, permettant ainsi la gestion des ressources
matérielles et la fourniture de services aux programmes
en cours d'exécution.
Noyau du Système d'Exploitation
• 1. Gestion des ressources matérielles : Le noyau gère l'accès aux ressources matérielles telles que le
processeur, la mémoire, les périphériques d'entrée/sortie (comme le clavier, la souris, etc.) et les dispositifs
de stockage (disques durs, SSD, etc.). Il assure également la gestion des interruptions matérielles, qui sont
des signaux envoyés par le matériel pour signaler des événements comme l'achèvement d'une opération
d'entrée/sortie.

• 2. Abstraction matérielle : Le noyau fournit une couche d'abstraction matérielle aux programmes
utilisateurs. Cela signifie qu'il masque les détails spécifiques du matériel sous-jacent aux programmes
applicatifs, ce qui permet aux développeurs de logiciels de concevoir des applications sans avoir à se soucier
des particularités de chaque type de matériel.

• 3. Gestion des processus : Le noyau est responsable de la création, de la planification et de la terminaison


des processus. Il alloue également les ressources du système (comme le temps CPU et la mémoire) aux
différents processus en cours d'exécution.
Noyau du Système d'Exploitation
• 4. Gestion de la mémoire : Le noyau alloue et libère la mémoire système selon les besoins des processus en
cours d'exécution. Il gère également la mémoire virtuelle, permettant à plusieurs processus de s'exécuter en
utilisant une quantité de mémoire supérieure à la mémoire physique disponible.

• 5. Gestion des fichiers : Le noyau gère l'accès aux fichiers et aux répertoires sur les dispositifs de stockage,
en fournissant des opérations de lecture, d'écriture, de création et de suppression de fichiers.

• 6. Gestion des périphériques : Le noyau gère les pilotes de périphériques, qui sont des logiciels responsables
de la communication entre le système d'exploitation et les périphériques matériels tels que les imprimantes,
les cartes réseau, les cartes graphiques, etc.
Gestionnaire de périphériques

• Le gestionnaire de périphériques, également


appelé pilote de périphérique, est un logiciel
spécialisé conçu pour permettre la
communication entre le système d'exploitation
et les périphériques matériels connectés à un
ordinateur.
• Chaque périphérique matériel, qu'il s'agisse
d'une imprimante, d'une carte réseau, d'une
carte graphique, d'un disque dur, etc., nécessite
un pilote spécifique pour fonctionner
correctement avec le système d'exploitation.
Gestionnaire de périphériques
Quelques fonctionnalités
• 1. Communication avec le matériel : Le gestionnaire de périphériques agit comme une interface entre le
système d'exploitation et le matériel du périphérique. Il permet au système d'exploitation d'envoyer des
instructions au périphérique et de recevoir des données de celui-ci.

• 2. Gestion des ressources matérielles : Le pilote de périphérique est responsable de l'allocation et de la


libération des ressources matérielles nécessaires au fonctionnement du périphérique, telles que la mémoire,
les ports d'entrée/sortie, etc.

• 3. Traduction des commandes système : Le gestionnaire de périphériques traduit les commandes système
générales du système d'exploitation en commandes spécifiques compréhensibles par le périphérique. Par
exemple, lorsque vous imprimez un document, le pilote de l'imprimante traduit les données à imprimer en
un format que l'imprimante peut comprendre.
Gestionnaire de périphériques
• 4. Gestion des interruptions : Les périphériques matériels envoient des signaux d'interruption au processeur
pour signaler des événements tels que l'achèvement d'une opération ou la détection d'une erreur. Le
gestionnaire de périphériques gère ces interruptions et réagit en conséquence, en informant le système
d'exploitation et en effectuant les actions nécessaires

• 5. Configuration et initialisation : Le pilote de périphérique est responsable de la configuration et de


l'initialisation du périphérique lors du démarrage du système d'exploitation. Cela peut inclure la détection
des caractéristiques du périphérique, la vérification de son état de fonctionnement et l'initialisation de ses
paramètres

• 6. Fourniture d'interfaces logicielles : Le pilote de périphérique expose des interfaces logicielles


standardisées que les applications et le système d'exploitation peuvent utiliser pour interagir avec le
périphérique. Cela permet aux développeurs de logiciels de créer des applications compatibles avec
différents périphériques sans avoir à se soucier des détails spécifiques de chaque périphérique
Interface Utilisateur
• L'interface utilisateur permet aux
utilisateurs d'interagir avec le
système de manière conviviale
• Elle peut être en ligne de
commande ou graphique, offrant
des moyens d'exécuter des
programmes, de gérer des fichiers
et de configurer le système
Conclusion
• Ce chapitre a fourni une introduction
approfondie aux systèmes d'exploitation,
couvrant leur définition, leur rôle, les
différents types, leur évolution historique,
et leur structure générale
• Comprendre ces concepts fondamentaux
est essentiel pour toute personne
souhaitant explorer plus avant le domaine
des systèmes d'exploitation
• Les systèmes d'exploitation continuent
d'évoluer pour répondre aux besoins
changeants de la technologie, façonnant
ainsi le paysage informatique moderne

Vous aimerez peut-être aussi