« 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 :
[[
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 :
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.
== 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,
[[
*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 *
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.
[[
== Entrées/Sorties ==
|