Reword and syntax corrections

This commit is contained in:
Yorick Barbanneau 2022-01-07 01:31:41 +01:00
parent ed9e311212
commit 5f643e866f

View file

@ -8,9 +8,10 @@ categories: ["Systèmes d'exploitation", "Cours"]
## Qu'est ce que c'est? ## Qu'est ce que c'est?
D'après D'après
[Wikipedia](https://fr.wikipedia.org/wiki/Syst%C3%A8me_d%27exploitation), "un [Wikipedia](https://fr.wikipedia.org/wiki/Syst%C3%A8me_d%27exploitation) "
système d'exploitation est est un ensemble de programmes qui dirige
l'utilisation des ressources d'un ordinateur par des logiciels applicatifs." > un système d'exploitation est est un ensemble de programmes qui dirige
> l'utilisation des ressources d'un ordinateur par des logiciels applicatifs.
Il permet l'abstraction matérielle *(via les pilotes de périphériques)*, la Il permet l'abstraction matérielle *(via les pilotes de périphériques)*, la
gestion des processus *(et leur séparation, permettant à un processus défectueux gestion des processus *(et leur séparation, permettant à un processus défectueux
@ -26,17 +27,17 @@ le premier étant une partie du second.
## Les interruptions ## Les interruptions
D'après [Wikipedia](https://fr.wikipedia.org/wiki/Interruption_(informatique)), D'après [Wikipedia](https://fr.wikipedia.org/wiki/Interruption_(informatique)) :
"une interruption est une suspension temporaire de l'exécution d'un programme
informatique par le microprocesseur afin d'exécuter un programme prioritaire
(appelé service d'interruption)."
> une interruption est une suspension temporaire de l'exécution d'un programme
> informatique par le microprocesseur afin d'exécuter un programme prioritaire
> (appelé service d'interruption)."
Les interruptions peuvent être envoyées par les périphériques ou le CPU Les interruptions peuvent être envoyées par les périphériques ou le CPU
lui-même. Lors de l'envoi d'une interruption, aucun message n'est envoyé, lui-même. Lors de son envoi, aucun message n'est envoyé, seulement son numéro,
seulement son numéro, le CPU fait alors un saut vers une routine définie par le CPU fait alors un saut vers une routine définie par **la table
**la table d'interruption**. Cette table est mise en place par le *noyau* en d'interruption**. Cette table est mise en place par le *noyau* en RAM. Cette
RAM. Cette table contient une entrée par interruption. table contient une entrée par interruption.
Il existe deux grand type Il existe deux grand type
d'interruption: d'interruption:
@ -55,28 +56,30 @@ ne peuvent pas être ignorées)*.
### Le cas du timer ### Le cas du timer
C'est une interruption déclenchée à intervalle régulier, en général toutes les C'est une interruption déclenchée à intervalle régulier, en général toutes les
10ms. Ainsi un processus ne peut pas monopoliser indéfiniment le CPU. Ainsi le 10ms. Ainsi un processus ne peut pas monopoliser indéfiniment le CPU. Le noyau
noyau peut stopper, voire tuer un processus trop gourmand. peut stopper, voire tuer un processus trop gourmand lors de son passage sur le
CPU.
## Les privilèges ## Les privilèges
Nous avons besoin de contrôler ce que font les processus, seult le noyau doit Nous avons besoin de contrôler ce que font les processus, seul le noyau doit
être tout-puissant. Le contrôle des instructions autorisée ou non ne peut se être tout-puissant. Le contrôle des instructions autorisées (ou non) ne peut se
faire **qu'au niveau du matériel** et donc du CPU. faire **qu'au niveau du matériel** et donc du CPU.
Ainsi ce dernier disponse de deux modes de fonctionnement: Ainsi ce dernier disponse de deux modes de fonctionnement:
* **protégé**: seul un nombre restreint d'instruction sont disponibles * **protégé**: seul un nombre restreint d'instructions sont disponibles
* **réel** (ou noyau) toutes les instructions sont disponibles. * **réel** (ou noyau) toutes les instructions sont disponibles.
Si une instruction privilégiée est exécutées par un processus, une exception Si une instruction privilégiée est exécutées par un processus, une exception
(sorte d'interruption) est lancée. (sorte d'interruption) est lancée.
Pour des questions de sécurité, un processus ne doit pas pouvoir exécuter des Pour des questions de sécurité, un processus ne doit pas pouvoir exécuter des
instructions privilegiées. En effet le rôle du noyau ets aussi de faire instructions privilegiées. En effet le rôle du noyau est aussi de faire
abstraction du matériel, lui seul y a accès. Cependant certains processus ont abstraction du matériel, lui seul y a accès. Cependant certains processus ont
besoin d'y accéder **un affichage** avec `printf` ou la **saisie d'un texte au besoin d'y accéder **un affichage** avec `printf` ou la **saisie d'un texte au
clavier** ou encore **créer un processus**. clavier** ou encore **créer un processus**, et utiliser des instructions du mode
réel.
### Les appels systèmes ### Les appels systèmes
@ -97,6 +100,6 @@ numéro. Les paramètres necessaires aux appels sont eux stockés sur la pile.
Ils sont nombreux : on en compte environ 330 dans Linux et plus de 500 dans Ils sont nombreux : on en compte environ 330 dans Linux et plus de 500 dans
MacOSX. MacOSX.
Sour Linux, certaines routines sont inclues dans la `libc` et ne sont donc pas Pour Linux, certaines routines sont inclues dans la `libc` et ne sont donc pas
des appels système. Par exemple `printf` qui affiche des éléments à l'écran et des appels système. Par exemple `printf` qui affiche des éléments à l'écran et
inclu dans la `libc` utilise l'appel système `write`. inclu dans la `libc` utilise l'appel système `write`.