Système d’exploitation

Slides:



Advertisements
Présentations similaires
Active Directory Windows 2003 Server
Advertisements

Responsables : Joël Falcou et Jean-Thierry Lapresté
Module Systèmes dexploitation Chapitre 6 Communication Interprocessus Partie III École Normale Supérieure Tétouan Département Informatique
GEF 435 Principes des systèmes dexploitation Communication Interprocessus (CIP) II (Tanenbaum 2.3)
GEF 435 Principes des systèmes dexploitation Communication Interprocessus (CIP) III (Tanenbaum 2.3)
Les Structures. Introduction : Imaginons que lon veuille afficher les notes dune classe délèves par ordre croissant avec les noms et prénoms de chaque.
TP 7.1 synchronized et join Écrire un programme Java qui crée 1000 threads et maintient un compteur nb du nombre de threads créés jusque-là. Le thread.
Ingénieurs 2000 – Année 2004/ Ludovic LELION
Exercices Algorithmiques
2-Generalites FTP:Protocole De transfert de fichiers sur un réseau TCP/IP. Permet de copier des fichiers depuis ou vers un autre ordinateur du reseaux,d'administrer.
S. CAGNI, S. PICARD et A. CORDIER Vous avez dit :.
Les sous-programmes Chapitre n° 5: Objectifs : Activité:
Diagrammes de communication
Section VI Structures répétitives (suite)
Active Directory Windows 2003 Server
Module 1 : Préparation de l'administration d'un serveur
Section XI Traitement de fichiers
Recherche avancée multi-champs EBSCOhost
Serveurs Partagés Oracle
Labview Programmation réseau Communication par sockets
Dessin Vectoriel Collaboratif
Programmation concurrente
Python Fonction et procédure
ALGORITHME DE TRI Le tri par insertion.
Gestion de bases de données réparties
Module 8 : Surveillance des performances de SQL Server
PHP 5° PARTIE : LES COOKIES
Déclaration des données constantes Déclaration des données variables
Travailler avec des processus
Structures de données avancées : Concepts réseaux et protocole de communication. D. E ZEGOUR Institut National d ’Informatique.
NOTIONS DE BASE DES SYSTÈMES TEMPS-RÉEL Sujets Concepts de processus/thread concurrents –Windows NT et la programmation temps réel Lectures: Chapitres.
Interactions entre Processus
SYSTÈME D’EXPLOITATION I
CEG3585/CEG3555 Tutorat 2 Hi ver 2013.
Nicolas DEWEZ Cyrille JOSSELIN Tuteur: Thierry DELOT Conception d’une application de partage de fichiers Projet IUP3 GMI - Valenciennes Jeudi, 23 mars.
Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure d’Informatique (ESI)
Projet télésurveillance
Back Orifice Scénario en 3 étapes - Préparation & envoi - Infection & Installation - Prise de contrôle - Détections Possibles - Net-Based - Host-Based.
Application de gestion des retards
Programmation Système et Réseau
Les sockets.
Ceci est une session expert Cette session est déconseillée aux novices des moteurs Analysis Services 2000 ou 2005 La session « Découverte de Analysis.
Le protocole DHCP.
PHP 6° PARTIE : LES SESSIONS 1.Introduction 2.Identificateur de session 3.Variables de session 4.Client / Serveur 5.Principe 6.Ouverture de session 7.Enregistrement.
Gestion d’accès aux centrales nucléaires françaises
Mise en place de translation d’adresses NAT/PAT
Module 1 : Vue d'ensemble de Microsoft SQL Server
Citrix ® Presentation Server 4.0 : Administration Module 9 : Déploiement d'applications.
Simulateur de Diffusion DVB-H
L E F I L E M A N A G E R L E F I L E M A N A G E R Projet de systèmes d’exploitation Supervisé par : Mr Marc CHANOVE Mme Jacqueline CASTAING.
Support.ebsco.com Didacticiel Mon EBSCOhost Didacticiel.
Architecture Client/Serveur
Citrix ® Presentation Server 4.0 : Administration Module 8 : Configuration de la gestion de charge.
Diffusion Nationale TOULOUSE –MAJ Avril 2009 STSWEB Gestion des années scolaires Création de l’année en préparation.
1 PHP 5 Notions fondamentales (niveau 1 cours #3) Formation continue – Cégep de Sainte-Foy François G Couillard.
Module 3 : Gestion des fichiers de base de données
Bureau des services pédagogiques Mars 2011 Quoi de neuf avec Elluminate V. 10? Quoi de neuf avec Elluminate version 10 Bureau des services pédagogiques.
Chaîne de requêteCookieSession Sauvegarder un état via l'url Sauvegarder l'état La technique consiste à passer des informations via l'URL sous la forme:
L. Gurret – M. Herve – P. Mignon – J. Prarioz. Introduction  Dernière étape d’analyse  Cahier des charges, spécifications et conception orientée objet.
Jonas Berdoz Fabrizio Beretta Piccoli Valentin Delaye Michaël Sandoz Projet GEN juin 2010.
Sommaire I.Introduction II.Description des règles du jeu III.Présentation des différentes itérations – Itération 1 – Itération 2 – Itération 3 – Itération.
Exécuter une fonction en parallèle Utilisation de plusieurs fonctions en parallèles pour obtenir un résultat Accès à des ressources simultanément.
Communication sur un port série Rx Tx. communication sur un port série Tx Exemple : Envoi de la chaîne de caractère « Bonjour! »
Client/Server Socket. Client/Serveur.
Capocasale & Droz. Exécuter une fonction en parallèle Utilisation de plusieurs fonctions en parallèles pour obtenir un résultat Accès à des ressources.
FACTORY systemes Module 5 Section 1 Page 5-3 Les scripts de traitement FORMATION INTOUCH 7.0.
Chapitre 12 Surveillance des ressources et des performances Module S41.
Transcription de la présentation:

Système d’exploitation Chat Céline BONNEFOY Mathieu GUIDON-THIESSELIN Nicolas KACZMARSKI Cendrine MARTIN

Sujet Création d’un chat à l’aide de threads Client : chat -p <pseudo>

Sujet Serveur : server [-n <nbmaxi> -t <timeout> -debug] -n <nbmaxi> pour limiter le nombre de connexions simultanées à nbmaxi si l'option -n n'est pas renseignée, nbmaxi est fixé par défaut à 200. -t <timeout> pour déconnecter automatiquement un utilisateur en cas d'inactivité durant un laps de temps supérieur à timeout (en secondes). timeout défaut : 600 - debug pour voir les infos

Conception

Conception Structure Client : pthread_t id Entier sock Chaine pseudo

Conception Variables globales nombre de clients actuellement connectés Entier nb_clients = 0 nombre de clients maximum en simultané Entier maxUser = MAXUSER temps maximum d'inactivité Entier timeout = TIMEOUT mutex pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER tableau contenant tous les clients connectés au serveur struct_client *clients[MAXUSER-1]

Programmation Utilisation de Sémaphore d’exclusion mutuelle pour le tableau et la variable nbclient Un thread par client 1 thread pour le server : écoute 1 thread pour le server en mode debug (showinfo)

Programmation Commandes possibles /nick <nouveau pseudo> : change le pseudo de l'utilisateur. /msg <pseudo> <message> : envoi un message privé à l'utilisateur pseudo. /quit [<message>] : quitte le client en envoyant message aux autres utilisateur. /list : affiche la liste des pseudos des clients connectés au serveur. /help : affiche la liste des commandes disponibles.

Programmation

Serveur Algorithme Récupération des paramètres : Création du serveur nombre maximum de clients temps maximum d'inactivité avant la déconnexion Création du serveur TANTQUE (1) FAIRE acceptServer(server) Création d'un thread (chat) FINTANQUE

Serveur Fonctions Fonction acceptServer (sock : Entier ) : Entier attend une nouvelle connexion dès qu'un client se connecte renvoie l'identifiant du socket

Client Algorithme Vérification que le nombre maximum d’utilisateurs non atteint Vérification que le pseudo n'est pas déjà utilisé Stockage du client dans la structure struct_client Stockage de la structure client dans le tableau de client p (mutex)   // début de la section critique clients[nb_clients] = temp nb_clients ← nb_clients + 1 v(mutex)    // fin de la section critique EnvoiMessage (« Bienvenue », idClient) EnvoiMessageTous (« Nouveau client ») TANTQUE (1) FAIRE Vérification du dépassement du timeOut Lecture du message envoyé SI commande Alors appel commande SINON EnvoiMessageTous (msg, idClient) FINSI FINTQ

Conclusion Appliquer nos connaissances théoriques à un cas pratique Sujet chat intéressant : programme courant Threads: manière simple et claire de faire de la programmation en parallèle gestion des variables partagées plus complexe que les IPC Travailler en groupe Améliorer notre organisation.

Système d’exploitation Chat Céline BONNEFOY Mathieu GUIDON-THIESSELIN Nicolas KACZMARSKI Cendrine MARTIN