cours D_système d'exploitation Linux Flashcards
éléments de base de l’ordinateur :
- unité centrale
- mémoire
- périph entrée/sortie : clavier, souris, écran, haut-parleurs …
système d’exploitation ?
= OS : operating system
Ensemble de programmes nécessaires au
fonctionnement de l’ordinateur,
indépendants des programmes
d’applications mais indispensable à leur
mise en œuvre
Missions principales du système d’exploitation ?
- gestion des process (programmes exécutés)
- gestion de la mémoire
- gestion des périphériques d’entrées/sorties
- gestion logique des disques
Structure du système de fichier ?
arborescente à racine unique /
importance du système de fichiers ?
En raison de son importance dans le
fonctionnement de l’OS (l’OS y est stocké), le système de fichiers est traité dans presque tous les OS comme un sous-système indépendant.
Que se passe-t-il quand on allume l’ordinateur ?
Un petit programme logé dans de la ROM
lance le programme d’initialisation du
système au démarrage (init) à partir duquel
tous les autres process vont se construire.
PID ?
Process indentifier = identifiant de processus.
PID de init ?
01
processus ?
Ensemble d’instructions à exécuter (un
programme), le plus souvent chargé depuis un disque dans la mémoire vive d’un ordinateur sous la forme d’un fichier.
programme en cours d’exécution
Relation entre les différents processus ?
Relation père fils : Un processus est toujours démarré par un autre processus. Système arborescent.
Le processus à l’origine de l’initialisation du système est l’ancêtre de tous les processus.
Ils sont dépendants les uns des autres. ex : producteur/consommateur, partage de périphérique.
Noyau du système d’exploitation ?
= kernel
–> réside entièrement dans en mémoire centrale.
Fonctions du Kernel ?
- Allocation du CPU (pour un certain temps)
- Gestion des interruptions
- Gestion des processus
Allocation du CPU
Deux programmes : l’allocateur et le planificateur :
- A : (dispatcher) : responsable de la
répartition du temps CPU
- B : (scheduler) : gère la file
d’attente des processus par priorité
A et B communiquent en permanence, vont eux-mêmes dans le CPU et dans la file d’attente (avec une prio ultra-haute)
Gestion d’interruption dans le noyau ?
Processus qui détermine la source
d’interruption et active la procédure de
service pour traiter l’interruption.
Classement par prio
Deux types d’interruption ?
– internes (horloge, erreur, logicielle)
– externes (clavier, disque, réseau)
Les différents états d’un processus ?
Running, waiting, ready, zombie, terminated
Running ?
En cours d’exécution
Sous Linux : O
Waiting ?
Attend quelque chose pour pouvoir être exécuté.
Sous Linux : S (sleeping)
Ready ?
Prêt à être exécuté dans la file d’attente du
scheduler.
Sous Linux : R (runable)
Zombie ?
Processus mort mais impossible à décharger de la mémoire.
Sous Linux : Z
Terminated ?
Le processus s’est terminé correctement et va être déchargé de la mémoire.
Sous Linux : T
Gestion des périphériques ?
Pour l’OS, tous les périphériques sont
égaux.
Chaque périph a un programme spécifique, que l’OS appelle.
Problèmes que peut rencontrer l’OS dans la gestion de périphériques ?
– diversité fonctionnelle (imprimantes, disques)
– différentes vitesses (clavier vs disque)
– diversité des informations partagées (texte, vidéo)
– modes d’accès (direct, séquentiel)
– partages de périphériques (droits)
Gestion de fichiers ?
- orga : arborescente
- opérations : créer, supprimer, fusionner, concaténer, reproduire)
- droits d’accès (protection)
- nécessaire pour bonne gestion de l’espace disque
- Transparent pour le programmeur (API)
Différents types de OS :
- multitâche
- multi-processeurs
- multi-utilisateurs
- Temps réel
OS multitâche :
– partage du ou des processeurs en attribuant un quantum de temps à chaque processus en fonction de sa priorité (voir allocation CPU et gestion des processus)
– sérialisation de tâches et scheduling.
OS multi-processeurs
– plusieurs process peuvent s’exécuter en
même temps
– un seul processus par processeur à la fois
OS multi utilisateur :
– connection distante par terminal (écran+clavier)
– partage de temps CPU et ressources entre les groupes de process des différents
utilisateurs.
– gestion des droits (fichiers et processus)
OS Temps réel :
(systèmes embarqués par ex) :
– garantir la terminaison d’un process dans un intervalle de temps limité.
– ce qui doit être géré avec plus de soin :
* priorités, interruption, scheduling
Débuts de Linux :
1992
Multi-tâches, multi-utilisateurs, multi-processeurs
Session :
Permettent à plusieurs utilisateurs d’utiliser un même ordinateur grâce à un Login
Utilisateur spécial root :
= Superuser = administrateur système
- c’est lui qui a installé l’OS
- a tout les droits sur les utilisateurs et la machine.
Shell :
Interface de base pour communiquer avec l’utilisateur (c’est un programme, qui interprète des commandes et
lance l’exécution d’autres programmes).
Plusieurs programmes shell : bash, tsch, ksh
Syntaxe de commande sur Linux :
commande [-option(s)] [argument(s)]
répertoire racine :
/
répertoire du login
= home directory
~
répertoire courant :
.
répertoire supérieur :
. .
Chemin absolu ?
Commence par la racine
Chemin relatif ?
Commence par le répertoire courant.
Fichiers :
TOUT est fichier sous unix
* chaque fichier a un nom unique (chemin depuis la racine compris)
* l’extension (ex : .txt) n’est utile que pour
l’utilisateur, pour le système elle n’a pas de sens mais utilisée par convention
Les trois types de fichier ?
- Fichiers ordinaires (data.txt)
- Répertoires (/usr/stroumpfette)
- Fichiers spéciaux (périphériques, …)
Droits d’accès ?
3 utilisateurs possibles (dans l’ordre) :
- le proprio (u)
- le groupe (g)
- le reste du monde (o)
Pour chaque utilisateur, 3 types de droits possibles :
- read (r)
- write (w)
- execute (x)
Calcul des droits d’accès ?
Somme des droits de chaque lettre en octal
Deux comportements pour les processus :
- mode standard
- mode détaché
Mode standard processus :
= lien direct
Le père ne peut reprendre son fonctionnement QUE si le fils
a terminé.
Mode détaché processus :
Le processus père “détache” son processus fils qui vit sa vie seul et s’exécute
indépendamment du père, qui lui peut
continuer de s’exécuter aussi. MAIS le lien père fils existe toujours.
Commande kill :
But : Envoyer un signal à un
process pour qu’il réagisse à l’évènement, interrompre un processus.
⚠ : seul le root a le droit d’interrompre un proc
On ne peut tuer que les process dont on est le proprio