« Systèmes d'exploitation/Unix » : différence entre les versions

Contenu supprimé Contenu ajouté
stden => stderr
m Bot : Remplacement de texte automatisé (-, *(…|\.\.\.) +…); changement de type cosmétique
Ligne 32 :
**les appels systèmes
*Schéma d’interaction :
[[ImageFichier:Unix1.jpg]]
 
Espace extérieur = utilisateurs connectés
Ligne 40 :
Un shell est un interprète de commande c'est-à-dire que c'est une boucle qui lit une commande et l’interprète. Cette commande est réalisée en créant un ou plusieurs autres processus.
 
Exemple : cd, …cd…
 
Remarque : deux processus différents peuvent exécuter le même code
Ligne 48 :
Exemple : if … exit (0) : appel système UNIX fin des processus.
 
Remarque : les appels système sont non portables (ils sont liés à chaque système). Pour éviter cela, on utilise des bibliothèques de plus haut niveau (stdio.h, stlib.h, …h…) standardisées et portées dans tous les systèmes.
 
== Système de fichiers ==
Ligne 132 :
***élu (en cours d’exécution)
***prêt (suspendu, pour permettre l’exécution d’un autre processus)
***bloqué (attente d’un évènement extérieur : entrée/sortie, signal, …signal…)
 
[[ImageFichier:Unix2.JPG]]
 
*T1 : le processus bloque en attente de données d’entrée. Ceci se produit lorsque la ressource attendue est non disponible. Sauvegarde des valeurs du contexte d’exécution.
Ligne 186 :
**le fils a comme retour de fork, le 0.
**si erreur, aucun clone n’est créé et le fork renvoie le -1
*Exécution d’un programme à l'aide de l'appels système : int exec(char *path, char *argvo, …argvo…) ; et les variantes execlp et execvp. Il remplace l’image (code, donnée, pile, …pile…) d’un processus par un autre dont le code est dans un fichier dont le nom est passé en paramètre du exec. Toutes les zones (code, donnée, pile, …pile…) sont définitivement remplacées.
 
Exemple :
Ligne 202 :
 
Le résultat du wait fournit le PID du fils terminé. Le paramètre par référence ptr_status renseigne sur la façon dont est mort le fils et sur la valeur du exit.
[[ImageFichier:Unix3.JPG]]
 
== Entrées/Sorties ==