Vous êtes sur la page 1sur 7

FICHE DE REVISION

SYSTEME D’EXPLOITATION

Question de cours :

1. Définition des termes suivants : BIOS, CMOS, système d’exploitation,


processus.
• BIOS: Basic Input/Output System.
• CMOS: Complementary Metal-Oxide-Semiconductor.
• Système d’exploitation : Software qui gère les ressources d'un ordinateur et fournit
des services aux programmes et aux utilisateurs.
• Processus : Une instance d'un programme en cours d'exécution sur un système
informatique.
2. Processus de chargement et d’exécution d’un SE (de la mise sous tension
au démarrage du SE)
o BIOS (Basic Input/Output System) : Lorsque l'ordinateur est allumé, le BIOS est
le premier logiciel qui s'exécute. Il est stocké dans une mémoire permanente sur la
carte mère de l'ordinateur. Le rôle du BIOS est d'initialiser et de tester le matériel
essentiel de l'ordinateur, tel que le processeur, la mémoire, les disques durs, etc.
o POST (Power-On Self Test) : Le BIOS effectue un ensemble de tests matériel
appelé POST pour vérifier si tous les composants matériels fonctionnent
correctement. Si des erreurs sont détectées, des messages d'erreur peuvent être
affichés à l'écran.
o Amorçage (Boot) : Après le POST, le BIOS recherche le périphérique de démarrage
(généralement le disque dur) pour trouver le chargeur de démarrage (bootloader).
Le chargeur de démarrage est un petit programme qui se trouve sur le disque dur et
qui est responsable de charger le système d'exploitation dans la mémoire.
o Chargement du système d'exploitation : Une fois que le chargeur de démarrage
est localisé, il charge les fichiers système du système d'exploitation à partir du disque
dur vers la mémoire RAM. Ces fichiers comprennent le noyau du système
d'exploitation et d'autres composants essentiels.
o Initialisation du système d'exploitation : Une fois que les fichiers système sont
chargés en mémoire, le noyau du système d'exploitation prend le contrôle. Le noyau
effectue diverses tâches d'initialisation, telles que la configuration des pilotes de
périphériques, la création de processus système, l'activation des services du système,
etc.
o Lancement de l'interface utilisateur : Après l'initialisation du système
d'exploitation, l'interface utilisateur est lancée. Cela peut inclure une interface en
ligne de commande (CLI) ou une interface graphique utilisateur (GUI), selon le SE
et la configuration.
3. Les principales fonctions d’un système d’exploitation
Gestion des ressources : Le SE est responsable de la gestion des ressources
matérielles de l'ordinateur, telles que le processeur, la mémoire, les périphériques
d'entrée/sortie et le stockage. Il alloue et planifie l'utilisation de ces ressources entre
les différents processus et programmes afin d'optimiser les performances du
système.
Gestion des fichiers : Le SE fournit un système de fichiers qui permet d'organiser
et de gérer les fichiers et les répertoires sur le support de stockage, tels que les
disques durs, les SSD, etc. Il gère les opérations de lecture, d'écriture, de création,
de suppression et de recherche de fichiers, ainsi que les autorisations d'accès aux
fichiers.
Gestion des processus : Le SE gère les processus, qui sont des instances en cours
d'exécution des programmes. Il alloue les ressources nécessaires aux processus, les
planifie pour l'exécution, les suspend, les reprend et les termine. Le SE permet
également la communication et la synchronisation entre les processus.
Interface utilisateur : Le SE fournit une interface utilisateur qui permet aux
utilisateurs d'interagir avec l'ordinateur. Cela peut inclure une interface en ligne de
commande (CLI) basée sur des commandes textuelles, ou une interface graphique
utilisateur (GUI) avec des icônes, des fenêtres et des menus pour faciliter
l'interaction.
Gestion des périphériques : Le SE gère les périphériques matériels connectés à
l'ordinateur, tels que les claviers, les souris, les imprimantes, les scanners, les cartes
réseau, etc. Il fournit des pilotes de périphériques qui permettent aux applications
d'interagir avec les périphériques de manière transparente.
Gestion de la mémoire : Le SE alloue et gère la mémoire système disponible pour
les processus et les programmes. Il maintient une table de correspondance entre les
adresses virtuelles utilisées par les processus et les adresses physiques de la
mémoire. Il gère également la mémoire virtuelle, qui permet aux processus d'accéder
à une quantité de mémoire supérieure à la mémoire physique disponible.
Sécurité et protection : Le SE met en œuvre des mécanismes de sécurité pour
protéger le système et les données des utilisateurs. Il gère les autorisations d'accès
aux fichiers et aux ressources, contrôle l'authentification et l'identification des
utilisateurs, et peut mettre en place des mécanismes de chiffrement et de pare-feu
pour renforcer la sécurité.
4. Qu’est-ce que le BIOS ? ou se trouve-t-il ? comment accède-t-on au
BIOS ?

Le BIOS (Basic Input/Output System) est un logiciel basique intégré à la carte mère d'un
ordinateur. Il est stocké dans une mémoire permanente appelée mémoire flash ou EEPROM
(Electrically Erasable Programmable Read-Only Memory).

Pour accéder au BIOS, vous devez redémarrer votre ordinateur et appuyer sur une touche
spécifique pendant le processus de démarrage. La touche varie en fonction du fabricant de la
carte mère, mais elle est généralement indiquée à l'écran lors du démarrage de l'ordinateur. Les
touches couramment utilisées pour accéder au Le BIOS (Basic Input/Output System) est un
logiciel basique intégré à la carte mère d'un ordinateur. Il est stocké dans une mémoire
permanente appelée mémoire flash ou EEPROM (Electrically Erasable Programmable
Read-Only Memory).

Une fois que vous avez appuyé sur la touche appropriée, vous serez dirigé vers l'interface
du BIOS, qui vous permet de configurer divers paramètres matériels de votre ordinateur, tels
que l'ordre de démarrage des périphériques, les réglages de l'horloge, la gestion de
l'alimentation, etc.

5. Qu’est-ce que le CMOS ? ou se trouve-t-il ? à quoi sert -elle ?

Le CMOS (Complementary Metal-Oxide-Semiconductor) est une technologie utilisée


pour construire une petite mémoire basse consommation qui stocke les paramètres de
configuration du BIOS.

Le CMOS se trouve généralement sur la carte mère de l'ordinateur. Il est intégré à une puce
spécifique appelée la puce CMOS ou la puce de la batterie CMOS.
Le CMOS stocke des informations telles que les réglages de l'horloge système, les
paramètres du BIOS, les mots de passe du BIOS, les paramètres d'alimentation, etc. Ces
informations sont conservées même lorsque l'ordinateur est éteint grâce à une petite pile bouton
située sur la carte mère, qui alimente en permanence le CMOS.

Lorsque vous accédez au BIOS, vous pouvez modifier les paramètres stockés dans le
CMOS pour personnaliser le fonctionnement de votre ordinateur. Par exemple, vous pouvez
régler l'heure et la date, configurer l'ordre de démarrage des périphériques, activer ou désactiver
des fonctionnalités spécifiques, etc.

6. On s’intéresse à l’appel système Posix fork (). A quoi sert -il ? quelle valeur

de retour renvois t’il. Et quel en est le sens ?


▪ Utilité : fork () est utilisé pour créer un processus enfant à partir du processus parent
existant. Le processus enfant est une copie exacte du processus parent, y compris son
espace mémoire, ses descripteurs de fichiers ouverts, son contexte d'exécution, etc.
▪ Valeur de retour : La fonction fork () renvoie une valeur entière qui a une signification
différente selon le processus. Dans le processus parent, la valeur de retour est le PID
(identifiant du processus) du processus enfant créé. Dans le processus enfant, la valeur
de retour est généralement 0, indiquant que le processus est maintenant le processus
enfant.
▪ En résumé, fork () est utilisé pour créer un nouveau processus enfant identique au
processus parent. La valeur de retour de fork () permet au processus parent de savoir
quel est le PID du processus enfant, tandis que dans le processus enfant, la valeur de
retour est 0 pour indiquer qu'il est maintenant le processus enfant.
7. Les processus modernes disposent de deux modes : l’un pour le système
d’exploitation. Et l’autre pour les applications.
a) E, quoi est-il utile de disposer de ces deux modes ?

Il est utile de disposer de deux modes distincts, l'un pour le système d'exploitation (mode
noyau) et l'autre pour les applications (mode utilisateur), pour des raisons de sécurité, de
protection des ressources et de stabilité du système.

Le mode noyau permet au système d'exploitation d'accéder directement aux ressources


matérielles et d'exécuter des instructions privilégiées qui ne sont pas accessibles aux
applications en mode utilisateur. Cela permet au système d'exploitation de gérer les
ressources système, de contrôler l'accès aux périphériques, de gérer les interruptions
matérielles et d'exécuter des tâches critiques pour le fonctionnement du système.

Le mode utilisateur, quant à lui, est destiné à l'exécution des applications. Les applications
s'exécutent dans un environnement isolé et ne peuvent pas accéder directement aux
ressources matérielles ou exécuter des instructions privilégiées. Cela garantit que les
applications ne peuvent pas altérer ou compromettre le système d'exploitation ou les autres
applications en cours d'exécution, ce qui améliore la sécurité et la stabilité globale du
système.

b) Quel sont les mécanismes habituellement employés pour passer d’un mode a un autre
et inversement ?

Les mécanismes habituellement employés pour passer d'un mode à un autre, c'est-à-dire du
mode utilisateur au mode noyau et vice versa, sont les appels système. Les appels système
sont des interfaces fournies par le système d'exploitation qui permettent aux applications
d'accéder aux fonctionnalités du noyau. Lorsqu'une application exécute un appel système,
elle passe du mode utilisateur au mode noyau. Le système d'exploitation vérifie les
autorisations, effectue les opérations demandées et renvoie le contrôle à l'application en
mode utilisateur.

c) Quelles sont les causes de l’échec du lancement d’un programme ?


✓ Erreurs de syntaxe ou de logique dans le code du programme.
✓ Dépendances manquantes ou incorrectes, c'est-à-dire des bibliothèques ou des
fichiers nécessaires au programme qui ne sont pas présents ou qui sont
incorrectement configurés.
✓ Problèmes de permissions, où l'utilisateur n'a pas les droits suffisants pour exécuter
le programme.
✓ Manque de ressources système, tels que la mémoire insuffisante ou des conflits avec
d'autres processus en cours d'exécution.
✓ Incompatibilité avec le système d'exploitation ou le matériel sur lequel le
programme est exécuté.
✓ Présence de logiciels malveillants ou d'interférences de programmes tiers qui
affectent le lancement du programme.

Les Processus :

8. Présentez une situation d’interblocage entre trois processus


Considérons trois processus : P1, P2 et P3. Chaque processus a besoin de deux ressources pour
terminer son exécution. Supposons que les ressources soient numérotées R1, R2 et R3.

✓ Le processus P1 commence son exécution et acquiert la ressource R1.


✓ Le processus P2 démarre ensuite et acquiert la ressource R2.
✓ Le processus P3 démarre enfin et acquiert la ressource R3.

Maintenant, chaque processus a acquis une ressource, mais ils ont également tous besoin de la
ressource détenue par un autre processus pour continuer. La situation se présente comme suit :

✓ P1 a R1 et a besoin de R2, détenue par P2.


✓ P2 à R2 et a besoin de R3, détenue par P3.
✓ P3 a R3 et a besoin de R1, détenue par P1.

Aucun des processus ne peut progresser tant qu'il ne reçoit pas la ressource détenue par l'autre
processus. Ils sont tous bloqués et attendent indéfiniment, formant ainsi un interblocage.

9. Quelle est la différence entre un thread et un processus fils ?

En résumé, la principale différence entre un thread et un processus fils est que les threads
sont des unités d'exécution légères à l'intérieur d'un processus, partageant le même espace
mémoire, tandis que les processus fils sont des entités autonomes avec leur propre espace
mémoire créées par un processus parent. Les threads sont plus légers et ont une communication
plus simple, tandis que les processus fils sont plus indépendants et peuvent exécuter des tâches
distinctes.

10.Dans le système UNIX, est-ce que tout processus a un père ? que se passe
t’il lorsque le processus père meurt ? quand est-ce qu’un processus passe
à l’état Zombie ?

Oui, dans le système UNIX, chaque processus a un processus parent, à l'exception du processus
racine (PID 1) qui n'a pas de père.

Lorsque le processus père meurt, le système d'exploitation attribue un nouveau processus parent
au processus orphelin. Le processus orphelin est ensuite adopté par le processus init (PID 1),
qui est le père par défaut de tous les processus. Ainsi, aucun processus ne reste sans père.

Un processus passe à l'état "Zombie" lorsque le processus fils se termine avant le processus
père, mais que le processus père n'a pas encore récupéré les informations sur le processus fils
via l'appel système wait (). Le processus zombie conserve certaines informations, telles que son
ID de processus (PID) et son statut de sortie, dans la table des processus du système
d'exploitation.

Le processus zombie n'est pas réellement en cours d'exécution et ne consomme pas de


ressources significatives. Cependant, il occupe une entrée dans la table des processus jusqu'à ce
que le processus père invoque l'appel système wait () pour récupérer les informations du
processus fils. Une fois que le processus père récupère ces informations, le processus zombie
est complètement supprimé du système et libère toutes les ressources associées.

Vous aimerez peut-être aussi