CHAPITRE 3 : FONCTIONS ESSENTIELLES
INTRODUCTION
Dans le domaine des systèmes informatiques, comprendre les fonctions essentielles est
primordial pour le fonctionnement efficace des environnements informatiques modernes. Ce
cours aborde en profondeur trois aspects clés : la gestion des ressources matérielles et
logicielles, le contrôle des périphériques d'entrée et de sortie, et la gestion des fichiers et des
systèmes de stockage.
Nous commencerons par explorer la gestion des ressources matérielles et logicielles, qui sont
fondamentales pour le bon fonctionnement des systèmes informatiques. Ensuite, nous
examinerons le contrôle des périphériques d'entrée et de sortie, en analysant comment ces
composants interagissent avec le système pour assurer une communication fluide et efficace.
Enfin, nous approfondirons la gestion des fichiers et des systèmes de stockage, en étudiant les
mécanismes qui permettent de stocker, organiser et accéder aux données de manière sécurisée
et optimisée.
Ce cours vous fournira les connaissances indispensables pour maîtriser ces fonctions
essentielles et vous préparer à relever les défis techniques dans des environnements
informatiques diversifiés.
I. LES FONCTIONS ESSENTIELLES DES SYSTEMES INFORMATIQUES
1. Gestion des Ressources Matérielles et Logicielles
La gestion des ressources matérielles et logicielles est une fonction cruciale des systèmes
informatiques, car elle permet de contrôler et d'optimiser l'utilisation des composants physiques
(matériel) et des programmes (logiciel) nécessaires au fonctionnement du système. Voici une
analyse détaillée de cette fonction essentielle qui s’étend sur 7 étape :
Etape 1 : Identification et Inventaire des Ressources
La première étape de la gestion des ressources consiste à identifier et inventorier toutes les
ressources disponibles. Cela inclut :
Ressources matérielles : Processeurs, mémoire (RAM), disques durs, cartes réseau,
périphériques d'entrée/sortie (claviers, souris, imprimantes, etc.).
Ressources logicielles : Systèmes d'exploitation, applications, bibliothèques logicielles,
utilitaires, et pilotes.
Etape 2 : Allocation des Ressources
Une fois les ressources identifiées, le système doit les allouer efficacement. Cela signifie
distribuer les ressources disponibles aux différents processus et applications en fonction de leurs
besoins et priorités. Une bonne allocation permet d'optimiser les performances et d'éviter les
conflits de ressources.
Etape 3 : Surveillance et Supervision des Ressources
La surveillance continue des ressources est essentielle pour détecter les surcharges, les pannes
ou les inefficacités. Cela inclut
Surveillance des performances : Suivre l'utilisation du processeur, la consommation de
mémoire, l'activité du disque dur, et l'utilisation du réseau.
Détection des pannes : Identifier les défaillances matérielles (comme un disque dur
défectueux) et les erreurs logicielles (comme une application qui ne répond plus).
Etape 4 : Gestion de la Capacité et de la Scalabilité
La gestion de la capacité consiste à s'assurer que le système dispose de suffisamment de
ressources pour répondre aux besoins actuels et futurs. Ici il est question de Planification de la
capacité pour Prévoir les besoins en ressources en fonction de la croissance et des nouveaux
projets en suite de la Scalabilité qui prendra en charge l’ajout ou retrait des ressources selon les
exigences pour maintenir des performances optimales.
Etape 5 : Gestion des Conflits de Ressources
Lorsqu'il y a plusieurs processus ou applications en concurrence pour les mêmes ressources, il
est crucial de gérer ces conflits afin d'éviter les ralentissements ou les pannes. Cela peut se faire
par la planification des ressources, en utilisant des algorithmes pour attribuer les ressources de
manière juste et efficace. En parallèle, la priorisation permet d'accorder la priorité aux processus
ou applications critiques en cas de conflit.
Etape 6 : Mise à Jour et Maintenance
La gestion des ressources inclut également la mise à jour et la maintenance régulières des
composants matériels et logiciels pour garantir leur bon fonctionnement et sécurité. Cela
comprend la Mise à jour des logiciels qui se consacre à l’Installer les correctifs de sécurité, les
nouvelles versions de logiciels et les pilotes en suite Maintenance matérielle ici c’est
Remplacement des composants défectueux, nettoyage et vérification des câbles et connexions.
Etape 7 : Optimisation des Ressources
L'optimisation vise à améliorer l'efficacité et les performances des ressources. Cela peut inclure
:
• Tuning des systèmes : Ajuster les paramètres du système pour une performance
optimale.
• Défragmentation : Réorganiser les données sur les disques pour accélérer l'accès.
Ces étapes de gestion des ressources matérielles et logicielles assurent que le système
fonctionne de manière fiable et efficace, en maximisant les performances et en minimisant les
risques de pannes et de conflits.
2. Contrôle des Périphériques d'Entrée et de Sortie
Le contrôle des périphériques d'entrée et de sortie (E/S) est une fonction essentielle des
systèmes informatiques, permettant aux utilisateurs d'interagir avec le système et au système de
communiquer avec le monde extérieur. Voici une analyse détaillée de cette fonction
a) Périphériques d'Entrée
Les périphériques d'entrée permettent aux utilisateurs de fournir des données et des instructions
au système informatique. Les principaux périphériques d'entrée incluent :
Claviers : Utilisés pour saisir des textes et des commandes.
Souris : Utilisées pour naviguer et interagir avec l'interface graphique.
Scanners : Utilisés pour numériser des documents et des images.
Microphones : Utilisés pour l'entrée audio.
b) Périphériques de Sortie
Les périphériques de sortie permettent au système de présenter des informations aux
utilisateurs. Les principaux périphériques de sortie incluent :
Écrans : Utilisés pour afficher les interfaces graphiques, les vidéos et les images.
Imprimantes : Utilisées pour produire des copies papier des documents numériques.
Haut-parleurs : Utilisés pour diffuser des sons et des alertes audio.
Projecteurs : Utilisés pour afficher des présentations et des vidéos sur de grands écrans.
c) Gestion des Périphériques
La gestion des périphériques d'E/S implique plusieurs tâches clés dont nous presenterons sans
trop entre en détaille
Reconnaissance et Configuration : Lorsqu'un périphérique est connecté au système,
celui-ci doit le reconnaître et le configurer correctement pour qu'il soit prêt à l'emploi.
Cela inclut l'installation des pilotes nécessaires.
Planification et Priorisation des E/S : Les demandes d'E/S peuvent provenir de multiples
sources (applications, utilisateurs, etc.), et le système doit les gérer efficacement pour
éviter les conflits et les retards. Les algorithmes de planification sont utilisés pour
déterminer l'ordre de traitement des demandes.
Gestion des Interruptions : Les périphériques peuvent envoyer des interruptions au
processeur pour signaler qu'ils sont prêts ou qu'une erreur est survenue. Le système doit
gérer ces interruptions de manière à minimiser l'impact sur les performances globales.
d) Buffers (ou Tampons)
Les buffers, ou tampons, jouent un rôle crucial dans la gestion des débits de données entre les
périphériques et le système informatique. Ils servent de zones de stockage temporaires pour les
données en transit, assurant une communication fluide et efficace entre les différents
composants du système.
➢ Fonctionnement des Buffers
Un buffer est une zone de mémoire qui stocke temporairement les données en cours de transfert
entre deux entités, telles qu'un périphérique et le système central. Les buffers permettent de
gérer les différences de vitesse de traitement entre les périphériques rapides et lents. Par
exemple, un disque dur peut écrire des données plus rapidement qu'une imprimante ne peut les
imprimer. Le buffer stocke les données en attente d'impression, permettant au disque dur de
continuer à écrire sans attendre que l'imprimante termine.
➢ Types de Buffers
Il existe plusieurs types de buffers en fonction de leur utilisation et de leur emplacement :
o Buffers matériels : Intégrés directement dans les périphériques, ils permettent de gérer
les transferts de données internes. Par exemple, un disque dur peut avoir un buffer
interne pour stocker temporairement les données en écriture ou en lecture.
o Buffers logiciels : Gérés par le système d'exploitation ou les applications, ils permettent
de stocker les données en transit entre les périphériques et le système central. Par
exemple, le spooler d'impression utilise un buffer logiciel pour gérer les tâches
d'impression en attente.
e) Protocoles de Communication
Les périphériques d'E/S utilisent divers protocoles de communication pour échanger des
données avec le système. Ces protocoles définissent les règles et les formats de transmission
des données, assurant une communication fiable et efficace. Les examples incluent USB
(Universal Serial Bus), HDMI (High-Definition Multimedia Interface), et Bluetooth.
f) Sécurité et Contrôle d'Accès
La sécurité est un aspect crucial de la gestion des périphériques d'E/S. Le système doit contrôler
l'accès aux périphériques pour prévenir les utilisations non autorisées et protéger les données
sensibles. Cela peut inclure des mécanismes d'authentification et de cryptage.
En gérant efficacement les périphériques d'entrée et de sortie, les systèmes informatiques
peuvent assurer une interaction fluide et une communication efficace entre les utilisateurs et les
machines, tout en maintenant des performances optimales et une sécurité renforcée.
3. Gestion de la Mémoire
La gestion de la mémoire est une fonction cruciale des systèmes informatiques, permettant
d'allouer et de libérer de l'espace mémoire pour les différentes applications et processus.
a) L'allocation de la mémoire
L'allocation de la mémoire consiste à assigner des portions de mémoire aux processus en
cours d'exécution. Cela inclut l'allocation statique, où la mémoire est allouée à un processus
avant son exécution et ne change pas pendant l'exécution, et l'allocation dynamique, où la
mémoire est allouée et libérée pendant l'exécution du processus en fonction de ses besoins.
b) La mémoire virtuelle
La mémoire virtuelle permet d'étendre la mémoire physique du système en utilisant une partie
de l'espace disque comme mémoire supplémentaire. Cela inclut le paging, qui divise la mémoire
en pages de taille fixe pouvant être déplacées entre la mémoire physique et le disque, et la
segmentation, qui divise la mémoire en segments de tailles variables en fonction des besoins
des processus.
c) La gestion des pages et des segments
La gestion des pages et des segments est essentielle pour optimiser l'utilisation de la mémoire
et assurer une exécution efficace des processus. Elle implique la table des pages, qui suit les
pages et leur emplacement en mémoire, et la table des segments, qui suit les segments et leur
emplacement.
d) Algorithmes de Planification des Processus
➢ FIFO (First In, First Out)
L'algorithme FIFO exécute les processus dans l'ordre de leur arrivée. Chaque processus
s'exécute jusqu'à sa fin avant que le suivant ne commence. C'est un algorithme simple à mettre
en œuvre, mais il peut provoquer des temps d'attente longs pour les processus arrivés en dernier.
Avantages :
Simple et facile à implémenter.
Équitable pour les processus arrivés en premier.
Inconvénients :
Temps d'attente potentiellement élevé pour les processus arrivés en dernier.
Pas optimal pour les environnements interactifs où la réactivité est importante.
➢ Round Robin
L'algorithme Round Robin attribue à chaque processus un temps fixe, appelé quantum, pour
s'exécuter. Si le processus n'est pas terminé au bout de ce temps, il est déplacé à la fin de la file
d'attente et le processus suivant commence. Ce cycle se répète jusqu'à ce que tous les processus
soient terminés.
Avantages :
Équitable : tous les processus reçoivent du temps CPU.
Bon pour les systèmes interactifs car les processus ne restent pas bloqués longtemps.
Inconvénients :
Performance dépend du choix du quantum.
Peut entraîner une surcharge du système due aux changements fréquents de processus.
➢ Priority Scheduling
Dans cet algorithme, chaque processus est attribué une priorité. Les processus de haute priorité
sont exécutés en premier. Si deux processus ont la même priorité, ils peuvent être exécutés
selon un autre algorithme comme FIFO. Les priorités peuvent être statiques (définies à l'avance)
ou dynamiques (changées au fil du temps en fonction du comportement du processus).
Avantages :
Priorise les processus critiques.
Flexible : peut être combiné avec d'autres algorithmes.
Inconvénients :
Possibilité d'inversion de priorité où des processus de haute priorité sont bloqués par des
processus de faible priorité.
Les processus de faible priorité peuvent souffrir de famine, ne recevant jamais le temps CPU.
➢ Shortest Job Next (SJN) ou Shortest Job First (SJF)
Cet algorithme choisit d'exécuter le processus avec le temps d'exécution le plus court. Il peut
être préemptif ou non préemptif :
Non Préemptif : Une fois qu'un processus commence à s'exécuter, il continue jusqu'à sa fin.
Préemptif (Shortest Remaining Time First) : Si un nouveau processus arrive avec un temps
d'exécution plus court que le processus en cours, le processus en cours est suspendu.
Avantages :
Minimise le temps d'attente moyen.
Efficace pour les environnements où les temps d'exécution des processus sont connus.
Inconvénients :
Difficile à implémenter dans les environnements où les temps d'exécution ne sont pas connus à
l'avance.
Possibilité de famine pour les processus de longue durée.
➢ Multilevel Queue Scheduling
Dans cet algorithme, les processus sont classés en plusieurs files d'attente basées sur leur type
(interactif, batch, système, etc.). Chaque file d'attente peut utiliser un algorithme différent pour
gérer les processus à l'intérieur de la file. Les processus dans les files d'attente de plus haute
priorité sont exécutés en premier.
Avantages :
Permet de traiter différemment les processus en fonction de leur type et de leurs besoins.
Flexible et adaptable.
Inconvénients :
Complexe à implémenter et à gérer.
Nécessite un bon équilibrage entre les files d'attente pour éviter la famine des processus de
basse priorité.
g) Action mémoire
La mémoire partagée permet à plusieurs processus d'accéder à une même portion de mémoire,
facilitant ainsi la communication et la collaboration entre eux. Cela inclut les segments de
mémoire partagée, utilisés conjointement par plusieurs processus, et la synchronisation, des
mécanismes pour assurer que les processus accèdent à la mémoire partagée de manière
ordonnée et sans conflits.
Libérer la mémoire consiste à rendre la mémoire allouée à un processus disponible pour
d'autres processus après la fin de son exécution. Cela inclut la garbage collection, une
automatisation de la libération de la mémoire en détectant et récupérant la mémoire non utilisée,
et la défragmentation, qui réorganise la mémoire pour consolider les espaces libres et améliorer
l'efficacité de l'allocation.
Enfin, la protection de la mémoire assure que chaque processus ne peut accéder qu'à ses
propres segments de mémoire, prévenant ainsi les erreurs et les conflits. Cela inclut les
permissions, qui définissent les droits d'accès pour chaque segment de mémoire, et la protection
par matériel, qui utilise des dispositifs matériels pour surveiller et contrôler l'accès à la mémoire.
4. Gestion des Fichiers et des Systèmes de Stockage
La gestion des fichiers et des systèmes de stockage est une fonction essentielle des systèmes
informatiques, permettant de créer, lire, modifier et supprimer des fichiers sur des supports de
stockage tels que les disques durs et les SSD. Voici une analyse détaillée de cette fonction
essentielle :
Création, Lecture, Modification et Suppression des Fichiers
• Création de fichiers : Initialise une nouvelle entrée dans le système de fichiers.
• Lecture de fichiers : Permet d'accéder aux données contenues dans un fichier.
• Modification de fichiers : Met à jour les données existantes.
• Suppression de fichiers : Retire les fichiers du système de stockage.
Les systèmes de stockage organisent les fichiers de manière structurée pour faciliter l'accès et
la gestion des informations ici le Systèmes de fichiers définissent la manière dont les données
sont organisées et récupérées. Exemples : NTFS, ext4, HFS+.
L'allocation des blocs est un aspect crucial de la gestion des fichiers. Les blocs de stockage sont
les unités de base utilisées pour stocker les fichiers sur un disque. Les méthodes courantes
d'allocation sont
• Allocation contiguë : Les fichiers sont stockés dans des blocs adjacents.
• Allocation liée : Les blocs de fichier peuvent être dispersés, liés par des pointeurs.
• Allocation indexée : Utilise une table d'index pour gérer les blocs de fichier.
Avant toute action il est important de définir des droit accès La gestion des droits d'accès assure
la sécurité des fichiers et des données
Permissions : Définissent les niveaux d'accès pour différents utilisateurs ou groupes.
Listes de contrôle d'accès (ACL) : Spécifient les droits d'accès pour des utilisateurs ou groupes
spécifiques.
La protection des données est une priorité majeure dans la gestion des fichiers. Cela inclut la
mise en place de sauvegardes régulières pour prévenir la perte de données, l'utilisation de la
redondance pour protéger contre les pannes de matériel, et le chiffrement pour sécuriser les
données sensibles contre l'accès non autorisé.
Enfin, la récupération des fichiers permet de restaurer des fichiers supprimés ou corrompus.
Les systèmes de fichiers intègrent souvent des mécanismes de récupération, comme les
journaux de transactions qui enregistrent les modifications apportées aux fichiers pour
permettre leur restauration en cas de défaillance du système.
CONCLUSION
Ce cours offre une compréhension approfondie des fonctions essentielles des systèmes
informatiques, couvrant la gestion des ressources matérielles et logicielles, le contrôle des
périphériques d'entrée et de sortie, et la gestion des fichiers et des systèmes de stockage. En
maîtrisant ces aspects, vous serez équipé pour optimiser le fonctionnement des environnements
informatiques modernes et relever les défis techniques dans des contextes diversifiés. Grâce à
ces connaissances, vous serez mieux préparé à naviguer dans le monde complexe et en
constante évolution des systèmes informatiques.