Conduite du Projet Système

Dimension: px
Commencer à balayer dès la page:

Download "Conduite du Projet Système"

Transcription

1 Conduite du Projet Système Département Télécom 2ème Année Enseignants : Yves Denneulin, Jacques Mossière, Grégory Mounié, Simon Nieuviarts, Franck Rousseau, Sébastien Viardot Résumé Ce document est complémentaire aux spécifications du mini système d exploitation que vous devrez programmer. Il vise à vous aider en vous fournissant une méthode de développement bien précise. 1 Introduction Habituellement, la conduite d un projet consiste à passer par les phases d analyse du problème, de conception de l architecture, de codage et de débogage. Cette méthode ne peut être strictement appliquée dans le cadre du projet système à cause du trop court laps de temps imparti. En effet, si on vous demandait de la respecter, il est probable que vous ne seriez en mesure de produire les premières lignes de code que très tard dans le calendrier, et qu à la fin du projet, très peu de choses fonctionneraient. Or, nous considérons que le principal apport du projet système réside dans l expérience que vous apportera le fait de faire fonctionner votre noyau. Nous vous demandons donc de suivre un plan de développement en sept phases, de bien respecter dans chaque étape le cycle analyse-architecture-codage-débogage, mais d accepter de faire chaque phase sans avoir une vision très détaillée du fonctionnement final de votre noyau. Par exemple, les phases 2 à 5 visent à vous guider pas à pas dans l implémentation d un noyau de processus, en raffinant progressivement le cahier des charges. Cette méthodologie ne doit pas être perçue comme une contrainte, son unique but est de vous aider à organiser le développement de votre projet. 2 Plan de développement Le développement du projet système s effectue en sept phases obligatoires et une partie facultative. En quelques mots, les différentes étapes consistent à : phase 1 : prendre en main l environnement de développement (chargement et débogage de noyau) et gérer l affichage à l écran ; Revision : 319 Date : : 57 : (Lun, 04fà c v2008)

2 phase 2 : gérer la notion de processus, et le changement de contexte entre deux processus (au niveau noyau) ; phase 3 : gérer l ordonnancement, la création dynamique, la terminaison et la filiation des processus (toujours au niveau noyau) ; phase 4 : gérer la communication (via l emploi de sémaphores) et l endormissement (appel wait clock) des processus ; phase 5 : ajouter le mode utilisateur ; phase 6 : développer un pilote de console ; phase 7 : développer un interprète de commandes, shell ; partie facultative : ajout de nouvelles fonctionnalités (par exemple, espaces virtuels d adressage). Toutes les phases ne sont pas équivalentes en termes de difficulté et de temps de développement/mise au point. En particulier, les phases 2 et 5 concernent des concepts clés du projet et sont délicates à déboguer. Pour bien maîtriser l évolution de votre travail au fil du projet, nous vous invitons à conserver une version de votre code pour au moins chacune des phases validées, en utilisant l outil de gestion de versions svn, et nous vous demandons de faire un point régulier chaque semaine avec un enseignant. 3 Phase 1 Cette partie consiste à prendre en main l environnement de travail qui vous sera nécessaire tout au long du projet. La principale différence avec les projets précédents concerne la façon de tester et déboguer le code que vous produisez. Passer de l environnement d exécution Unix, que vous avez l habitude d utiliser pour vos projets, à un PC quasiment nu change beaucoup de choses : le démarrage du programme, le support des entrées/sorties, le support de la libc, les facilités de débogage. Ce n est plus un shell qui lance votre programme mais un chargeur développé spécifiquement pour cette tâche. Il faut donc respecter sa convention de chargement basée sur le standard multiboot (ceci est déjà implanté dans le code de base qui vous est fourni). L absence du support usuellement fourni par le noyau Unix nous prive des E/S. L absence de gestion des entrées n est pas un handicap majeur pour les cinq premières phases du projet mais les sorties sont bien évidemment nécessaires dès le début pour pouvoir déboguer. La mémoire vidéo étant couplée en mémoire principale, les écritures à l écran se font sans faire intervenir les interruptions. Ceci peut donc se faire sans problème dans cette phase. Il est important de vérifier le bon fonctionnement de vos primitives d affichage car c est sur elles que reposeront vos tests tout au long du projet. L absence de support de la libc, nous prive notamment d E/S formatées, de gestion de la mémoire, d exit. Pour la gestion de la mémoire, nous vous fournissons 2

3 un allocateur pour la mémoire du noyau, nécessaire dès la phase 3, ainsi qu un allocateur pour les piles utilisateur des processus, nécessaire à partir de la phase 5. Pour pallier le manque de libc en ce qui concerne les sorties, nous vous fournissons une mini bibliothèque, incluant notamment printf, à interfacer avec vos primitives de gestion de l écran pour faciliter votre débogage. Pour la terminaison d un programme, vous pouvez faire un appel à void reboot() qui a pour effet de redémarrer la machine. Au niveau du débogage, vous avez toujours la possibilité d utiliser gdb/ddd. Il y a quelques petites différences d utilisation liées au fait que le code à déboguer s exécute sur une machine distante mais les fonctionnalités offertes par le débogueur sont les mêmes. Par ailleurs, vous êtes privés de la mémorisation de l interaction faite par un xterm ainsi que de la possibilité de rediriger les sorties de votre programme dans un fichier. Vous êtes donc limités à ne pouvoir inspecter à un instant donné que les 25 lignes affichables sur l écran. 4 Phase 2 C est une phase importante car elle introduit des concepts clés pour le projet. Il y a peu de code à produire mais il faut prendre le temps de bien cerner et comprendre tout ce qu elle implique. Elle consiste à gérer : dans un premier temps, la notion de processus et de changement de contexte entre deux processus ; dans un second temps, le timer et les interruptions, pour obtenir un système à temps partagé. Jusqu à la phase 4 inclue, les processus à gérer s exécutent uniquement en mode superviseur. Ils ont une pile chacun pour leur exécution. Nous vous conseillons de commencer avec deux processus infinis, créés statiquement, qui se passent la main à tour de rôle, par un appel direct à context switch. Les piles peuvent être allouées statiquement ou par appel à l allocateur de mémoire. Le code de la figure?? propose un exemple minimaliste de processus de test. int tsta(void *arg) { unsigned long i; while (1){ printf("a"); /* l autre processus doit afficher des B */ /* boucle d attente pour ne pas afficher trop de caractères */ for (i = 0; i < ; i++); context_switch(); } } Fig. 1 Programme de test pour le changement de contexte 3

4 Une fois le mécanisme de base opérationnel, vous pouvez ajouter la gestion des interruptions et partager le temps d exécution entre deux processus. Pour gérer le temps partagé, vous devez programmer le timer, ce qui ne présente aucune difficulté majeure, et gérer les interruptions matérielles qu il génère. Pour répondre aux interruptions du timer, il est nécessaire d écrire un traitant en assembleur qui se termine par une instruction iret. Ce programme en assembleur ne doit faire que le strict nécessaire pour déléguer le gros du travail à une fonction écrite en C appelée par une instruction call. Dans un premier temps cette fonction fera toujours un changement de contexte entre les deux processus. Dans un deuxième temps, il faudra suivre le compte du temps écoulé afin de changer de contexte à une fréquence SCHEDFREQ (=50) différente de CLOCKFREQ (=100). Le code de la figure?? propose un exemple de processus test pour le temps partagé. Le démasquage des interruptions après l appel à printf est nécessaire pour que le processus courant puisse être interrompu. En principe, à cette exception près, tout votre code noyau doit toujours tourner en mode masqué. int tsta(void *arg) { unsigned long i; while (1){ printf("a"); /* l autre processus doit afficher des B */ asm volatile ("sti"); /* demasquage des interruptions */ /* une ou plusieurs it du timer peuvent survenir pendant cette boucle d attente */ for (i = 0; i < ; i++); asm volatile ("cli"); /* masquage des interruptions */ } } Fig. 2 Programme de test pour le changement de contexte en temps partagé 5 Phase 3 Cette étape est la suite directe de la phase précédente. Elle consiste à gérer tout ce qui concerne le cycle de vie des processus, toujours en mode superviseur. Nous vous conseillons de procéder par étapes, dans l ordre qui suit : gestion de l ordonnancement par le scheduler, et de la création dynamique des processus ; gestion de la terminaison des processus ; gestion de la filiation. Vérifiez bien que vos fonctions ont un comportement conforme à la sémantique de l énoncé. 4

5 6 Phase 4 Cette phase consiste à implémenter les sémaphores et le cas échéant la gestion de l endormissement de processus. Les tests minimaux à valider à la fin de cette phase sont : sémaphores : un système producteur/consommateur(s). wait clock : le programme principal lance 4 processus P1 à P4 et exécute un wait clock d une minute ; le processus P1 imprime le caractère. à raison de un par seconde ; le processus P2 imprime le caractère - toutes les 2 secondes ; le processus P3 imprime le caractère + toutes les 5 secondes ; le processus P4 imprime le caractère * toutes les 10 secondes ; la périodicité est gérée par un appel à wait clock dans tous les cas ; à son réveil, le processus principal tue ses fils et se termine. On doit voir une alternance correcte des différents caractères. Il est important de bien déboguer cette partie, en envisageant le maximum de cas de figure. Bien penser que ces fonctionnalités de synchronisation seront utilisées dans de nombreux tests jusqu à la fin du projet. 7 Phase 5 C est une phase délicate. L ensemble des problèmes qu elle pose doit être pensé comme un tout. 7.1 Tour des problèmes Séparation physique du noyau et de l application Dans les phases précédentes, les programmes de tests étaient inclus directement dans le noyau, sous forme de fonctions. L application en mode utilisateur, elle, n est pas liée avec le noyau. Elle est liée séparément et chargée à l adresse 16 M. Il faut donc bien avoir conscience que le noyau et l application sont deux programmes indépendants qui ne partagent pas de mémoire. Le crt0 du noyau a mis en place une protection qui empêche l application de lire ou écrire des données du noyau. Pour la même raison, il est impossible pour l application d appeler des fonctions du noyau. Réalisation d une bibliothèque des appels noyau Dans les étapes précédentes, l application appelait les services du noyau par pur appel procédural. Dès que le noyau et l application sont séparés, ceci n est plus possible. En outre, il faut réaliser une transition du mode esclave vers le mode maître. L application ne peut le faire qu en exécutant une instruction int. Comme on veut laisser au programmeur la facilité d écrire dans son source des appels au noyau par appel de fonction, il faut écrire 5

6 tout un ensemble de fonctions 1 qui auront pour but d exécuter une instruction int. Ces fonctions seront écrites en assembleur et mises dans une bibliothèque qui jouera donc pour vos applications le rôle que joue la libc dans le système Unix. Ecriture du module de récupération de l int Puisque l application déclenche une interruption par int, il faut bien la récupérer dans le noyau. Il est donc nécessaire d écrire un traitant pour gérer ces interruptions logicielles. Les remarques évoquées au sujet du traitant des interruptions timer en phase 2, quant au découpage assembleur / C, restent valables ici. Le point délicat ajouté dans leur gestion est de retrouver les paramètres de l appel noyau pour les passer à la routine du noyau qui en a besoin. Il y a deux stratégies possibles pour transmettre les paramètres : les stocker sur la pile utilisateur ; utiliser les registres du processeur. La première solution est assez compliquée, en particulier parce qu elle oblige à gérer d éventuels défauts de page. Il est beaucoup plus simple et élégant de recourir à la seconde solution. Cela limite le nombre de paramètres à six, mais ce n est pas un problème. Nous vous demandons d utiliser la solution basée sur les registres. Lancement des processus de l application en mode esclave Dans les phases précédentes, le noyau pouvait lancer un processus de l application par un appel procédural. Ceci n est plus possible lorsque le noyau s exécute en mode maître et l application en mode esclave puisque le lancement d un processus par le noyau correspond à une transition de mode. Il faut donc trouver un moyen de lancer un processus en faisant une transition de mode. Il faut pour cela utiliser une instruction iret. Une application doit s exécuter avec les interruptions démasquées. Gestion de deux piles par processus Lorsque le processeur x86 réalise une transition du mode esclave vers le mode maître, il procède également à un changement de pile. Lors de la transition esclave vers maître, le pointeur de pile est chargé avec une valeur prise dans la structure TSS, et lors de la transition maître vers esclave, le registre esp est chargé avec la valeur sauvegardée dans la pile maître. Ce mécanisme est imposé par le processeur, il est impossible d y échapper. À partir de cette phase, il faut donc gérer deux piles par processus, une pour le mode maître et une pour le mode esclave. Protection de l espace des entrées/sorties L espace des registres d E/S ne doit être accessible qu en mode maître. Cette protection peut être mise en oeuvre en affectant un iopl de 0 dans les flags de l application. 1 une par appel noyau 6

7 Lorsque cette protection est mise en place, l application ne peut donc pas écrire directement. Pour les besoins des sorties des programmes de test, vous devrez donc créer un appel système cons write pour gérér l affichage à l écran. Le formatage des sorties effectué par printf doit quant à lui rester en mode utilisateur. 7.2 Tests En fin de phase 5, vous devez au minimum valider les tests suivants : Test du mode utilisateur Écrire et faire fonctionner le programme suivant : 1. imprimer le message Je démarre 2. exécuter une instruction privilégiée 3. imprimer le message Je stoppe 4. terminer À l exécution, on doit voir le premier message mais pas le second car lors de l exécution de l instruction privilégiée, il doit se produire une exception, que le noyau pourra récupérer pour tuer le programme fautif. Cette gestion des exceptions n est pas obligatoire dans le cahier de charges de base du projet, et si elle n est pas implémentée, votre noyau plantera en cas d exception. Test de la protection de la mémoire et de l espace d E/S C est une variation du programme précédent : au lieu d exécuter une instruction privilégiée, le programme essaye d accéder à l espace d E/S, par exemple en tentant de modifier la position du curseur, ou à une zone mémoire protégée, par exemple la mémoire vidéo. Là aussi, le noyau pourra récupérer l exception et tuer le programme fautif. Test du passage de paramètres Ecrire un programme qui crée plusieurs processus en leur passant des paramètres différents. Les processus se contentent d imprimer les paramètres reçus et se terminent. 8 Phase 6 Cette partie consiste à implémenter une console. Les sorties sur écran étant normalement opérationnelles depuis la phase 1, il reste à coder un pilote de clavier. Il faut réaliser un vrai pilote, c est-à-dire fonctionnant par interruptions. Ce qui vous est principalement demandé ici, c est de gérer les événements liés au clavier et d implémenter les appels système cons read et cons write. Tout ce qui concerne la 7

8 reconnaissance des scancodes vous est fourni. Le travail qui vous est demandé concerne les mécanismes de base de gestion des E/S. 9 Phase 7 Cette partie consiste à implémenter un interprète de commandes, qui vous sera utile pour tester et démontrer le bon fonctionnement de votre système. Il est important de comprendre que ce shell doit être un programme utilisateur. Il ne doit pas accéder aux structures de données du noyau, la protection mémoire mise en place par le crt0 qui vous est fourni l en empêchera. Si votre shell doit récupérer des informations auprès du noyau, par exemple la liste des processus existants pour la commande ps, cela doit se faire par le biais d appels systèmes. Vous pouvez définir tous les appels systèmes qui vous semblent nécessaires. 10 Phase optionnelle Cette phase n est proposée qu à ceux qui, avant la fin du temps imparti, ont une réalisation impeccable de la partie obligatoire et souhaitent approfondir certains aspects de l implémentation d un système d exploitation. Avant de vous lancer dans cette phase, nous vous demandons de faire le point avec un enseignant pour : vérifier l état courant de votre implémentation ; déterminer, en fonction du temps restant et de vos intérêts, sur quel(s) aspect(s) travailler. Des idées de réalisations sont proposées à la fin de la spécification du noyau. 8

REALISATION d'un. ORDONNANCEUR à ECHEANCES

REALISATION d'un. ORDONNANCEUR à ECHEANCES REALISATION d'un ORDONNANCEUR à ECHEANCES I- PRÉSENTATION... 3 II. DESCRIPTION DU NOYAU ORIGINEL... 4 II.1- ARCHITECTURE... 4 II.2 - SERVICES... 4 III. IMPLÉMENTATION DE L'ORDONNANCEUR À ÉCHÉANCES... 6

Plus en détail

Introduction aux Systèmes et aux Réseaux

Introduction aux Systèmes et aux Réseaux Introduction aux Systèmes et aux Réseaux Cours 5 Processus D après un cours de Julien Forget (univ Lille1) Laure Gonnord http://laure.gonnord.org/pro/teaching/ Laure.Gonnord@univ-lyon1.fr Master CCI -

Plus en détail

Structure d un programme

Structure d un programme Architecture des ordinateurs Cours 6 Structure d un programme 3 décembre 2012 Archi 1/30 Programme en Assembleur Archi 2/30 Sections de données programme en assembleur = fichier texte (extension.asm) organisé

Plus en détail

Processus! programme. DIMA, Systèmes Centralisés (Ph. Mauran) " Processus = suite d'actions = suite d'états obtenus = trace

Processus! programme. DIMA, Systèmes Centralisés (Ph. Mauran)  Processus = suite d'actions = suite d'états obtenus = trace Processus 1) Contexte 2) Modèles de Notion de Points de vue Modèle fourni par le SX Opérations sur les 3) Gestion des Représentation des Opérations 4) Ordonnancement des Niveaux d ordonnancement Ordonnancement

Plus en détail

Cours Programmation Système

Cours Programmation Système Cours Programmation Système Filière SMI Semestre S6 El Mostafa DAOUDI Département de Mathématiques et d Informatique, Faculté des Sciences Université Mohammed Premier Oujda m.daoudi@fso.ump.ma Février

Plus en détail

Logiciel de base. Première année ENSIMAG

Logiciel de base. Première année ENSIMAG Logiciel de base Première année ENSIMAG 1 Procédures, paramètres, pile En assembleur une fonction est une étiquette, c'est l'adresse de sa première instruction Lors de l'appel d'une fonction, la pile sert

Plus en détail

Exécutif temps réel Pierre-Yves Duval (cppm)

Exécutif temps réel Pierre-Yves Duval (cppm) Exécutif temps réel Pierre-Yves Duval (cppm) Ecole d informatique temps réel - La Londes les Maures 7-11 Octobre 2002 Plan Exécutif Tâches Evénements et synchronisation Partage de ressources Communications

Plus en détail

Programmation système de commandes en C

Programmation système de commandes en C Programmation système de commandes en C Cours de Programmation système Tuyêt Trâm DANG NGOC Université de Cergy-Pontoise 2012 2013 Tuyêt Trâm DANG NGOC Programmation système de commandes

Plus en détail

03/04/2007. Tâche 1 Tâche 2 Tâche 3. Système Unix. Time sharing

03/04/2007. Tâche 1 Tâche 2 Tâche 3. Système Unix. Time sharing 3/4/27 Programmation Avancée Multimédia Multithreading Benoît Piranda Équipe SISAR Université de Marne La Vallée Besoin Programmes à traitements simultanés Réseau Réseau Afficher une animation en temps

Plus en détail

Systèmes d exploitation

Systèmes d exploitation Systèmes d exploitation Virtualisation, Sécurité et Gestion des périphériques Gérard Padiou Département Informatique et Mathématiques appliquées ENSEEIHT Novembre 2009 Gérard Padiou Systèmes d exploitation

Plus en détail

Assembleur. Faculté I&C, André Maurer, Claude Petitpierre

Assembleur. Faculté I&C, André Maurer, Claude Petitpierre Assembleur Faculté I&C, André Maurer, Claude Petitpierre INTRODUCTION Logiciel utilisé Faculté I&C, André Maurer, Claude Petitpierre MEMOIRE Mémoire Faculté I&C, André Maurer, Claude Petitpierre Mémoire

Plus en détail

Cours de Systèmes d Exploitation

Cours de Systèmes d Exploitation Licence d informatique Synchronisation et Communication inter-processus Hafid Bourzoufi Université de Valenciennes - ISTV Introduction Les processus concurrents s exécutant dans le système d exploitation

Plus en détail

Support de cours système d exploitation

Support de cours système d exploitation Support de cours système d exploitation J. Gispert, J. Guizol, J.L. Massat Département d informatique Faculté de Luminy 163, Avenue de Luminy, Case 901, 13288 Marseille, cedex 9 23 février 2012 Chapitre

Plus en détail

Temps Réel. Jérôme Pouiller <j.pouiller@sysmic.org> Septembre 2011

Temps Réel. Jérôme Pouiller <j.pouiller@sysmic.org> Septembre 2011 Temps Réel Jérôme Pouiller Septembre 2011 Sommaire Problèmatique Le monotâche Le multitâches L ordonnanement Le partage de ressources Problèmatiques des OS temps réels J. Pouiller

Plus en détail

École Polytechnique de Montréal. Département de Génie Informatique et Génie Logiciel. Cours INF2610. Contrôle périodique.

École Polytechnique de Montréal. Département de Génie Informatique et Génie Logiciel. Cours INF2610. Contrôle périodique. École Polytechnique de Montréal Département de Génie Informatique et Génie Logiciel Cours INF2610 Contrôle périodique Automne 2013 Date : 11 octobre 2013 de 18h à 20h Professeur : Boucheneb Hanifa Documentation

Plus en détail

Argument-fetching dataflow machine de G.R. Gao et J.B. Dennis (McGill, 1988) = machine dataflow sans flux de données

Argument-fetching dataflow machine de G.R. Gao et J.B. Dennis (McGill, 1988) = machine dataflow sans flux de données EARTH et Threaded-C: Éléments clés du manuel de références de Threaded-C Bref historique de EARTH et Threaded-C Ancêtres de l architecture EARTH: Slide 1 Machine à flux de données statique de J.B. Dennis

Plus en détail

Les processus légers : threads. Système L3, 2014-2015 1/31

Les processus légers : threads. Système L3, 2014-2015 1/31 Les processus légers : threads Système L3, 2014-2015 1/31 Les threads Les threads sont des processus légers exécutés à l intérieur d un processus L exécution des threads est concurrente Il existe toujours

Plus en détail

IV- Comment fonctionne un ordinateur?

IV- Comment fonctionne un ordinateur? 1 IV- Comment fonctionne un ordinateur? L ordinateur est une alliance du hardware (le matériel) et du software (les logiciels). Jusqu à présent, nous avons surtout vu l aspect «matériel», avec les interactions

Plus en détail

Cours d Algorithmique-Programmation 2 e partie (IAP2): programmation 24 octobre 2007impérative 1 / 44 et. structures de données simples

Cours d Algorithmique-Programmation 2 e partie (IAP2): programmation 24 octobre 2007impérative 1 / 44 et. structures de données simples Cours d Algorithmique-Programmation 2 e partie (IAP2): programmation impérative et structures de données simples Introduction au langage C Sandrine Blazy - 1ère année 24 octobre 2007 Cours d Algorithmique-Programmation

Plus en détail

La mémoire. Un ordinateur. L'octet. Le bit

La mémoire. Un ordinateur. L'octet. Le bit Introduction à l informatique et à la programmation Un ordinateur Un ordinateur est une machine à calculer composée de : un processeur (ou unité centrale) qui effectue les calculs une mémoire qui conserve

Plus en détail

Compilation (INF 564)

Compilation (INF 564) Présentation du cours Le processeur MIPS Programmation du MIPS 1 Compilation (INF 564) Introduction & architecture MIPS François Pottier 10 décembre 2014 Présentation du cours Le processeur MIPS Programmation

Plus en détail

Introduction au langage C

Introduction au langage C Introduction au langage C Cours 1: Opérations de base et premier programme Alexis Lechervy Alexis Lechervy (UNICAEN) Introduction au langage C 1 / 23 Les premiers pas Sommaire 1 Les premiers pas 2 Les

Plus en détail

Programmation C. Apprendre à développer des programmes simples dans le langage C

Programmation C. Apprendre à développer des programmes simples dans le langage C Programmation C Apprendre à développer des programmes simples dans le langage C Notes de cours sont disponibles sur http://astro.u-strasbg.fr/scyon/stusm (attention les majuscules sont importantes) Modalités

Plus en détail

Playing with ptrace() for fun and profit

Playing with ptrace() for fun and profit sous GNU/Linux nicolas.bareil@eads.net EADS Corporate Research Center - DCR/STI/C SSI Lab SSTIC 2006 Il était une fois... Sous UNIX, ptrace() est le seul moyen de debuggage. User-space, Interface rigide

Plus en détail

1 Architecture du cœur ARM Cortex M3. Le cœur ARM Cortex M3 sera présenté en classe à partir des éléments suivants :

1 Architecture du cœur ARM Cortex M3. Le cœur ARM Cortex M3 sera présenté en classe à partir des éléments suivants : GIF-3002 SMI et Architecture du microprocesseur Ce cours discute de l impact du design du microprocesseur sur le système entier. Il présente d abord l architecture du cœur ARM Cortex M3. Ensuite, le cours

Plus en détail

Machines virtuelles. Brique ASC. Samuel Tardieu sam@rfc1149.net. Samuel Tardieu (ENST) Machines virtuelles 1 / 40

Machines virtuelles. Brique ASC. Samuel Tardieu sam@rfc1149.net. Samuel Tardieu (ENST) Machines virtuelles 1 / 40 Machines virtuelles Brique ASC Samuel Tardieu sam@rfc1149.net École Nationale Supérieure des Télécommunications Samuel Tardieu (ENST) Machines virtuelles 1 / 40 Machines virtuelles La compilation peut

Plus en détail

Conception des systèmes répartis

Conception des systèmes répartis Conception des systèmes répartis Principes et concepts Gérard Padiou Département Informatique et Mathématiques appliquées ENSEEIHT Octobre 2012 Gérard Padiou Conception des systèmes répartis 1 / 37 plan

Plus en détail

Ordinateurs, Structure et Applications

Ordinateurs, Structure et Applications Ordinateurs, Structure et Applications Cours 10, Les interruptions Etienne Tremblay Université Laval, Hiver 2012 Cours 10, p.1 Les interruptions du 8086 Une interruption interrompt l exécution séquentielle

Plus en détail

Informatique industrielle A7-19571 Systèmes temps-réel J.F.Peyre. Partie I : Introduction

Informatique industrielle A7-19571 Systèmes temps-réel J.F.Peyre. Partie I : Introduction Informatique industrielle A7-19571 Systèmes temps-réel J.F.Peyre Partie I : Introduction Plan de la première partie Quelques définitions Caractéristiques communes des applications temps-réel Exemples d

Plus en détail

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP COURS PROGRAMMATION INITIATION AU LANGAGE C SUR MICROCONTROLEUR PIC page 1 / 7 INITIATION AU LANGAGE C SUR PIC DE MICROSHIP I. Historique du langage C 1972 : naissance du C dans les laboratoires BELL par

Plus en détail

Itium XP. Guide Utilisateur

Itium XP. Guide Utilisateur Itium XP 06/2007 - Rev. 3 1 Sommaire 1 Sommaire... 2 2 Généralités... 3 3 ItiumSysLock... 4 3.1 Enregistrer l état actuel du système... 4 3.2 Désactiver ItiumSysLock... 5 3.3 Activer ItiumSysLock... 5

Plus en détail

Cours A7 : Temps Réel

Cours A7 : Temps Réel Cours A7 : Temps Réel Pierre.Paradinas / @ / cnam.fr Cnam/Cedric Systèmes Enfouis et Embarqués (SEE) Motivations Du jour : les mécanismes multitâches, la gestion des priorités, l ordonnancement, la gestion

Plus en détail

LEs processus coopèrent souvent pour traiter un même problème. Ces

LEs processus coopèrent souvent pour traiter un même problème. Ces Chapitre 5 Communication interprocessus LEs processus coopèrent souvent pour traiter un même problème. Ces processus s exécutent en parallèle sur un même ordinateur (monoprocesseur ou multiprocesseurs)

Plus en détail

Conception de circuits numériques et architecture des ordinateurs

Conception de circuits numériques et architecture des ordinateurs Conception de circuits numériques et architecture des ordinateurs Frédéric Pétrot et Sébastien Viardot Année universitaire 2011-2012 Structure du cours C1 C2 C3 C4 C5 C6 C7 C8 C9 C10 C11 C12 Codage des

Plus en détail

Rappels d architecture

Rappels d architecture Assembleur Rappels d architecture Un ordinateur se compose principalement d un processeur, de mémoire. On y attache ensuite des périphériques, mais ils sont optionnels. données : disque dur, etc entrée

Plus en détail

Un ordonnanceur stupide

Un ordonnanceur stupide Un ordonnanceur simple Université Paris Sud L objet des exercices qui suivent est de créer un ordonanceur implantant l algorithme du tourniquet ( round-robin scheduler ). La technique utilisée pour élire

Plus en détail

Traduction des Langages : Le Compilateur Micro Java

Traduction des Langages : Le Compilateur Micro Java BARABZAN Jean-René OUAHAB Karim TUCITO David 2A IMA Traduction des Langages : Le Compilateur Micro Java µ Page 1 Introduction Le but de ce projet est d écrire en JAVA un compilateur Micro-Java générant

Plus en détail

Modules du DUT Informatique proposés pour des DCCE en 2014/2015

Modules du DUT Informatique proposés pour des DCCE en 2014/2015 Modules du DUT Informatique proposés pour des DCCE en 2014/2015 Résumé de l offre : Parmi les 5500 heures d enseignement informatique dispensées au département informatique de l IUT (avec 2880 heures de

Plus en détail

Initiation. àl algorithmique et à la programmation. en C

Initiation. àl algorithmique et à la programmation. en C Initiation àl algorithmique et à la programmation en C Initiation àl algorithmique et à la programmation en C Cours avec 129 exercices corrigés Illustration de couverture : alwyncooper - istock.com Dunod,

Plus en détail

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE QCM Remarque : - A une question correspond au moins 1 réponse juste - Cocher la ou les bonnes réponses Barème : - Une bonne réponse = +1 - Pas de réponse = 0

Plus en détail

Version de novembre 2012, valable jusqu en avril 2013

Version de novembre 2012, valable jusqu en avril 2013 Pré requis techniques pour l installation du logiciel complet de gestion commerciale WIN GSM en version hyper File en configuration Windows Terminal Serveur Version de novembre 2012, valable jusqu en avril

Plus en détail

Synchro et Threads Java TM

Synchro et Threads Java TM Synchro et Threads Java TM NICOD JEAN-MARC Master 2 Informatique Université de Franche-Comté UFR des Sciences et Techniques septembre 2008 NICOD JEAN-MARC Synchro et Threads avec Java TM 1 / 32 Sommaire

Plus en détail

SRS DAY: Problématique liée à la virtualisation

SRS DAY: Problématique liée à la virtualisation SRS DAY: Problématique liée à la virtualisation Anthony GUDUSZEIT Franck CURO gudusz_a curo_f Introduction Sommaire Définition Contexte Avantages / inconvénients Fonctionnement et problématique Techniques

Plus en détail

Cours 6 : Tubes anonymes et nommés

Cours 6 : Tubes anonymes et nommés Cours 6 : Tubes anonymes et nommés Mécanisme de communications du système de fichiers I-node associé. Type de fichier: S_IFIFO. Accès au travers des primitives read et write. Les tubes sont unidirectionnels

Plus en détail

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

INTRODUCTION A JAVA. Fichier en langage machine Exécutable INTRODUCTION A JAVA JAVA est un langage orienté-objet pur. Il ressemble beaucoup à C++ au niveau de la syntaxe. En revanche, ces deux langages sont très différents dans leur structure (organisation du

Plus en détail

Introduction aux systèmes temps réel. Iulian Ober IRIT ober@iut-blagnac.fr

Introduction aux systèmes temps réel. Iulian Ober IRIT ober@iut-blagnac.fr Introduction aux systèmes temps réel Iulian Ober IRIT ober@iut-blagnac.fr Définition Systèmes dont la correction ne dépend pas seulement des valeurs des résultats produits mais également des délais dans

Plus en détail

Rappels Entrées -Sorties

Rappels Entrées -Sorties Fonctions printf et scanf Syntaxe: écriture, organisation Comportement Données hétérogènes? Gestion des erreurs des utilisateurs 17/11/2013 Cours du Langage C ibr_guelzim@yahoo.fr ibrahimguelzim.atspace.co.uk

Plus en détail

PlantVisorPRO. Supervision d installations. Manuel rapide. Integrated Control Solutions & Energy Savings

PlantVisorPRO. Supervision d installations. Manuel rapide. Integrated Control Solutions & Energy Savings PlantVisorPRO Supervision d installations Manuel rapide Integrated Control Solutions & Energy Savings +040000082 ver. 2.0 14/09/2010 2 Indice PlantVisorPRO 1 1. IntroduCTION 5 7. PersonNALISER L INTERFACE

Plus en détail

CH.3 SYSTÈMES D'EXPLOITATION

CH.3 SYSTÈMES D'EXPLOITATION CH.3 SYSTÈMES D'EXPLOITATION 3.1 Un historique 3.2 Une vue générale 3.3 Les principaux aspects Info S4 ch3 1 3.1 Un historique Quatre générations. Préhistoire 1944 1950 ENIAC (1944) militaire : 20000 tubes,

Plus en détail

ASR1 TD7 : Un microprocesseur RISC 16 bits

ASR1 TD7 : Un microprocesseur RISC 16 bits {Â Ö Ñ º ØÖ Ý,È ØÖ ºÄÓ Ù,Æ ÓÐ ºÎ ÝÖ Ø¹ ÖÚ ÐÐÓÒ} Ò ¹ÐÝÓÒº Ö ØØÔ»»Ô Ö Óº Ò ¹ÐÝÓÒº Ö» Ö Ñ º ØÖ Ý»¼ Ö½» ASR1 TD7 : Un microprocesseur RISC 16 bits 13, 20 et 27 novembre 2006 Présentation générale On choisit

Plus en détail

Info0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java

Info0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java Info0101 Intro. à l'algorithmique et à la programmation Cours 3 Le langage Java Pierre Delisle, Cyril Rabat et Christophe Jaillet Université de Reims Champagne-Ardenne Département de Mathématiques et Informatique

Plus en détail

Les structures de données. Rajae El Ouazzani

Les structures de données. Rajae El Ouazzani Les structures de données Rajae El Ouazzani Les arbres 2 1- Définition de l arborescence Une arborescence est une collection de nœuds reliés entre eux par des arcs. La collection peut être vide, cad l

Plus en détail

L informatique en BCPST

L informatique en BCPST L informatique en BCPST Présentation générale Sylvain Pelletier Septembre 2014 Sylvain Pelletier L informatique en BCPST Septembre 2014 1 / 20 Informatique, algorithmique, programmation Utiliser la rapidité

Plus en détail

Architecture des ordinateurs

Architecture des ordinateurs Architecture des ordinateurs Cours 4 5 novembre 2012 Archi 1/22 Micro-architecture Archi 2/22 Intro Comment assembler les différents circuits vus dans les cours précédents pour fabriquer un processeur?

Plus en détail

Réalisation d un OS 32 bits pour PC(x86)

Réalisation d un OS 32 bits pour PC(x86) Rapport projet tutoré Réalisation d un OS 32 bits pour PC(x86) Maxime Chéramy Nicolas Floquet Benjamin Hautbois

Plus en détail

Analyse de sécurité de logiciels système par typage statique

Analyse de sécurité de logiciels système par typage statique Contexte Modélisation Expérimentation Conclusion Analyse de sécurité de logiciels système par typage statique Application au noyau Linux Étienne Millon UPMC/LIP6 Airbus Group Innovations Sous la direction

Plus en détail

THEME 1 : L ORDINATEUR ET SON ENVIRONNEMENT. Objectifs

THEME 1 : L ORDINATEUR ET SON ENVIRONNEMENT. Objectifs Architecture Matérielle des Systèmes Informatiques. S1 BTS Informatique de Gestion 1 ère année THEME 1 : L ORDINATEUR ET SON ENVIRONNEMENT Dossier 1 L environnement informatique. Objectifs Enumérer et

Plus en détail

Systèmes informatiques

Systèmes informatiques Systèmes informatiques Franck Guingne, sur la base du cours d Olivier Lecarme Cours Licence 1; Semestre 2 2009 2010 Troisième cours : Installation d une distribution GNU/Linux. 1 Les différentes distributions

Plus en détail

Qu'est-ce qu'un processus: Définitions

Qu'est-ce qu'un processus: Définitions Version septembre 2013 N 187 Qu'est-ce qu'un processus: Définitions Instruction = indécomposable et indivisible Processeur =... Processus = suite temporelle d'exécutions d'instructions Processus = exécution

Plus en détail

UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux.

UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux. UEO11 COURS/TD 1 Contenu du semestre Cours et TDs sont intégrés L objectif de ce cours équivalent a 6h de cours, 10h de TD et 8h de TP est le suivant : - initiation à l algorithmique - notions de bases

Plus en détail

Programmation système I Les entrées/sorties

Programmation système I Les entrées/sorties Programmation système I Les entrées/sorties DUT 1 re année Université de Marne La vallée Les entrées-sorties : E/O Entrées/Sorties : Opérations d échanges d informations dans un système informatique. Les

Plus en détail

Sans trop entrer dans les détails, la démarche IO Model consiste à : Pour cela, Microsoft découpe la maîtrise de l infrastructure en quatre niveaux :

Sans trop entrer dans les détails, la démarche IO Model consiste à : Pour cela, Microsoft découpe la maîtrise de l infrastructure en quatre niveaux : Windows Server 2008 Les fondations du système... 15 La virtualisation... 16 La sécurité... 18 Le Web... 20 Fonctionnalité disponible dans... 21 Installation et configuration... 22 Installer... 23 Les services

Plus en détail

Chapitre 4 : Outils de communication centralisés entre processus

Chapitre 4 : Outils de communication centralisés entre processus Chapitre 1 : Introduction Chapitre 2 : Processus Chapitre 3 : Ordonnancement Chapitre 4 : Outils de communication centralisés entre processus Chapitre 5 : Allocation mémoire Chapitre 6 : Mémoire virtuelle

Plus en détail

6 - Le système de gestion de fichiers F. Boyer, UJF-Laboratoire Lig, Fabienne.Boyer@imag.fr

6 - Le système de gestion de fichiers F. Boyer, UJF-Laboratoire Lig, Fabienne.Boyer@imag.fr 6 - Le système de gestion de fichiers F. Boyer, UJF-Laboratoire Lig, Fabienne.Boyer@imag.fr Interface d un SGF Implémentation d un SGF Gestion de la correspondance entre la structure logique et la structure

Plus en détail

NFP 121. Java et les Threads. Présentation : Thierry Escalarasse Mai 2007

NFP 121. Java et les Threads. Présentation : Thierry Escalarasse Mai 2007 NFP 121 Java et les Threads Présentation : Thierry Escalarasse Mai 2007 Plan du cour Présentation de la notion de Threads La classe Thread L interface Runnable Les états d un thread La Synchronisation

Plus en détail

Traitement de données

Traitement de données Traitement de données Présentation du module TINI Présentation du module : Le module Tini se décline en plusieurs versions, il est constitué d une carte d application et d un module processeur : Les modules

Plus en détail

Java Licence Professionnelle CISII, 2009-10

Java Licence Professionnelle CISII, 2009-10 Java Licence Professionnelle CISII, 2009-10 Cours 4 : Programmation structurée (c) http://www.loria.fr/~tabbone/cours.html 1 Principe - Les méthodes sont structurées en blocs par les structures de la programmation

Plus en détail

Cours de Programmation Impérative: Zones de mémoires et pointeurs

Cours de Programmation Impérative: Zones de mémoires et pointeurs Cours de Programmation Impérative: Zones de mémoires et pointeurs Julien David A101 - david@lipn.univ-paris13.fr Julien David (A101 - david@lipn.univ-paris13.fr) 1 / 1 Z`o n`e s `d`e m`é m`o i r`e Julien

Plus en détail

1. Structure d un programme C. 2. Commentaire: /*..texte */ On utilise aussi le commentaire du C++ qui est valable pour C: 3.

1. Structure d un programme C. 2. Commentaire: /*..texte */ On utilise aussi le commentaire du C++ qui est valable pour C: 3. 1. Structure d un programme C Un programme est un ensemble de fonctions. La fonction "main" constitue le point d entrée pour l exécution. Un exemple simple : #include int main() { printf ( this

Plus en détail

Démarrer et quitter... 13

Démarrer et quitter... 13 Démarrer et quitter... 13 Astuce 1 - Ouvrir, modifier, ajouter un élément dans le Registre... 14 Astuce 2 - Créer un point de restauration... 18 Astuce 3 - Rétablir un point de restauration... 21 Astuce

Plus en détail

qwertyuiopasdfghjklzxcvbnmqwerty uiopasdfghjklzxcvbnmqwertyuiopasd fghjklzxcvbnmqwertyuiopasdfghjklzx cvbnmqwertyuiopasdfghjklzxcvbnmq

qwertyuiopasdfghjklzxcvbnmqwerty uiopasdfghjklzxcvbnmqwertyuiopasd fghjklzxcvbnmqwertyuiopasdfghjklzx cvbnmqwertyuiopasdfghjklzxcvbnmq qwertyuiopasdfghjklzxcvbnmqwerty uiopasdfghjklzxcvbnmqwertyuiopasd fghjklzxcvbnmqwertyuiopasdfghjklzx COURS DE PERFECTIONNEMENT cvbnmqwertyuiopasdfghjklzxcvbnmq L ordinateur et Windows 2014-2015 wertyuiopasdfghjklzxcvbnmqwertyui

Plus en détail

Leçon 1 : Les principaux composants d un ordinateur

Leçon 1 : Les principaux composants d un ordinateur Chapitre 2 Architecture d un ordinateur Leçon 1 : Les principaux composants d un ordinateur Les objectifs : o Identifier les principaux composants d un micro-ordinateur. o Connaître les caractéristiques

Plus en détail

Windows Server 2008. Chapitre 1: Découvrir Windows Server 2008

Windows Server 2008. Chapitre 1: Découvrir Windows Server 2008 Windows Server 2008 Chapitre 1: Découvrir Windows Server 2008 Objectives Identifier les caractéristiques de chaque édition de Windows Server 2008 Identifier les caractéristiques généraux de Windows Server

Plus en détail

IBM Tivoli Monitoring, version 6.1

IBM Tivoli Monitoring, version 6.1 Superviser et administrer à partir d une unique console l ensemble de vos ressources, plates-formes et applications. IBM Tivoli Monitoring, version 6.1 Points forts! Surveillez de façon proactive les éléments

Plus en détail

UE Programmation Impérative Licence 2ème Année 2014 2015

UE Programmation Impérative Licence 2ème Année 2014 2015 UE Programmation Impérative Licence 2 ème Année 2014 2015 Informations pratiques Équipe Pédagogique Florence Cloppet Neilze Dorta Nicolas Loménie prenom.nom@mi.parisdescartes.fr 2 Programmation Impérative

Plus en détail

Cours intensif Java. 1er cours: de C à Java. Enrica DUCHI LIAFA, Paris 7. Septembre 2009. Enrica.Duchi@liafa.jussieu.fr

Cours intensif Java. 1er cours: de C à Java. Enrica DUCHI LIAFA, Paris 7. Septembre 2009. Enrica.Duchi@liafa.jussieu.fr . Cours intensif Java 1er cours: de C à Java Septembre 2009 Enrica DUCHI LIAFA, Paris 7 Enrica.Duchi@liafa.jussieu.fr LANGAGES DE PROGRAMMATION Pour exécuter un algorithme sur un ordinateur il faut le

Plus en détail

Les structures. Chapitre 3

Les structures. Chapitre 3 Chapitre 3 Les structures Nous continuons notre étude des structures de données qui sont prédéfinies dans la plupart des langages informatiques. La structure de tableau permet de regrouper un certain nombre

Plus en détail

Programmation assembleur : aperçu

Programmation assembleur : aperçu Assembleur : Younès EL AMRANI. 1 Programmation assembleur : aperçu Programmation en assembleur : NASM Module M14 Semestre 4 Printemps 2010 Equipe pédagogique : Younès El Amrani, Abdelhakim El Imrani, Faissal

Plus en détail

J2SE Threads, 1ère partie Principe Cycle de vie Création Synchronisation

J2SE Threads, 1ère partie Principe Cycle de vie Création Synchronisation J2SE Threads, 1ère partie Principe Cycle de vie Création Synchronisation Cycle Ingénierie 2e année SIGL Dernière mise à jour : 19/10/2006 Christophe Porteneuve Threads Principes Cycle de vie Création java.lang.thread

Plus en détail

Métriques de performance pour les algorithmes et programmes parallèles

Métriques de performance pour les algorithmes et programmes parallèles Métriques de performance pour les algorithmes et programmes parallèles 11 18 nov. 2002 Cette section est basée tout d abord sur la référence suivante (manuel suggéré mais non obligatoire) : R. Miller and

Plus en détail

Mesure de performances. [Architecture des ordinateurs, Hennessy & Patterson, 1996]

Mesure de performances. [Architecture des ordinateurs, Hennessy & Patterson, 1996] Mesure de performances [Architecture des ordinateurs, Hennessy & Patterson, 1996] Croissance des performances des microprocesseurs Avant le milieu des années 80, le gain dépendait de la technologie. Après,

Plus en détail

Contraintes, particularités. 1. Généralités... 2. 2. Gestion de la mémoire... 2. a. Type des variables et constantes... 2

Contraintes, particularités. 1. Généralités... 2. 2. Gestion de la mémoire... 2. a. Type des variables et constantes... 2 C Embarque Contraintes, particularités 1. Généralités... 2 2. Gestion de la mémoire... 2 a. Type des variables et constantes.... 2 b. Variables locales ou globales... 3 3. Interruptions... 5 4. Imposer

Plus en détail

Programmer en JAVA. par Tama (tama@via.ecp.fr( tama@via.ecp.fr)

Programmer en JAVA. par Tama (tama@via.ecp.fr( tama@via.ecp.fr) Programmer en JAVA par Tama (tama@via.ecp.fr( tama@via.ecp.fr) Plan 1. Présentation de Java 2. Les bases du langage 3. Concepts avancés 4. Documentation 5. Index des mots-clés 6. Les erreurs fréquentes

Plus en détail

Cours 3 : L'ordinateur

Cours 3 : L'ordinateur Cours 3 : L'ordinateur Abdelkrim Zehioua 2éme année Licence Gestion Faculté des sciences Économiques et sciences de Gestion Université A, Mehri - Constantine 2 Plan du cours 1.Définitions de l'ordinateur

Plus en détail

La programmation des PIC en C. Les fonctions, les interruptions.

La programmation des PIC en C. Les fonctions, les interruptions. La programmation des PIC en C Les fonctions, les interruptions. Réalisation : HOLLARD Hervé. http://electronique-facile.com Date : 26 août 2004 Révision : 1.2 Sommaire Sommaire... 2 Introduction... 3 Structure

Plus en détail

Projet gestion d'objets dupliqués

Projet gestion d'objets dupliqués Projet gestion d'objets dupliqués Daniel Hagimont Daniel.Hagimont@enseeiht.fr 1 Projet Service de gestion d'objets dupliqués Mise en cohérence lors de la prise d'un verrou sur un objet Pas de verrous imbriqués

Plus en détail

Introduction à Java. Matthieu Herrb CNRS-LAAS. Mars 2014. http://homepages.laas.fr/matthieu/cours/java/java.pdf

Introduction à Java. Matthieu Herrb CNRS-LAAS. Mars 2014. http://homepages.laas.fr/matthieu/cours/java/java.pdf Introduction à Java Matthieu Herrb CNRS-LAAS http://homepages.laas.fr/matthieu/cours/java/java.pdf Mars 2014 Plan 1 Concepts 2 Éléments du langage 3 Classes et objets 4 Packages 2/28 Histoire et motivations

Plus en détail

Manuel de System Monitor

Manuel de System Monitor Chris Schlaeger John Tapsell Chris Schlaeger Tobias Koenig Traduction française : Yves Dessertine Traduction française : Philippe Guilbert Traduction française : Robin Guitton Relecture de la documentation

Plus en détail

Windows XP niveau 2. D. Hourquin, Médiapôle St Ouen l'aumône

Windows XP niveau 2. D. Hourquin, Médiapôle St Ouen l'aumône Windows XP niveau 2 Les nouveautés de XP par rapport à 98 Installation, configuration et paramétrage : les fichiers système, la mise à jour, la gestion des périphériques classiques. Maintenance du disque

Plus en détail

Chapitre I Notions de base et outils de travail

Chapitre I Notions de base et outils de travail Chapitre I Notions de base et outils de travail Objectifs Connaître les principes fondateurs et l historique du langage Java S informer des principales caractéristiques du langage Java Connaître l environnement

Plus en détail

Programmation système en C/C++

Programmation système en C/C++ Programmation système en C/C++ Jean-Baptiste Vioix (jb.vioix@free.fr) LE2I - ENESAD http://jb.vioix.free.fr 1-41 Programmation en C/C++ sous Unix Il existe des très nombreux outils de développement sous

Plus en détail

INTRODUCTION AUX SYSTEMES D EXPLOITATION. TD2 Exclusion mutuelle / Sémaphores

INTRODUCTION AUX SYSTEMES D EXPLOITATION. TD2 Exclusion mutuelle / Sémaphores INTRODUCTION AUX SYSTEMES D EXPLOITATION TD2 Exclusion mutuelle / Sémaphores Exclusion mutuelle / Sémaphores - 0.1 - S O M M A I R E 1. GENERALITES SUR LES SEMAPHORES... 1 1.1. PRESENTATION... 1 1.2. UN

Plus en détail

Plan du cours. Historique du langage http://www.oracle.com/technetwork/java/index.html. Nouveautés de Java 7

Plan du cours. Historique du langage http://www.oracle.com/technetwork/java/index.html. Nouveautés de Java 7 Université Lumière Lyon 2 Faculté de Sciences Economiques et Gestion KHARKIV National University of Economic Introduction au Langage Java Master Informatique 1 ère année Julien Velcin http://mediamining.univ-lyon2.fr/velcin

Plus en détail

Eric Bertrand ebertrand@ixis-cib.com. 08/11/06 Maître de conférence 1

Eric Bertrand ebertrand@ixis-cib.com. 08/11/06 Maître de conférence 1 Calcul parallèle des options MC. Eric Bertrand ebertrand@ixis-cib.com 1 Plan Contexte du calcul parallèle Qualités requises Architecture Outillage Problèmes rencontrés perspectives 2 Contexte du calcul

Plus en détail

FOG : Free Open-Source Ghost. Solution libre de clonage et de déploiement de systèmes d'exploitation.

FOG : Free Open-Source Ghost. Solution libre de clonage et de déploiement de systèmes d'exploitation. FOG : Free Open-Source Ghost Solution libre de clonage et de déploiement de systèmes d'exploitation. JoSy-Plume 22 novembre 2010 Logiciel développé par Chuck Syperski et Jian Zhang, IT à l'université "DuPage"

Plus en détail

Chapitre V : La gestion de la mémoire. Hiérarchie de mémoires Objectifs Méthodes d'allocation Simulation de mémoire virtuelle Le mapping

Chapitre V : La gestion de la mémoire. Hiérarchie de mémoires Objectifs Méthodes d'allocation Simulation de mémoire virtuelle Le mapping Chapitre V : La gestion de la mémoire Hiérarchie de mémoires Objectifs Méthodes d'allocation Simulation de mémoire virtuelle Le mapping Introduction Plusieurs dizaines de processus doivent se partager

Plus en détail

OS Réseaux et Programmation Système - C5

OS Réseaux et Programmation Système - C5 OS Réseaux et Programmation Système - C5 Rabie Ben Atitallah rabie.benatitallah@univ-valenciennes.fr RPC - XDR Rappel RPC: Remote Procedure Call Besoin d un environnement de haut niveau pour le développement

Plus en détail