Mécanismes pour la migration de processus
|
|
- Jean-Claude Bénard
- il y a 8 ans
- Total affichages :
Transcription
1 Université Joseph Fourier Institut National Polytechnique de Grenoble U.F.R. Informatiques & Mathématiques Appliquées ENSIMAG I.M.A.G. DEA D INFORMATIQUE : SYSTEMES ET COMMUNICATIONS Projet présenté par : Sahra Bouchenak-Khelladi Mécanismes pour la migration de processus Extension de la machine virtuelle Java Effectué au laboratoire : INRIA Rhônes-Alpes Projet SIRAC Date : 12 juin 1998 Jury : Didier Bert Jacques Briat Andrzej Duda Sacha Krakowiak UFR Informatique et Mathématiques Appliquées Service scolarité Adresse locale : 60, avenue de la Chimie Domaine Universitaire Saint Martin d ères/gières Adresse postale : B.P Grenoble cedex 9 Tel. : Fax :
2
3 Remerciements Je tiens à remercier Monsieur Roland Balter de m avoir reçue au sein du projet Sirac. Je tiens à remercier également le Professeur Sacha Krakowiak pour son soutien tout le long de ce stage de DEA. Et je remercie particulièrement Messieurs Xavier Rousset de Pina et Daniel Hagimont pour leur soutien permanent et pour les discussions qui ont animé ce stage.
4
5 Mécanismes pour la migration de processus Extension de la machine virtuelle Java Sommaire Introduction La migration de processus Définitions élémentaires Processus et contexte d exécution Qu est-ce que la migration de processus Motivations Algorithme général de migration de processus Travaux antérieurs Classification des travaux sur la migration de processus Degrés de mobilité Hétérogénéité Portabilité Alternatives à la migration de processus Processus clone Agents mobiles et langages sûrs et interprétés Problèmes rencontrés lors de la réalisation de la migration de processus Hétérogénéité Maintien de la validité des canaux ouverts Maintien des communications entre processus Conception de mécanismes de migration de processus dans Java Objectifs de la réalisation Contexte de réalisation Le langage Java Un langage orienté-objet Un langage interprété La machine virtuelle Java Positionnement par rapport aux travaux antérieurs Problèmes et solutions Principes des mécanismes de migration à réaliser... 17
6 3 Machine Virtuelle Java Introduction Présentation générale Exemple introductif Structure de la machine virtuelle Java Zones de données d exécution Le registre pc La pile Java Le tas La zone de méthodes Le constant pool Les piles de méthodes natives Frames Les variables locales Les piles d opérandes La liaison dynamique Fonctionnement de la machine virtuelle Java Démarrage de la machine virtuelle Chargement Liaison Initialisation Terminaison de la machine virtuelle Threads Java Structure du contexte d exécution d un thread Java Réalisation de mécanismes de migration de threads Java Mécanismes de migration Mécanisme d extraction du contexte d exécution d un thread Traitements utilisant la pile Java Traitements utilisant le tas d objets Traitements utilisant la zone de méthodes Mécanisme de transfert d un contexte d exécution Traitements utilisant la pile Java Traitements utilisant le tas d objets Traitements utilisant la zone de méthodes Mécanisme d intégration d un contexte d exécution à un nouveau thread Traitements utilisant la pile Java Traitements utilisant le tas d objets Traitements autour de la zone de méthodes Lancement de l exécution du nouveau thread Mécanisme d adaptation de la migration Adaptation lors de l extraction du contexte d exécution Adaptation lors du transfert du contexte d exécution Adaptation lors de l intégration du contexte d exécution Traitement de l hétérogénéité Principe du traitement Traitement restrictif Etapes de réalisation Evaluation des mécanismes proposés Hypothèses de base... 37
7 5.2 Validation des hypothèses de base Validation de la migration forte Validation de l hétérogénéité Validation de l adaptabilité Manipulation d objets de type Socket Manipulation d objets de type Fichier Utilisation des mécanismes proposés Agents mobiles Clone de thread à distance Sauvegarde de l état pour reprise après panne Conclusion...43 Annexe...45 Annexe 1 : Liste des instructions de byte code Java Références bibliographiques...49 Bibliographie complémentaire...53
8
9 Introduction Introduction Ce rapport présente le travail que j ai effectué durant mon stage de DEA. Je commence par introduire les motivations et les objectifs de ce stage, le projet Sirac dans lequel s est déroulé ce stage, la démarche adoptée pour aborder le problème et enfin, le plan de la suite de ce rapport. Motivations et objectifs La nécessité d équilibrer la charge de calcul et de permettre à une application de résister aux pannes a conduit des équipes de recherche universitaires et industrielles à s intéresser aux mécanismes permettant de déplacer un programme en cours d exécution d un site à un autre. Ces travaux ont abouti à la mise en œuvre de mécanismes, dits de mobilité, permettant à un processus de migrer [Barak83] [Milojicic93] ou aux objets d un langage de programmation d être déplacés [Jul88]. Cependant la mobilité est difficile à implanter. Elle pose des problèmes délicats de sécurité. Elle est coûteuse à utiliser et est peu compatible avec l hétérogénéité des sites. Enfin, elle impose des limitations au modèle d objets proposé. En conséquence le champ des applications envisagées pour l utilisation de ces techniques a longtemps été restreint, d autant plus que, la mobilité n étant pas une nécessité absolue pour répondre aux besoins des applications réparties [Chess87], peu de systèmes la permettent. Le développement d'internet et du Web a changé ces conditions et donné un nouvel essor aux travaux sur la mobilité. En effet, dans cet environnement, les performances d une application peuvent dépendre grandement de celles des communications fournies par l Internet. La latence et le débit sur l Internet étant très variables [Mukherjee94], le transfert d un processus peut non seulement apparaître comme étant d un coût raisonnable, mais peut même être considéré comme un outil d adaptation d un programme aux variations de son environnement [Ranganathan94]. Les problèmes résultant de l hétérogénéité et des difficultés d implantation sont partiellement résolus grâce à l utilisation de langages interprétés tels que Java [Arnold96], Tcl [Ousterhout94] ou Telescript [General Magic95]. C est dans ce cadre que s insère notre stage de DEA. Nos objectifs sont d'analyser les différents problèmes à résoudre pour permettre à des processus de migrer d'une machine vers une autre et d identifier les mécanismes de base qui, intégrés à la machine Java, permettraient à des processus Java de migrer d'une machine vers une autre. Les mécanismes que nous désirons fournir devront pouvoir s'adapter aux besoins des applications. Notre choix s est porté sur l extension de la machine virtuelle Java en raison, d une part, de sa grande diffusion et, d autre part, de l abstraction d un environnement homogène fournie par cette machine. 1
10 Introduction Cadre de travail Ce stage de DEA s est effectué au sein du projet SIRAC (Systèmes Informatiques Répartis pour Applications Coopératives) qui est un projet de l IMAG, de l INRIA (Unité de Recherche Rhône-Alpes), de l INPG, de l UJF et de l Université de Savoie. Un des axes de recherche du projet Sirac est la construction d applications réparties. L objectif de cet axe de recherche est de fournir des outils et des services pour le développement et l exécution d applications réparties. Deux directions sont actuellement explorées : Intégration et extension d applications existantes. Ce thème vise à fournir des outils permettant de construire des applications réparties par assemblage de composants existants ou de configurer ces applications à la demande et de les déployer sur des plates-formes d usage courant. Applications réparties sur l Internet. L objectif de ce thème est de fournir des services systèmes pour permettre d utiliser efficacement l Internet comme environnement d exécution d applications réparties. Les services visés en priorité concernent la gestion d objets partagés, la gestion de la sécurité et la gestion de l exécution répartie (migration du code et des données). Mes travaux de DEA se sont effectués au sein de ce dernier thème, Applications réparties sur l Internet. Ils concernent, plus précisément, la gestion de l exécution répartie et le déplacement de l exécution que nous détaillons par la suite. Démarche suivie La démarche que nous avons adoptée pour aborder le problème de la migration de processus est composée de trois étapes : L étude des travaux antérieurs concernant la migration de processus, depuis les systèmes homogènes tels que le Système V [Theimer85] jusqu aux plates-formes à agents mobiles telles que la plate-forme MOA [Milojicic98]. L étude de la structure et du fonctionnement de la machine virtuelle Java et, plus particulièrement, le traitement des flots d exécution (threads). La spécification et la réalisation d extensions de la machine virtuelle Java qui fournissent, d une part, des mécanismes de migration de processus et, d autre part, les principes de l adaptation de ces mécanismes aux besoins de l application les utilisant. Dans la dernière étape, nous avons décidé d opérer par phases successives afin de vérifier la faisabilité de chacun des mécanismes proposés. Une première phase de la réalisation a permis d interrompre un processus en cours d exécution sur une machine virtuelle Java et de créer, sur cette même machine, un nouveau processus capable, après activation, de poursuivre l exécution du premier à partir du point où il avait été arrêté. Ceci n est certes qu une étape préliminaire mais elle ouvre la voie à des mécanismes plus complets qui sont en cours de mise en œuvre. Plan du rapport Nous présentons, dans un premier temps, les travaux antérieurs concernant la migration de processus. Puis, nous décrivons les principes des mécanismes de migration de 2
11 Introduction processus que nous nous proposons d intégrer à la machine virtuelle Java. Pour cela, nous présentons la structure et le fonctionnement de la machine virtuelle Java. Nous décrivons, ensuite, la réalisation des mécanismes proposés et de leur évaluation. Nous concluons ce rapport en rappelant les principaux résultats obtenus et dégageons quelques perspectives ouvertes par ce travail. 3
12
13 1 La migration de processus Chapitre 1 1 La migration de processus Ce premier chapitre introduit les principes qui sont à la base de la migration de processus. Après avoir rappelé la définition des principaux concepts liés aux processus et à leur migration, nous analysons les objectifs qui motivent la migration et dressons un bref état des travaux qui la concernent. Enfin, nous essayons de dégager de l état de l art les principales difficultés rencontrées lors de la mise en œuvre des mécanismes de migration. 1.1 Définitions élémentaires Voici un rappel de certaines définitions élémentaires concernant le processus, le contexte d exécution d un processus et la migration de processus Processus et contexte d exécution Le processus est un concept clé de tous les systèmes d exploitation. La notion de processus fournit un modèle pour représenter l activité résultant de l exécution d un programme sur une machine [Krakowiak85]. Le contexte d exécution d un processus, appelé aussi état d exécution d un processus, est l ensemble des informations que les actions du processus peuvent consulter ou modifier. Le contexte d un processus résultant de l exécution d un programme varie d un système à un autre [Tanenbaum94]. En général, il comprend des informations relatives à la gestion des processus, à la gestion de la mémoire associée au processus ou à la gestion des fichiers manipulés par le processus : Gestion des processus. Les informations relatives à la gestion des processus spécifient diverses propriétés du processus telles que l identificateur du processus, la date de son lancement, son état (prêt, élu ou bloqué), le compteur de programme indiquant la prochaine instruction à exécuter et le pointeur de pile indiquant le sommet de la pile associée au processus. Gestion de la mémoire. Les informations relatives à la gestion de la mémoire sont constituées principalement du programme exécutable, des données manipulées et de la pile d exécution. Gestion des fichiers. Ces informations comprennent, par exemple, les identificateurs des fichiers manipulés par le processus. Contrairement aux processus qui forment des entités distinctes et qui ont chacun leurs ressources et leur environnement, les processus légers (threads) d un même processus partagent le même espace d adressage. 5
14 1 La migration de processus Qu est-ce que la migration de processus La migration de processus est le déplacement d un processus en cours d exécution d une machine source vers une machine destination, ces deux machines étant reliées par un réseau de communication et n utilisant pas de mémoire partagée. La migration de processus d une machine source vers une machine destination consiste à interrompre le processus qui s exécute sur la machine source pour extraire son contexte d exécution, à transférer ce contexte vers la machine destination, à créer, sur la machine destination, un nouveau processus auquel on affectera le contexte d exécution transféré et à mettre à jour les liens de communication avec les autres processus. Une fois ceci fait, le processus sur la machine source doit être détruit tandis que le processus sur la machine destination est lancé et représente le processus déplacé. La Figure 1-1 illustre brièvement le mécanisme de migration de processus. Il existe différentes stratégies de migration de processus. Cette différence est due principalement au contexte d exécution considéré et transféré lors de la migration. En effet, le contenu du contexte d exécution transféré diffère d un mécanisme à l autre ou, plus exactement, d un degré de migration à un autre (voir section ). Processus avant Transfert du contexte Processus après migration migration Machine source Machine destination Processus communiquants Figure 1-1 : Migration de processus 1.2 Motivations La migration de processus possède différents domaines d utilisation, on peut en citer quelques-uns : Disponibilité du système. Dans un système réparti, lorsque certaines machines deviennent indisponibles, les utilisateurs peuvent souhaiter que leurs applications continuent à s exécuter correctement. La disponibilité du système peut être améliorée en déplaçant les applications des machines qui sont suspectées de devenir indisponibles vers des machines encore disponibles. Administration du système. L administration de systèmes répartis peut nécessiter le déplacement de certains services d un site à un autre, lors de reconfiguration du système par exemple. Elle peut, dans certains cas, exiger la réinitialisation d une machine sans pour autant interrompre les applications en cours d exécution sur cette machine. Ces déplacements d applications peuvent être réalisés grâce au mécanisme de migration de processus. Calcul mobile. Lorsqu un utilisateur connecte son ordinateur portable à un réseau, il peut vouloir transférer une application qui est en cours d exécution, sur une station de travail 6
15 1 La migration de processus fixe, vers son ordinateur portable puis la retransférer vers le site d origine lors de la déconnexion de son ordinateur du réseau. Localité. Dans un système réparti, une application peut accéder à une donnée se trouvant sur un site distant ou communiquer avec une autre application se trouvant sur un site distant. Ce type d opération exige des communications et des transferts d informations à travers le réseau, ce qui peut être coûteux dans le cas d accès distants fréquents. Le déplacement de l application vers le site où se trouve la donnée utilisée ou vers le site où se trouve l application avec laquelle elle communique transforme les accès à travers le réseau en accès locaux et réduit ainsi le temps d exécution de l opération souhaitée. Partage de ressources. Grâce à la migration, un processus peut se déplacer, en cours d exécution, vers un site distant et profiter ainsi des ressources physiques de ce site telles que la mémoire ou le disque dur. Il peut aussi profiter de la ressource CPU dans le cas de la répartition dynamique de charge. En effet, pour qu un processus ait le plus de temps CPU possible, il faut qu il s exécute sur la machine qui fournit le plus de capacité de calcul. Les machines les plus rapides et les machines les moins chargées sont les plus intéressantes. Dans un système réparti, la migration permet à un processus de profiter des ressources du système qui sont sous-utilisées, en le déplaçant vers la machine appropriée. 1.3 Algorithme général de migration de processus Il existe différentes techniques de réalisation du mécanisme de migration de processus mais la plupart de ces techniques passent par les principales étapes suivantes [Milojicic97] : 1. Le processus est détaché du site source en suspendant son exécution et en suspendant momentanément ses communications. 2. Le contexte d exécution du processus est extrait, le contenu de ce contexte étant dépendant de la stratégie de migration choisie (voir section ). 3. Un nouveau processus est créé sur le site destination ; le contexte d exécution extrait sera ultérieurement affecté à ce processus et ce processus représentera le processus déplacé. 4. La communication est redirigée en renvoyant les messages au nouveau processus pour que ceux-ci soient traités après la migration. 5. Le contexte d exécution extrait est envoyé au nouveau processus pour y être intégré. Pour des raisons de performance, certaines mécanismes de migration n exigent pas le transfert de tout le contexte d exécution avant la fin de la migration. La technique COR (Copy-On-Reference) [Zayas87] et la technique de pré-copie [Theimer85] sont de telles techniques. Le principe de la technique COR est de ne transférer les pages mémoire appartenant au contexte d un processus qu au moment où celles-ci sont référencées par le processus déplacé. Ceci permet de réduire la durée de transfert du contexte d un processus mais augmente le temps d exécution après migration puisqu il y a traitement des fautes de pages. La technique de pré-copie, quant à elle, a pour principe de transférer vers le site destination l espace d adressage du processus avant la migration de celui-ci, ce qui permet de réduire le temps de traitement de la migration. 6. Le nouveau processus continue l exécution dès que la partie de son contexte nécessaire à son exécution est reçue. A partir de ce moment, la migration prend fin. Une partie du contexte du processus sur le site source peut être maintenue, dans le cas d un transfert retardé ; une fois tout le contexte transmis, le processus sur le site source peut être définitivement arrêté. 7
16 1 La migration de processus 1.4 Travaux antérieurs Dans cette partie, nous établissons, tout d abord, une classification des différents travaux réalisés dans le domaine de la migration de processus. Nous présentons ensuite certains mécanismes servant d alternatives au mécanisme de migration de processus. Car pour des raisons de complexité de réalisation du mécanisme de migration ou pour des raisons de coût d une opération de migration de processus, il peut être préférable d utiliser un autre mécanisme représentant une alternative au mécanisme de migration de processus et moins coûteux que celui-ci Classification des travaux sur la migration de processus Différentes recherches ont été menées dans le cadre de la migration de processus et différents systèmes expérimentaux ont été réalisés. Une étude des principales techniques développées dans le domaine peut être trouvée dans [Nuttall94]. Ces travaux peuvent être classés selon plusieurs critères tels que le degré de la mobilité, l hétérogénéité du système ou la portabilité du mécanisme de migration réalisé. Nous détaillons, ci-dessous, chacun de ces trois critères Degrés de mobilité Il existe différents degrés de mobilité : l exécution à distance et le code à la demande, la migration faible et la migration forte. La Figure 1-2 illustre brièvement ces différents degrés de mobilité. déplacement du code et déplacement du code et déplacement du code, des données initiales des données courantes des données courantes et de l état d exécution mobilité Exécution à distance Code à la demande Mobilité du code Migration faible Migration forte Migration Figure 1-2 : Degrés de mobilité Dans le cas de l exécution à distance, une exécution de programme qui n a pas encore commencé est transférée vers un site distant. Dans ce cas, les informations transférées lors du déplacement sont principalement le code à exécuter et les valeurs initiales des données manipulées. Il n y a pas de transfert des valeurs courantes des données (appelées état des données) ni de l état d exécution d un processus puisque le déplacement se fait avant le début de l exécution (pas de processus créé sur la machine d origine). L exécution à distance est basée sur le mécanisme de RPC (appel de procédure à distance) [Birrell84]. Le système Utopia [Zhou94] a utilisé une telle exécution et le projet Tacoma [Johansen95] a réalisé une plate-forme à agents mobiles en Tcl/Tk fournissant ce type de mobilité pour ses agents. 8
17 1 La migration de processus Contrairement à l exécution à distance, où c est généralement le site source qui décide de transférer une exécution vers le site destination, le code à la demande permet au site destination de ramener un code et ses données initiales du site source pour qu il s exécute sur le site destination. Les Applets Java [Sun94] utilisent un tel mécanisme. La migration faible permet d interrompre un processus, en cours d exécution, sur un site source, de transférer son code et l état courant de ses données vers la machine destination et de reprendre son exécution sur la machine destination. Il est important de noter qu après une telle migration, l exécution du code sur la machine destination reprend depuis le début tout en tenant compte des nouvelles valeurs des données. Les Aglets [IBM96] sont des agents mobiles dont la mobilité est réalisée par migration faible. La migration forte, quant à elle, permet de transférer non seulement le code et l état des données du processus à déplacer, mais aussi l état d exécution de ce processus, ce qui permet de reprendre l exécution de ce dernier, sur le site destination, au point même où il a été interrompu. Sumatra [Ranganathan97] et MAP [Perret97] sont des plates-formes à agents mobiles fournissant une telle mobilité pour leurs agents Hétérogénéité Considérons maintenant l aspect hétérogénéité. Les premiers travaux réalisés dans le cadre de la migration de processus ont été faits dans des systèmes homogènes (des systèmes dont les machines sont de même architecture). DEMOS/MP [Powell83] est l un des premiers systèmes réalisant la migration de processus ; c est un système implanté sur des machines homogènes. Les recherches menées dans le domaine se sont ensuite intéressées à la réalisation de la migration de processus dans des systèmes hétérogènes. La complexité d une telle réalisation dépend, en particulier, du fait que la représentation de l état d exécution d un processus soit dépendante ou indépendante de la machine (la représentation d une information est dépendante de la machine si cette représentation change d une architecture à une autre). Dans le cas où la représentation de l état d exécution d un processus est dépendante de la machine, comme pour le code natif par exemple, réaliser la migration d un processus sur des machines hétérogènes revient à effectuer des traductions entre des représentations différentes de l état du processus pour le transfert de celui-ci d une machine à une autre. Emerald [Steengaard95] et Tui [Smith96] sont des systèmes qui proposent des mécanismes de migration de processus entre machines hétérogènes. Dans le cas où la représentation de l état d exécution d un processus est indépendante de la machine, comme pour le code interprété par exemple, la réalisation d un mécanisme de migration de processus dans un système hétérogène devrait être la même que celle de la migration dans un système homogène Portabilité Intéressons-nous à présent à un autre critère qui est le critère de portabilité. Les travaux de recherche menés dans le cadre de la migration de processus ont suivi deux voies principales : réalisation du mécanisme de migration dans un système existant ou implémentation d un nouveau système fournissant, entre autres fonctionnalités, la migration de processus. La première voie consiste à réaliser un mécanisme de migration de processus audessus d un système existant et répandu, sans modifier ce dernier, ce qui permet d assurer la portabilité du mécanisme de migration fourni. Les travaux réalisés par Freedman [Freedman91] ont suivi cette politique, en fournissant un mécanisme de migration de processus au-dessus du système UNIX. La seconde voie consiste à réaliser un nouveau système qui fournit, entre autres mécanismes, la migration de processus. Cette solution permet de réaliser une migration plus 9
18 1 La migration de processus complète du processus. Elle présente tout de même l inconvénient de réduire l utilisation du mécanisme de migration proposé car celui-ci n est pas fourni dans un système standard et répandu. Les systèmes Sprite [Douglis91] et V [Theimer85] suivent cette politique Alternatives à la migration de processus La réalisation d un mécanisme de migration peut être relativement complexe et une opération de migration de processus peut être coûteuse. Pour remédier à ce problème, d autres solutions ont été explorées [Milojicic97]. Ces autres mécanismes, que nous allons présenter maintenant, offrent une alternative à la migration de processus Processus clone Un processus père peut créer un processus fils qui est son propre clone et qui hérite de son état ; ceci peut être fait grâce au mécanisme de fork. Un fork à distance, suivi d un arrêt du processus père, ressemble tout à fait à une migration de processus. Ce mécanisme de fork à distance a été utilisé dans plusieurs systèmes tels que le système UNIX proposé par Zajcew [Zajcew93]. Mais la complexité et le coût d une telle opération sont similaires à ceux d une opération de migration de processus Agents mobiles et langages sûrs et interprétés Les agents mobiles deviennent de plus en plus populaires dans l environnement du Web [Berners-Lee94]. La mobilité dans le Web implique des problèmes de sécurité plus que des problèmes de performances puisque celles-ci sont masquées par le coût des communications dans un réseau à grande distance. Les agents mobiles sont réalisés au-dessus de langages sûrs et interprétés tels que les langages Java [Arnold96], Telescript [General Magic95] ou Tcl/Tk [Ousterhout94]. Dans des systèmes à agents mobiles tels que Mole [Baumann96] écrit en Java, Telescript ou AgentTcl [Gray96] écrit en Tcl/Tk, le problème d hétérogénéité est masqué grâce au langage interprété utilisé. 1.5 Problèmes rencontrés lors de la réalisation de la migration de processus Les principaux problèmes rencontrés lors de la mise en œuvre d un mécanisme de migration de processus concernent l hétérogénéité du système, le maintien de la validité des canaux ouverts utilisés par un processus et le maintien des communications entre processus lors de la migration d un processus. Nous détaillons ci-dessous chacun de ces problèmes Hétérogénéité La réalisation d un mécanisme de migration de processus dans un système de machines hétérogènes présente une difficulté particulière dans le cas où la représentation du code et des données du processus est dépendante de la machine sur laquelle s exécute ce processus. Dans ce cas, la représentation de l état d un processus sur une machine source n est pas comprise par la machine destination si celle-ci n est pas de la même architecture que la première. Il existe deux solutions principales pour remédier à ce problème. Soit l état du processus est traduit directement de la représentation du site source vers la représentation du site destination ; et dans ce cas, il faut autant de traducteurs qu il existe de couples d architectures différentes. Soit l état du processus est représenté dans un format 10
19 1 La migration de processus intermédiaire, indépendant de la machine et compris par toutes les machines ; et dans ce cas, il faut deux traductions pour chaque transfert d état. Le mécanisme de migration fourni par le système Emerald [Steengaard95] utilise un format intermédiaire pour représenter l état du processus à déplacer Maintien de la validité des canaux ouverts Un autre problème rencontré lors de la réalisation d un mécanisme de migration de processus concerne le maintien de la validité des canaux ouverts utilisés par un processus qui se déplace. Nous appelons canal ouvert toute entité qui est dépendante du système sous-jacent et qui n est plus valide dans un autre système. Un canal ouvert peut être un descripteur de fichier, un canal de communication (socket), un sémaphore, une file d attente ou une zone mémoire partagée. Que se passe-t-il lorsqu un processus qui s exécute sur une machine source et qui accède à un fichier local à cette machine, se déplace vers une machine destination où il doit continuer à accéder à ce fichier? Le descripteur de fichier, utilisé par le processus sur la machine source, n a plus de sens sur la machine destination. Le même problème se pose avec les autres types de canaux ouverts. Une solution à ce problème est de garder des liens de poursuite entre les sites par lesquels passe un processus qui se déplace. Ces liens de poursuite permettent à un processus, déplacé d une machine source vers une machine destination, d accéder depuis la machine destination au canal ouvert se trouvant sur la machine source (par accès distant). Ainsi, le processus déplacé peut accéder à distance à un fichier. Cette solution n est pas applicable dans le cas où une panne peut survenir sur le site source ou sur la liaison réseau entre le site source et le site destination, car les liens de poursuite ne sont alors plus valides. Une autre solution à ce problème est de fournir une identification universelle des canaux ouverts ; avec une telle solution, un même canal ouvert possède le même identificateur sur toutes les machines. Le système Charlotte [Artsy89], qui fournit un mécanisme de migration de processus, fournit aussi un système de gestion de fichiers répartis et donc, une identification universelle des fichiers dans ce système. Un autre exemple d utilisation de cette technique est le micro-noyau Chorus [Rozier88] où un mécanisme de migration de processus est fourni [O Connor93] et où une identification universelle des canaux de communication (appelés ports) est réalisée Maintien des communications entre processus Le maintien des communications entre processus est un autre problème rencontré lors de la migration de processus. En effet, que se passe-t-il lorsqu un message arrive à un processus alors que celui-ci est en cours de migration? Ces messages risquent d être perdus si aucun traitement spécifique n est fait. Une solution à ce problème est de considérer que le processus qui est en cours de migration est dans un état particulier, où il n accepte pas de messages provenant d autres processus. Dans ce cas, avant le déplacement d un processus, les processus communiquant avec lui doivent être mis au courant pour ne pas envoyer de message au cours de la migration. Une autre solution est de retarder momentanément l acheminement des messages au processus destinataire, le temps que celui-ci ait terminé sa migration ; les messages lui seront ensuite renvoyés vers sa nouvelle localisation. 11
20
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étailMachines 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étailJulien MATHEVET Alexandre BOISSY GSID 4. Rapport RE09. Load Balancing et migration
Julien MATHEVET Alexandre BOISSY GSID 4 Rapport Load Balancing et migration Printemps 2001 SOMMAIRE INTRODUCTION... 3 SYNTHESE CONCERNANT LE LOAD BALANCING ET LA MIGRATION... 4 POURQUOI FAIRE DU LOAD BALANCING?...
Plus en détailInstitut Supérieure Aux Etudes Technologiques De Nabeul. Département Informatique
Institut Supérieure Aux Etudes Technologiques De Nabeul Département Informatique Support de Programmation Java Préparé par Mlle Imene Sghaier 2006-2007 Chapitre 1 Introduction au langage de programmation
Plus en détailINTRODUCTION 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étailProgrammation 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Évaluation et implémentation des langages
Évaluation et implémentation des langages Les langages de programmation et le processus de programmation Critères de conception et d évaluation des langages de programmation Les fondations de l implémentation
Plus en détailArchitecture 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étailCours 1 : Introduction. Langages objets. but du module. contrôle des connaissances. Pourquoi Java? présentation du module. Présentation de Java
Langages objets Introduction M2 Pro CCI, Informatique Emmanuel Waller, LRI, Orsay présentation du module logistique 12 blocs de 4h + 1 bloc 2h = 50h 1h15 cours, 45mn exercices table, 2h TD machine page
Plus en détailLa JVM. La machine virtuelle Java. La JVM. La JVM
La machine virtuelle Java Historique et rappels Organisation mémoire de la JVM Le garbage collector Le bytecode, la machine à pile. Les threads Suivi, tracé, optimisation d un programme Java JVM embarquées
Plus en détailMé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étailProgrammer 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étailQuelques patterns pour la persistance des objets avec DAO DAO. Principe de base. Utilité des DTOs. Le modèle de conception DTO (Data Transfer Object)
Quelques patterns pour la persistance des objets avec DAO Ce cours présente des modèles de conception utilisés pour effectuer la persistance des objets Université de Nice Sophia-Antipolis Version 1.4 30/8/07
Plus en détailNe laissez pas le stockage cloud pénaliser votre retour sur investissement
Ne laissez pas le stockage cloud pénaliser votre retour sur investissement Préparé par : George Crump, analyste senior Préparé le : 03/10/2012 L investissement qu une entreprise fait dans le domaine de
Plus en détailConception 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étailConcept de machine virtuelle
Concept de machine virtuelle Chap. 5: Machine virtuelle Alain Sandoz Semestre été 2007 1 Introduction: Java Virtual Machine Machine Virtuelle Java: qu est-ce que c est? c est la spécification d une machine
Plus en détailINITIATION AU LANGAGE JAVA
INITIATION AU LANGAGE JAVA I. Présentation 1.1 Historique : Au début des années 90, Sun travaillait sur un projet visant à concevoir des logiciels simples et performants exécutés dans des PDA (Personnal
Plus en détailWHITE PAPER. Quels avantages la déduplication offre-t-elle aux entreprises? Livre blanc Acronis
Quels avantages la déduplication offre-t-elle aux entreprises? Livre blanc Acronis Copyright Acronis, Inc. 2000 2009 Table des matières Résumé... 3 Qu est-ce que la déduplication?... 4 Déduplication au
Plus en détailINITIATION 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étailLA VIRTUALISATION. Etude de la virtualisation, ses concepts et ses apports dans les infrastructures informatiques. 18/01/2010.
Guillaume ANSEL M2 ISIDIS 2009-2010 / ULCO Dossier d étude sur la virtualisation LA VIRTUALISATION 18/01/2010 Etude de la virtualisation, ses concepts et ses apports dans les infrastructures informatiques.
Plus en détailREALISATION 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étailInitiation à JAVA et à la programmation objet. raphael.bolze@ens-lyon.fr
Initiation à JAVA et à la programmation objet raphael.bolze@ens-lyon.fr O b j e c t i f s Découvrir un langage de programmation objet. Découvrir l'environnement java Découvrir les concepts de la programmation
Plus en détailCours 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étailPartie 7 : Gestion de la mémoire
INF3600+INF2610 Automne 2006 Partie 7 : Gestion de la mémoire Exercice 1 : Considérez un système disposant de 16 MO de mémoire physique réservée aux processus utilisateur. La mémoire est composée de cases
Plus en détail6 - 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étailRemote Method Invocation (RMI)
Remote Method Invocation (RMI) TP Réseau Université Paul Sabatier Master Informatique 1 ère Année Année 2006/2007 Plan Objectifs et Inconvénients de RMI Fonctionnement Définitions Architecture et principe
Plus en détailInfo0101 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étailTP 2 Réseaux. Adresses IP, routage et sous-réseaux
TP 2 Réseaux Adresses IP, routage et sous-réseaux C. Pain-Barre INFO - IUT Aix-en-Provence version du 24/2/2 Adressage IP. Limites du nombre d adresses IP.. Adresses de réseaux valides Les adresses IP
Plus en détailLa carte à puce. Jean-Philippe Babau
La carte à puce Jean-Philippe Babau Département Informatique INSA Lyon Certains éléments de cette présentation sont issus de documents Gemplus Research Group 1 Introduction Carte à puce de plus en plus
Plus en détailIntroduction aux SGBDR
1 Introduction aux SGBDR Pour optimiser une base Oracle, il est important d avoir une idée de la manière dont elle fonctionne. La connaissance des éléments sous-jacents à son fonctionnement permet de mieux
Plus en détailFormateurs : Jackie DAÖN Franck DUBOIS Médiapôle de Guyancourt
Client sur un domaine stage personnes ressources réseau en établissement janvier 2004 Formateurs : Jackie DAÖN Franck DUBOIS Médiapôle de Guyancourt Lycée de Villaroy 2 rue Eugène Viollet Le Duc BP31 78041
Plus en détailCours d initiation à la programmation en C++ Johann Cuenin
Cours d initiation à la programmation en C++ Johann Cuenin 11 octobre 2014 2 Table des matières 1 Introduction 5 2 Bases de la programmation en C++ 7 3 Les types composés 9 3.1 Les tableaux.............................
Plus en détailTraduction 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étailTP1. Outils Java Eléments de correction
c sep. 2008, v2.1 Java TP1. Outils Java Eléments de correction Sébastien Jean Le but de ce TP, sur une séance, est de se familiariser avec les outils de développement et de documentation Java fournis par
Plus en détailNOTIONS DE RESEAUX INFORMATIQUES
NOTIONS DE RESEAUX INFORMATIQUES GENERALITES Définition d'un réseau Un réseau informatique est un ensemble d'équipements reliés entre eux afin de partager des données, des ressources et d'échanger des
Plus en détailProjet Active Object
Projet Active Object TAO Livrable de conception et validation Romain GAIDIER Enseignant : M. Noël PLOUZEAU, ISTIC / IRISA Pierre-François LEFRANC Master 2 Informatique parcours MIAGE Méthodes Informatiques
Plus en détailDE L ALGORITHME AU PROGRAMME INTRO AU LANGAGE C 51
DE L ALGORITHME AU PROGRAMME INTRO AU LANGAGE C 51 PLAN DU COURS Introduction au langage C Notions de compilation Variables, types, constantes, tableaux, opérateurs Entrées sorties de base Structures de
Plus en détailJava c est quoi? Java. Java. Java : Principe de fonctionnement 31/01/2012. 1 - Vue générale 2 - Mon premier programme 3 - Types de Programme Java
1 - Vue générale 2 - Mon premier programme 3 - Types de Programme 1 2 c est quoi? Technologie développée par SUN Microsystems lancée en 1995 Dans un des premiers papiers* sur le langage JAVA, SUN le décrit
Plus en détailVérification formelle de la plate-forme Java Card
Vérification formelle de la plate-forme Java Card Thèse de doctorat Guillaume Dufay INRIA Sophia Antipolis Cartes à puce intelligentes Java Card : Environnement de programmation dédié. Dernières générations
Plus en détailas Architecture des Systèmes d Information
Plan Plan Programmation - Introduction - Nicolas Malandain March 14, 2005 Introduction à Java 1 Introduction Présentation Caractéristiques Le langage Java 2 Types et Variables Types simples Types complexes
Plus en détailItium 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étailArithmétique binaire. Chapitre. 5.1 Notions. 5.1.1 Bit. 5.1.2 Mot
Chapitre 5 Arithmétique binaire L es codes sont manipulés au quotidien sans qu on s en rende compte, et leur compréhension est quasi instinctive. Le seul fait de lire fait appel au codage alphabétique,
Plus en détailCours 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étailDG-ADAJ: Une plateforme Desktop Grid
DG-ADAJ: Une plateforme pour Desktop Grid Olejnik Richard, Bernard Toursel Université des Sciences et Technologies de Lille Laboratoire d Informatique Fondamentale de Lille (LIFL UMR CNRS 8022) Bât M3
Plus en détailTP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile
TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile Dans ce TP, vous apprendrez à définir le type abstrait Pile, à le programmer en Java à l aide d une interface
Plus en détailIntroduction à la programmation orientée objet, illustrée par le langage C++ Patrick Cégielski cegielski@u-pec.fr
Introduction à la programmation orientée objet, illustrée par le langage C++ Patrick Cégielski cegielski@u-pec.fr Mars 2002 Pour Irène et Marie Legal Notice Copyright c 2002 Patrick Cégielski Université
Plus en détailExé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étailStructure d un programme et Compilation Notions de classe et d objet Syntaxe
Cours1 Structure d un programme et Compilation Notions de classe et d objet Syntaxe POO 1 Programmation Orientée Objet Un ensemble d objet qui communiquent Pourquoi POO Conception abstraction sur les types
Plus en détailReprésentation des Nombres
Chapitre 5 Représentation des Nombres 5. Representation des entiers 5.. Principe des représentations en base b Base L entier écrit 344 correspond a 3 mille + 4 cent + dix + 4. Plus généralement a n a n...
Plus en détailGénie Logiciel avec Ada. 4 février 2013
Génie Logiciel 4 février 2013 Plan I. Généralités II. Structures linéaires III. Exceptions IV. Structures arborescentes V. Dictionnaires I. Principes II. Notions propres à la POO I. Principes Chapitre
Plus en détailCours 1 : La compilation
/38 Interprétation des programmes Cours 1 : La compilation Yann Régis-Gianas yrg@pps.univ-paris-diderot.fr PPS - Université Denis Diderot Paris 7 2/38 Qu est-ce que la compilation? Vous avez tous déjà
Plus en détail4. Utilisation d un SGBD : le langage SQL. 5. Normalisation
Base de données S. Lèbre slebre@unistra.fr Université de Strasbourg, département d informatique. Présentation du module Contenu général Notion de bases de données Fondements / Conception Utilisation :
Plus en détailMise en place Active Directory / DHCP / DNS
Mise en place Active Directory / DHCP / DNS Guillaume Genteuil Période : 2014 Contexte : L entreprise Diamond Info localisé en Martinique possède une cinquantaine de salariés. Basé sur une infrastructure
Plus en détailSymantec Backup Exec 11d
TABLE DES MATIERES 1. Qu est-ce que Backup Exec 11d?...2 2. En termes d avantages, qu apporte principalement la version Backup Exec 11d?...2 3. Quelles sont les grandes nouveautés, en termes de fonctionnalités,
Plus en détailUFR de Mathématiques et Informatique Année 2009/2010. Réseaux Locaux TP 04 : ICMP, ARP, IP
Université de Strasbourg Licence Pro ARS UFR de Mathématiques et Informatique Année 2009/2010 1 Adressage IP 1.1 Limites du nombre d adresses IP 1.1.1 Adresses de réseaux valides Réseaux Locaux TP 04 :
Plus en détailVirtualisation CITRIX, MICROSOFT, VMWARE OLIVIER D.
2013 Virtualisation CITRIX, MICROSOFT, VMWARE OLIVIER D. Table des matières 1 Introduction (Historique / définition)... 3 2 But de la virtualisation... 4 3 Théorie : bases et typologie des solutions techniques...
Plus en détailL A T O U R D E P E I L Z Municipalité
V I L L E D E L A T O U R D E P E I L Z Municipalité PRÉAVIS MUNICIPAL N 16/2014 le 10 décembre 2014 Concerne : Demande de crédit de Fr. 550'000.-- pour le renouvellement et migration de l infrastructure
Plus en détailPour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère
L'héritage et le polymorphisme en Java Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère En java, toutes les classes sont dérivée de la
Plus en détailUne introduction à Java
Une introduction à Java IFT 287 (Semaine 1) UNIVERSITÉ DE SHERBROOKE 1 Java - Historique Développé par Sun Microsystems en 1994 Inventeur James Gosling (canadien!) Objectif langage sûr (fortement typé)
Plus en détailGénéralités sur le Langage Java et éléments syntaxiques.
Généralités sur le Langage Java et éléments syntaxiques. Généralités sur le Langage Java et éléments syntaxiques....1 Introduction...1 Genéralité sur le langage Java....1 Syntaxe de base du Langage...
Plus en détailUE 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étailTP1 : Initiation à Java et Eclipse
TP1 : Initiation à Java et Eclipse 1 TP1 : Initiation à Java et Eclipse Systèmes d Exploitation Avancés I. Objectifs du TP Ce TP est une introduction au langage Java. Il vous permettra de comprendre les
Plus en détailVMWare Infrastructure 3
Ingénieurs 2000 Filière Informatique et réseaux Université de Marne-la-Vallée VMWare Infrastructure 3 Exposé système et nouvelles technologies réseau. Christophe KELLER Sommaire Sommaire... 2 Introduction...
Plus en détailChapitre VI- La validation de la composition.
Chapitre VI- La validation de la composition. Objectifs du chapitre : Expliquer les conséquences de l utilisation de règles de typage souples dans SEP. Présenter le mécanisme de validation des connexions
Plus en détailReprésentation d un entier en base b
Représentation d un entier en base b 13 octobre 2012 1 Prérequis Les bases de la programmation en langage sont supposées avoir été travaillées L écriture en base b d un entier est ainsi défini à partir
Plus en détailWindows Internet Name Service (WINS)
Windows Internet Name Service (WINS) WINDOWS INTERNET NAME SERVICE (WINS)...2 1.) Introduction au Service de nom Internet Windows (WINS)...2 1.1) Les Noms NetBIOS...2 1.2) Le processus de résolution WINS...2
Plus en détailLa technologie Java Card TM
Présentation interne au CESTI La technologie Java Card TM sauveron@labri.u-bordeaux.fr http://dept-info.labri.u-bordeaux.fr/~sauveron 8 novembre 2002 Plan Qu est ce que Java Card? Historique Les avantages
Plus en détailVirtualisation logicielle De la machine réelle à la machine virtuelle abstraite
Virtualisation logicielle De la machine réelle à la machine virtuelle abstraite Bertil FOLLIOT et Gaël THOMAS Cette version est une préversion de l article accepté par «Technique de l ingénieur» (Hermes).
Plus en détailÉléments de programmation et introduction à Java
Éléments de programmation et introduction à Java Jean-Baptiste Vioix (jean-baptiste.vioix@iut-dijon.u-bourgogne.fr) IUT de Dijon-Auxerre - LE2I http://jb.vioix.free.fr 1-20 Les différents langages informatiques
Plus en détailI-JVM: une machine virtuelle Java pour l isolation de composants dans OSGi
I-JVM: une machine virtuelle Java pour l isolation de composants dans OSGi Nicolas Geoffray 1, Gaël Thomas 1, Gilles Muller 1, Pierre Parrend 2, Stéphane Frénot 3, Bertil Folliot 1 nicolas.geoffray@lip6.fr
Plus en détailCH.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étailAdministration de systèmes
Administration de systèmes Windows NT.2000.XP.2003 Copyright IDEC 2002-2004. Reproduction interdite. Sommaire... 2 Eléments logiques et physiques du réseau... 5 Annuaire et domaine... 6 Les utilisateurs
Plus en détailTraitement 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étailArgument-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étailIntroduction à 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étailPrénom : Matricule : Sigle et titre du cours Groupe Trimestre INF1101 Algorithmes et structures de données Tous H2004. Loc Jeudi 29/4/2004
Questionnaire d'examen final INF1101 Sigle du cours Nom : Signature : Prénom : Matricule : Sigle et titre du cours Groupe Trimestre INF1101 Algorithmes et structures de données Tous H2004 Professeur(s)
Plus en détailLogiciel 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étail2 Grad Info Soir Langage C++ Juin 2007. Projet BANQUE
2 Grad Info Soir Langage C++ Juin 2007 Projet BANQUE 1. Explications L'examen comprend un projet à réaliser à domicile et à documenter : - structure des données, - objets utilisés, - relations de dépendance
Plus en détailV- Manipulations de nombres en binaire
1 V- Manipulations de nombres en binaire L ordinateur est constitué de milliards de transistors qui travaillent comme des interrupteurs électriques, soit ouverts soit fermés. Soit la ligne est activée,
Plus en détailLe langage C++ est un langage de programmation puissant, polyvalent, on serait presque tenté de dire universel, massivement utilisé dans l'industrie
Chapitre I : Les bases du C++ Le langage C++ est un langage de programmation puissant, polyvalent, on serait presque tenté de dire universel, massivement utilisé dans l'industrie du logiciel, et ce depuis
Plus en détailGOL502 Industries de services
GOL502 Industries de services Conception d un service Partie IIb Version 2013 Introduction Conception d un service partie IIb Nous verrons dans ce chapitre Modélisation d un service; Langage de modélisation
Plus en détailNom de l application
Ministère de l Enseignement Supérieur et de la Recherche Scientifique Direction Générale des Etudes Technologiques Institut Supérieur des Etudes Technologiques de Gafsa Département Technologies de l Informatique
Plus en détailManuel du Desktop Sharing
Brad Hards Traduction française : Ludovic Grossard Traduction française : Damien Raude-Morvan Traduction française : Joseph Richard 2 Table des matières 1 Introduction 5 2 Le protocole de mémoire de trame
Plus en détailL importance de la «virtualisation de l espace de travail utilisateur» dans la virtualisation des postes de travail Whitepaper
res Software // Whitepaper L importance de la «virtualisation de l espace de travail utilisateur» dans la virtualisation des postes de travail Whitepaper IT, the way you need it 2 Contenu : Résumé...3
Plus en détailMISE A JOUR : 04 FEVRIER 2011 PROCÉDURE D INSTALLATION. Cegid Business COMMENT INSTALLER CEGID BUSINESS V9 SOUS WINDOWS XP, VISTA ET 7
PROCÉDURE D INSTALLATION Cegid Business V9 COMMENT INSTALLER CEGID BUSINESS V9 SOUS WINDOWS XP, VISTA ET 7 Sommaire 1. Introduction 2. Installation de SQL Server 2005 ou 2008 3. Installation de Cegid Business
Plus en détailProgrammation en Java IUT GEII (MC-II1) 1
Programmation en Java IUT GEII (MC-II1) 1 Christophe BLANC - Paul CHECCHIN IUT Montluçon Université Blaise Pascal Novembre 2009 Christophe BLANC - Paul CHECCHIN Programmation en Java IUT GEII (MC-II1)
Plus en détailUN EXEMPLE DE CYBERENSEIGNEMENT EN CHIMIE
123 UN EXEMPLE DE CYBERENSEIGNEMENT EN CHIMIE Résumé Cet article décrit la création d un centre serveur sous le système d exploitation Linux, avec le serveur web Apache, ainsi que le développement d un
Plus en détailLa 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étailIngénérie logicielle dirigée par les modèles
Ingénérie logicielle dirigée par les modèles Destercq Lionel & Dubuc Xavier 17 décembre 2009 Table des matières 1 Introduction 1 2 Diagrammes de classes 1 2.1 Principal..............................................
Plus en détailIV- 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étailGestion des sauvegardes
Gestion des sauvegardes Penser qu un système nouvellement mis en place ou qui tourne depuis longtemps ne nécessite aucune attention est illusoire. En effet, nul ne peut se prémunir d événements inattendus
Plus en détailCours 1: Java et les objets
Ressources Les interface homme-machine et le langage Java DUT première année Henri Garreta, Faculté des Sciences (Luminy) Cyril Pain-Barre & Sébastien Nedjar, IUT d Aix-Marseille (Aix) Cours 1: infodoc.iut.univ-aix.fr/~ihm/
Plus en détailJava 7 Les fondamentaux du langage Java
184 Java 7 Les fondamentaux du langage Java 1.1 Les bibliothèques graphiques Le langage Java propose deux bibliothèques dédiées à la conception d'interfaces graphiques. La bibliothèque AWT et la bibliothèque
Plus en détailJava Licence Professionnelle CISII, 2009-2010
Licence Professionnelle CISII, 2009-2010 Cours 1 : Introduction à Java A. Belaïd abelaid@loria.fr Cours disponible sur le site : http://www.loria.fr/~abelaid puis Teaching 1 Fonctionnement 12 séances :
Plus en détailPlanifier la migration des applications d entreprise dans le nuage
TM Planifier la migration des applications d entreprise dans le nuage Guide de vos options de migration : nuage privé et public, critères d évaluation des applications et meilleures pratiques de migration
Plus en détail2. MAQUETTAGE DES SOLUTIONS CONSTRUCTIVES. 2.2 Architecture fonctionnelle d un système communicant. http://robert.cireddu.free.
2. MAQUETTAGE DES SOLUTIONS CONSTRUCTIVES 2.2 Architecture fonctionnelle d un système communicant Page:1/11 http://robert.cireddu.free.fr/sin LES DÉFENSES Objectifs du COURS : Ce cours traitera essentiellement
Plus en détailUn 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étailMobile OGSI.NET: Grid Computing on Mobile Devices
Mobile OGSI.NET: Grid Computing on Mobile Devices David C.Chu Université de Californie, Berkeley Marty Humphrey Université de Virginie Publié en Novembre 2004 lors de la 5ième conférence IEEE/ACM International
Plus en détailInitiation à Excel. Frédéric Gava (MCF) gava@univ-paris12.fr
Initiation à Excel Frédéric Gava (MCF) gava@univ-paris12.fr LACL, bâtiment P2 du CMC, bureau 221 Université de Paris XII Val-de-Marne 61 avenue du Général de Gaulle 94010 Créteil cedex Plan de cette année
Plus en détail