Qu'est-ce que POSIX? Une librairie en langage C

Slides:



Advertisements
Présentations similaires
Exercice 1 1 (père) et 1 (fils) 1 (père) et 0 (fils)
Advertisements

Interactions entre Processus
Systèmes d’exploitation Processus conclusion Modèle conceptuel de processus Pour masquer les effets des interruptions, les SE fournissent un modèle conceptuel.
1 UNIX AVANCE Yves PAGNOTTE – Janvier – LES PROCESSUS SOUS UNIX.
CHAftITREI ARCHITECTURE de BASE. Modèle de Von Neumann Langage d’assemblage1 John Von Neumann est à l'origine d'un modèle de machine universelle de traitement.
C++ Les fonctions. Présentation Utilité : Dès qu'un programme dépasse la centaine de lignes de code, il est pratique de pouvoir le décomposer en plusieurs.
CINI – Li115 1 Semaine 9 Algorithmes de tri ● Introduction ● Tri à bulle ● - principe ● - algorithme ● - efficacité ● Tri par sélection ● - principe, algorithme,
Des commandes plus avancées I. Les processus Lister des processus : ps & top Arrêter des processus : kill II. Recherche Rechercher des fichiers : find.
CINI – Li115 1 Semaine 3 Boucles (suite), tirages aléatoires, bibliothèque graphique ● Imbrication d'instructions if et for ● Boucles for imbriquées ●
Cours 7 Programmation de base. Boucles et Tests for( in ) { } while( ) { } Exemple: x=rep(5,0) for (i in 1:5) x[i]=2*i+1 Les fonctions du type apply(),replicate()
CINI – Li115 1 Semaine 4 Révisions ● Questions de cours ● Types des expressions ● Déclaration de variables ● Instruction conditionnelle et boucles ● Structure.
Frédéric Le Mouël, Stéphane Frénot, Frédérique Laforest, Tarak Chaari – Dpt TC JAV 1 JAV – TD 8 Les threads en Java.
1 Programmation en C++ C++ de base ● Programme C++ ● Variables, objets, types ● Fonctions ● Namespace ● Tests ● Boucles ● Pointeurs, références.
1 Programmation en C++ C++ de base ● Programme C++ ● Variables, objets, types ● Types et opérations fondamentales ● Tests ● Boucles ● Pointeurs, références.
1 I P CI P C. 2 Inter Process Communication 3 Définition d'un processus. ● Un système multitâche permet l'exécution simultanée de nombreux programmes.
Mode noyau Appels Systèmes Interruptions Grégory Seront Institut Paul Lambin
1 Communication interprocessus. 2 Plan 1. Introduction 2. Sections critiques et exclusion mutuelle 3. Exclusion mutuelle par attente active 1. Le masquage.
Les Instructions Itératives (Les Boucles)
Cours de programmation en langage C (Norme ANSI)
Threads et Lightweight Processes
Pas de variable globale
Visite guidée - session 3 Les postes de charge et les gammes
Pointeurs et langage C.
Programmation en C++ IO en C++/SL
5 – PARALLELISME , ORDONNANCEMENT
Semaine #1 INF130 par Frédérick Henri.
Collecte de données CAPI
AO (Architecture des ordinateurs)
7 – COMMUNICATION INTER PROCESSUS SEGMENTS DE MÉMOIRE PARTAGEE
L'approche asynchrone.
Fonctionnement de l'unité centrale
Principes de programmation (suite)
Master Réseaux et Systèmes Distribués (RSD)
11ième Classe (Mardi, 18 novembre) CSI2572
Algorithmiques Abdelbasset KABOU
2°) Déterminez l’organigramme pour déterminer les diviseurs d’un nombre ( premier ou pas ). Méthode : on va …
Arguments de la ligne de commande
Commande show ip eigrp topology
Routage S 5 - Questionnaire N°1
Ce videoclip produit par l’Ecole Polytechnique Fédérale de Lausanne
Langages de programmation TP3
Algorithmique & Langage C
Programmation système
L’I NSTRUCTION DE T EST A LTERNATIF Réalisé par : OUZEGGANE Redouane Département de Technologie Faculté de Technologie – Université A.Mira, Bejaia Année.
L ES I NSTRUCTIONS I TÉRATIVES (L ES B OUCLES ) Réalisé par : OUZEGGANE Redouane Département de Technologie Faculté de Technologie – Université A.Mira,
Réalisation d’une lampe connectée pilotée par bluetooth
Formation E-marque.
De l’ordinateur au processus : rôle d’un système
Programmation en C++ C++ de base
1 RECURSIVITE PRESENTATION Ch. PAUL ALGORITHMIQUE Présentation de la récursivité.
Système d’exploitation
Interruptions GIF-1001 Ordinateurs: Structure et Applications, Hiver 2015 Jean-François Lalonde.
Plus de 4000 langages....
Eléments de base du langage C
Bases de données sous Access. Initiation aux bases de données  Structure d’une base de données.
Le Java premiers pas.
les états d'un processus (ou d'une tache)
Les exceptions Le mécanisme des exceptions est destiné à permettre aux fonctions profondes d'une bibliothèque de notifier la survenue d'une erreur aux.
Système d’exploitation: Principe IFT6800 – E 2008 Pierre Poulin.
Principes de programmation (suite)
Nombres premiers : ce sont des nombres entiers positifs, qui ne sont divisibles que par 1 et eux- mêmes. Exemples : 24 est divisible par 2, par 3, par.
Threads et Lightweight Processes
Ordonnancement des processus sous Windows NT
2°) Déterminez l’organigramme pour déterminer les diviseurs d’un nombre ( premier ou pas ). Méthode : on va …
Python Nicolas THIBAULT
Eléments de base du langage C
Contenu Systèmes de test parallèles Multithreading Synchronisation
TP N°6: Construction d’un Serveur Multi-Client
TP N°4 Développement d’ une application
Les Commandes de base Linux. 1 L’aide sur les commandes Linux ◦ help : obtenir de l’aide pour une commande interne du shell. Elle permet aussi d'afficher.
Transcription de la présentation:

Qu'est-ce que POSIX? Une librairie en langage C Une librairie en langage d'assemblage Les appels systèmes de Windows Une norme sur interfaces de programmation sur les variantes du système d'exploitation UNIX. :30

Supposons que dans un système monoprocesseur plusieurs processus sont en attente  d’exécution et que le processus élu exécute le programme suivant :  int main ( )
 {           for ( int i=0; i<10; i =(i+1)% 10);  return 0;  } Les processus en attente pourront-ils s’exécuter, si le mode d’exploitation est de type « traitement par lots » ? Oui Non :30

Supposons que dans un système monoprocesseur plusieurs processus sont en attente  d’exécution et que le processus élu exécute le programme suivant :  int main ( )
 {           for ( int i=0; i<10; i =(i+1)% 10);  return 0;  } Les processus en attente pourront-ils s’exécuter, si le mode d’exploitation est de type «temps partagé» ? Oui Non :30

Un i-node est une structure représentant? Un processus Un fichier Un système de fichiers Un thread :30

Qu'est-ce qu'un changement de contexte? Le remplacement de l'image mémoire d'un processus Un appel système Le changement du processus en exécution dans le processeur Un changement de mode opératoire du processus :30

Un processus zombie est un processus qui : a perdu son père et n’a plus de père. a terminé son exécution en erreur. a terminé son exécution et attend la prise en compte de cette fin par son père. a perdu son père et a été adopté par le processus init. :30

Si chaque processus père attend la fin de tous ses fils avant de se terminer, il n’y aurait aucun processus : zombie dans le système. qui bloque son père. adopté par le processus init. bloqué par son père. aucune de ces réponses :30

Quel est le nombre maximal de processus créés par la séquence suivante: fork(); fork(); execvp(file.exe”, com) ; fork(); fork(); 2 3 4 6 16 :60

Le nombre de processus créés par l’instruction « while (pid=fork()) if (n >= 5) break ; else n=n+1;», où n est un entier initialisé à 0, est : 5 6 7 10 :60

avant la création du premier thread. On veut faire communiquer deux threads Posix d’un même processus via un tube anonyme (pipe). Le thread lecteur lit, caractère par caractère, du tube jusqu’à ce qu’il rencontre une fin de fichier. Le thread écrivain dépose dans le tube, caractère par caractère, le contenu d’un fichier. La création du tube doit être faite: avant la création du premier thread. après le premier thread et avant le second thread. après la création du second thread. dans chacun des deux threads. aucune de ces réponses. :30

L’ouverture d’un tube de communication nommé est bloquante (par défaut). Un problème qui pourrait survenir si l’ouverture est non bloquante. Un lecteur pourrait lire d’un tube sans écrivain Terminaison force suite a une tentative de lecture du tube Un écrivain pourrait écrire dans un tube sans lecteur Aucun probleme :30

Laquelle des confirmations suivantes est valide pour les tubes nommés Le tube apparait dans le système de fichier Pemet exclusivement la communication entre un père et son fils Doit être créer dans le père avant la création du fils Aucune de ces confirmations :30

Quelles sont les valeurs possibles d'un mutex? En cours d'exécution, Bloqué, Prêt Verrouillé, Déverrouillé Éveillé, Endormi :30

Considérez la solution au problème d’exclusion mutuelle qui se base sur l’instruction « TSL ». Cette solution pose un problème de boucle infinie. Peut-on avoir le même problème dans le cas d’un ordonnancement circulaire sans priorité ? Oui Non :30

Dans le cadre du probleme producteur/consomatteur si on fait la permutation en rouge: P(libre) ; P(mutex); P(mutex); P(occupe); //production… //consommation… V(mutex); V(mutex); V(occupe); V(libre); On n’affectera pas le comportement du programme On peut avoir une situation d’interblocage On va imposer une alternance entre prod/cons On va toujours avoir une situation d’interblocage Aucune des réponses ci-dessus. :60

Considérez les processus P1, P2, P3 et P4, et les sémaphores S1 et S2 Considérez les processus P1, P2, P3 et P4, et les sémaphores S1 et S2. Les processus sont lancés en concurrence. Indiquez les ordres d’exécution des opérations atomiques a, b, c, d, e et f qui ne sont pas réalisables. a ; b ; c ; f ; d ; e ; a ; c ; b ; d ; e ; f ; a ; b ; c ; d ; e ; f ; :60

Pendant l'exécution du traitement d'un signal, un autre signal du même type est ignoré ne peut pas être envoyé par d'autre processus est traité en priorité est bloqué :30

2. La fonction kill permet uniquement: d’envoyer un signal d'arrêt à un processus d'envoyer un signal à un processus de tuer un processus fils :30

Le masque des signaux d’un processus indique quels signaux, à destination du processus, à : ignorer. capter. traiter en priorité en appliquant le traitement par défaut. conserver pour les traiter ultérieurement. aucune des réponses ci-dessus. :30