KoinKoin. Système d exploitation à architecture basée micro-noyau. Antoine Castaing Nicolas Clermont Damien Laniel

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

Download "KoinKoin. Système d exploitation à architecture basée micro-noyau. Antoine Castaing Nicolas Clermont Damien Laniel"

Transcription

1 KoinKoin Système d exploitation à architecture basée micro-noyau Antoine Castaing Nicolas Clermont Damien Laniel 30 juillet 2006

2

3 Free Documentation License Copyright (c) 2005 Nicolas Clermont / Antoine Castaing Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation ; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled GNU Free Documentation License. KoinKoin Operating System 2 / 95

4 Table des matières I Rapport 8 1 Introduction Définition d un système d exploitation Le noyau Définition Différents types de noyaux Historique des systèmes d exploitation Présentation sommaire de KoinKoin Portabilité Le chargeur de démarrage Présentation Utilisation de GRUB pour l amorce Le fichier multiboot.h GDT et segmentation Passage en mode 32 bits Mode réel Mode protégé Activation du mode protégé Chargement de l espace d adressage du noyau Activation de la mémoire virtuelle Jump sur le noyau La pagination Définition Les structures de données utilisées Page Directory Page Table Page Traduction d une adresse virtuelle en adresse physique Mise en place de la pagination dans KoinKoin

5 3.4.1 L identity mapping ou référencement à l identique Les Page Tables du noyau Les Page Tables utilisateur Utilisation des mécanismes de protection Visualisation des structures La mémoire Mémoire physique Le gestionnaire de mémoire physique Choix de l algorithme Définition d une area Les structures de gestion Mémoire virtuelle Définition Le gestionnaire de mémoire virtuelle Initialisation Les espaces d adressage Allocation de mémoire Partage de mémoire Implémentation Le gestionnaire d ensembles Présentation Implémentation et interface Structure définissant un ensemble Types d ensembles Normalisation des objets contenus dans les ensembles Modes de tri Les itérateurs Fonctions Évolutions futures Tâches et threads Les tâches Définition Processus de création d une tâche Avantages Priorité de tâche Classe de tâche Le gestionnaire de tâches Les threads

6 6.2.1 Définition Implémentation dans KoinKoin Visualisation La notion de module Définition Explication de la structure t module Les différents champs La durée de vie Interruptions et traps Introduction l idt l idtr Les différents types d interruptions Les exceptions Les interrutions matériels IRQ Les interruptions logicielles Level 0 : Les wrappers Level 1 : Les handlers Level 2 : Les traps L intéret des traps Le fonctionnement des traps L ordonnanceur Définition Fonctionnement dans KoinKoin L algorithme utilisé Structure de l ordonnanceur Mécanisme de communication : IPC Définition d un message Structure d un message Création d un message Envoi d un message Récupération d un message Attente d un message Les appels systèmes Définition Fonctionnement

7 11.3 Les appels systèmes présents dans KoinKoin Les appels systèmes non-privilégiés Les appels systèmes privilégiés Evolutions des appels systèmes Les pilotes de périphériques Définition Fonctionnement général des périphériques Les ports d entrée / sortie Interruptions matérielles Mode caractère et mode bloc Pilote de la CMOS Définitions Intéragir avec la CMOS Implémentation du pilote Pilote de l horloge Fonctionnement Gestion de l heure Pilote du clavier Fonctionnement matériel Conversion des scan codes en ASCII Implémentation dans KoinKoin Le pilote de tty Pilote de disque dur ATA Fonctionnement général des disques durs Les ports d entrée / sortie Interruptions matérielles Modes d adressage Informations d état Échanges de données avec un disque dur Commandes Interface exportée Les services Définition Fonctionnement Les services présents dans KoinKoin Le service Mod

8 14 Les programmes utilisateurs Le Shell Des programmes de test Banner Visualisation du système Évolutions futures 86 II Bibliographie Architectures système et matérielle Les noyaux Disques durs III Annexes Comment utiliser KoinKoin Prérequis Installation Démarrer KoinKoin! Mises à jour Les machines virtuelles Bochs Qemu Démarrage réel Démarrage à partir d une disquette Démarrage à partir d une clé USB Démarrage à partir d un CDROM

9 Première partie Rapport 8

10 CHAPITRE 1. INTRODUCTION Chapitre 1 Introduction 1.1 Définition d un système d exploitation Un système d exploitation fournit une interface entre le matériel et les logiciels utilisateurs. Il remplit deux fonctions distinctes : 1. la gestion du matériel 2. la gestion des ressources 1.2 Le noyau Définition Il s agit du coeur du système d exploitation, comparable au cerveau chez l être humain. C est le premier programme qui est chargé au démarrage, hors le chargeur de démarrage. Le noyau est le seul composant du système à être en contact direct avec la couche matérielle. Il dispose donc des privilèges les plus élevés vis-à-vis de l architecture, afin de pouvoir effectuer les actions demandées par les processus utilisateurs. Ainsi les processus utilisateurs n ont-ils besoin d aucun droit particulier vis-à-vis du matériel, permettant entre autres d isoler ces processus du reste du système. Ainsi le noyau joue-t-il un rôle crucial dans la sécurité du système. Il va de soit que plus le noyau rend de services, plus le danger est grand qu une faille existe, permettant à un code malicieux d utiliser les privilèges du noyau pour anéantir la sécurité du système. Ce qui nous amène à la conception des noyaux et des modèles existants. KoinKoin Operating System 9 / 95

11 CHAPITRE 1. INTRODUCTION Différents types de noyaux Le noyau monolithique Un noyau monolithique fournit un grand nombre de fonctionnalités qui sont incluses directement dans le code du noyau. Ces fonctionnalités comprennent par exemple la gestion de la mémoire, les pilotes de périphériques, la gestion de processus et divers algorithme d ordonnancement de ces processus, des systèmes de fichiers, et bien d autres choses encore. C est le cas de la plupart des noyaux les plus utilisés aujourd hui, notamment des noyaux Linux et xbsd. La quasi-totalité du système est donc constitué par le noyau, tous les différents composants systèmes se partageant les mêmes ressources, rendant difficile le contrôle de flux et la vérification d un modèle de sécurité. Néanmoins cette approche a pour avantage de très bonnes performances, minimisant le nombre de changements de contexte, et leur coût. Le micro-noyau La philosophie des micro-noyaux est de faire monter le code ne nécessitant pas de privilèges matériels particulier dans les couches plus élevées du système. Ainsi les micro-noyaux ont pour avantage de réduire grandement la taille du noyau, en externalisant la plupart des services traditionnellement fournis par les noyaux dans de petits serveurs indépendants, cloisonnés, appelés services, qui tournent en espace utilisateur. Cela nécessite alors un système de communication sûr (IPC basé message) pour que les services puissent communiquer entre eux et avec le noyau. Ils offrent une plus grande modularité, et donc une meilleure évolutivité. La séparation du code en petits modules permet aussi une plus grande robustesse et une meilleure sécurité. En effet un bug ou une faille dans l un des services systèmes restera cantonné à ce service, ne propageant pas l erreur aux autres éléments du système. De plus les architectures à base de micro-noyau facilite grandement le travail de certification de par leur faible taille, avec peu de lignes de code (LoC, L4 : entre 7000 et 8000, minix3 moins de 4000, à comparer avec les 3 millions de LoC de Linux 2.6). Mach, L4 et Chorus (C5) sont des exemples de micro-noyaux. L exo-noyau L approche exo-noyau est encore plus radicale. La philosophie est si un programme utilisateur peut effectuer une action, pourquoi faire intervenir le KoinKoin Operating System 10 / 95

12 CHAPITRE 1. INTRODUCTION noyau ou même des services systèmes? Ainsi l exo-noyau noyau ne fait que mettre à disposition des processus utilisateurs les ressources, par exemple de l espace disque, que le processus utilisateur gère lui-même. La notion de système d exploitation s en trouve radicalement transformée, les services du système n existant plus en tant que fonctionnalités noyaux ou serveurs utilisateurs, mais en tant que librairies. Par exemple le système de fichiers est mis à disposition uniquement par des fonctions de librairie pour utiliser de façon pratique l espace disque alloué par l exo-noyau. 1.3 Historique des systèmes d exploitation Années 1960 : UNIX, noyau monolithique Années 1980 : MS-DOS, noyau monolithique 1985 : début du développement de Mach, micro-noyau 1990 : début du développement de Hurd, système d exploitation à base de micro-noyau 1991 : début du développement de Linux, noyau monolithique 2005 : début du développement de KoinKoin, système d exploitation à base de micro-noyau! 1.4 Présentation sommaire de KoinKoin Le but du projet KoinKoin est l obtention d un système d exploitation à base de micro-noyau. Il fournit d une part le micro-noyau (KoinKoin) qui gère entre autres la mémoire, les interruptions, la création de tâches et de fils d exécutions et l ordonnancement de ces fils d exécution, ainsi qu un système de messages. KoinKoin met aussi à disposition un système de mémoire partagée et des tâches multi-threadées. D autre part, il fournit également un ensemble de services qui tournent en espace utilisateur, comme un gestionnaire de modules ou encore des pilotes de périphériques. L ensemble formé par KoinKoin et les services utilisateurs est dénommé KoinKoin OS Portabilité Pour le moment, KoinKoin ne fonctionne que sur les architectures Intel 32 bits (IA32). KoinKoin Operating System 11 / 95

13 CHAPITRE 1. INTRODUCTION Cependant, certaines parties du code ont été séparées en une partie dépendante de l architecture et une partie indépendante afin de faciliter le portage futur de KoinKoin vers d autres architectures. KoinKoin Operating System 12 / 95

14 CHAPITRE 2. LE CHARGEUR DE DÉMARRAGE Chapitre 2 Le chargeur de démarrage 2.1 Présentation KoinKoin possède son chargeur de démarrage ou bootloader spécifique. Son rôle est d installer un environnement d exécution propice pour KoinKoin, notre micro-noyau. En particulier il est chargé de : Installer le mode d adressage protégé ( protected mode ). Installer la pagination. Jumper sur KoinKoin pour lui donner la main en lui passant les informations nécessaires. Pour toute information concernant la création de l image système et la procédure d installation de KoinKoin OS, référez-vous à la section Comment utiliser KoinKoin des annexes. 2.2 Utilisation de GRUB pour l amorce Nous utilisons GRUB pour effectuer l amorce de notre système d exploitation (bootstrap). Celui-ci est utilisé pour démarrer notre bootloader et charger les binaires de KoinKoin et des services de base. Voici les points forts qui ont justifié ce choix : Grub gère lui-même des systèmes de fichiers, ce qui est très utile pour créer une arborescence sur le périphérique utilisé pour démarrer, dans notre cas une disquette. La plupart des systèmes de fichiers courants peuvent être utilisés. KoinKoin Operating System 13 / 95

15 CHAPITRE 2. LE CHARGEUR DE DÉMARRAGE Grub gère plusieurs périphériques : disquette, disque dur ; réseau,... Il est donc très facile de lui spécifier où aller chercher les modules. Lorsque le premier programme est lancé (nommé kernel dans le fichier de configuration), Grub lui transmet des informations sur le système via une structure prédéfinie. Lorsque Grub lance le programme, le mode protégé est déjà activé. Après avoir chargé les modules, il donne la main à notre chargeur de démarrage Le fichier multiboot.h GRUB nous fournit un certain nombre d informations, certaines étant propres à lui, et d autres qu il a pu détecter lors du démarrage. Le fichier multiboot.h est un fichier en-tête qui contient des définitions de constantes et de structures qui nous permettent d utiliser les informations qu il nous transmet. Nous utilisons ensuite ces constantes et ces structures dans notre chargeur de démarrage puis dans notre noyau. GRUB appelle en fait notre chargeur de démarrage en lui passant deux arguments : le nombre magique (magic number) identifiant propre à l exécutable de notre chargeur de démarrage, et l adresse de la structure multiboot info qui permet d accéder à toutes les structures de GRUB. Ce nombre magique nous permet de vérifier que notre exécutable est bien conforme à la norme multiboot définie par GRUB. La structure multiboot info nous permet quant à elle d accéder notamment aux informations suivantes : Les adresses haute et basse de la mémoire vive. L adresse du début de l endroit en mémoire vive où il écrit les structures module donnant les informations sur les modules qu il a chargé. Le nombre de modules chargés. Les structures module suscitées contenant les adresses de début et de fin de chaque module, c est-à-dire où GRUB a chargé les modules en mémoire vive. KoinKoin Operating System 14 / 95

16 CHAPITRE 2. LE CHARGEUR DE DÉMARRAGE 2.3 GDT et segmentation Une table de descripteurs de segment est un tableau de descripteur de segments. Cette structure a une taille variable et peut contenir jusqu à 8192 descripteur. La GDT (Global Descriptor Table) est l un des deux types de table de descripteurs. Chaque système doit avoir une GDT de définie, qui sera alors utilisée par tous les programmes et tâches du système. Mais la GDT n est pas elle-même un segment, juste une structure de données. Son adresse de base (adresse de début) et sa limite (sa taille, exprimée en octets) doivent être chargées dans le registre GDTR. Le registre GDTR 1 On utilise pour cela l instruction assembleur lgdt, qui prend en paramètre une structure GDTR correctement remplie. Le processeur est alors informé de l emplacement et de la taille de la GDT, et pourra alors l utiliser. A noter que le premier descripteur de la GDT n est pas utilisé par le processeur, et est donc mis à NULL. Intéressons-nous désormais à la structure d un descripteur de segment pour comprendre les différences entre segment de code et de données, user et kernel, tss... Voici la structure générale d un descripteur de segment, et donc d une entrée de la GDT : 1 Documentation Intel Volume 3 KoinKoin Operating System 15 / 95

17 CHAPITRE 2. LE CHARGEUR DE DÉMARRAGE Un descripteur de segment 2 Ainsi, pour fixer le type et la nature d un segment, il suffit de renseigner les différents champs aux valeurs désirées. Par exemple, pour des segments de privilège Kernel, il faut fixer le champ DPL à la valeur 0x0, tandis que pour des segments de privilège User, la valeur est de 0x3. La GDT mise en place dans Koinkoin est la suivante : 2 Documentation Intel Volume 3 La GDT de Koinkoin KoinKoin Operating System 16 / 95

18 CHAPITRE 2. LE CHARGEUR DE DÉMARRAGE Chacun des segments recouvre l ensemble de la mémoire disponible. En effet dans KoinKoin, les propriétés de partitionnement mémoire de la segmentation ne sont pas utilisé, puisque le cloisonnement mémoire est assuré par la pagination. La segmentation de la mémoire s avérerai donc plus contraignante et limitante qu utile. Vous aurez sans doute remarqué que nous utilisons un unique TSS pour le système. En effet compte tenu que nous avons mis en place un changement de contexte manuel, nous n avons besoin que d un unique TSS global. 2.4 Passage en mode 32 bits Mode réel Lorsqu un ordinateur démarre, celui se trouve en mode réel, c est-à-dire en mode d adressage 16 bits. L adressage s effectue de la façon suivante : seg : offset avec : seg : Sélecteur de segment sur 16 bits offset : Offset (décalage) de segment, sur 16 bits Lorsque le processeur recoit une adresse de cette forme, il multiplie la valeur de seg par 16 et y ajoute la valeur de offset, obtenant ainsi une adresse sur 20 bits. La limite maximale de mémoire adressable est donc de seulement 1 Mo, ce qui extrêmement limité, réellement insuffisant pour les systèmes modernes Mode protégé Le mode protégé a donc été inventé pour pallier à cette extrême limitation. Le mode protégé se sert de la GDT, qui doit donc impérativement existée. En effet l adressage s effectue de la façon suivante : seg : offset avec : seg : Sélecteur de segment sur 16 bits ; le segment sélectionné est présent dans la GDT. KoinKoin Operating System 17 / 95

19 CHAPITRE 2. LE CHARGEUR DE DÉMARRAGE offset : Offset (décalage) de segment, sur 32 bits Ainsi, lorsque le processeur recoit une telle adresse, il obtient une adresse sur 32 bits, permettant ainsi d adresser jusqu à 4 Go de mémoire, ce qui est tout de même nettement plus confortable que l unique Mo du mode réel Activation du mode protégé L activation du mode protégé s effectue en changeant la valeur d un bit partculier dans le registre processeur CR0. Voici à quoi ressemble ce registre : Le registre processeur CR0 3 Le bit qui nous intéresse ici est PE (Protection Enable). Quand il est fixé à la valeur 1, il active le mode protégé (valeur 0 = mode réel). A noter que Grub active lui-même le mode protégé, mais nous avons refait la manipulation, au cas où nous utiliserions un jour un bootstrap ne s en chargeant pas. Une fois le mode protégé enclenché, nous pouvons mettre en place la pagination Chargement de l espace d adressage du noyau Il nous faut à présent charger l espace d adressage du noyau, afin d accéder aux adresses linéaires mises en place lors de la pagination 5. Ceci est impératif pour pouvoir exécuter le code du noyau, mappé en mémoire haute. Le chargement d un espace d adressage s effectue en modifiant la valeur du registre processeur CR3. Voici le registre CR3 : 3 Documentation Intel Volume 3 4 Cf. chapitre suivant pour explications détaillées 5 Cf. chapitre pagination KoinKoin Operating System 18 / 95

20 CHAPITRE 2. LE CHARGEUR DE DÉMARRAGE Le registre processeur CR3 6 Ce registre contient l adresse physique du début de la page directory, ainsi que deux flags (PCD et PWT). Ce registre est également appelé PDBR (Page Directory Base Register). Seul les 20 bits les plus significatifs de l adresse physique de la page directory sont spécifiés, les 12 autres bits étant fixé à 0. En effet l adresse de la page directory est une adresse de page, et est donc un multiple de 0x1000. Les flags PCD (Page-level Cache Disable) et PWT (Page-level Writes Transparent) représentent des options de cache interne au processeur. Pour écrire l adresse de la page directory noyau, il suffit de faire un mov en assembleur. 2.6 Activation de la mémoire virtuelle La dernière étape avant d exécuter le noyau est l activation de la mémoire virtuelle. En effet l environnement est désormais prêt pour l activation de la mémoire virtuelle (segmentation, pagination,...), et il faut désormais informer le processeur qu il doit utiliser ce mode d adressage afin qu il réalise les traductions des adresses utilisées (utilisation de la MMU, Memory Management Unit). Pour ce faire, il faut fixer un bit de plus dans le registre CR0. Cette fois-ci, le bit qui nous intéresse est le bit PG (Paging) (bit 31 du registre 7 ). Cette opération s effectue encore une fois en langage assembleur. Nous pouvons à présent jumper sur le code du noyau et poursuivre l exécution. 2.7 Jump sur le noyau Il s agit de la toute dernière étape de la phase de boot. Elle consiste en quelque lignes d assembleur, très simples. Mais il reste cependant un point à expliquer. Comme nous l expliquons au chapitre suivant, le code du noyau a été mappé en adresse haute, à l adresse 0xc Cette adresse correspond donc au début du code de l exécutable du noyau. Cependant il ne s agit pas de l adresse sur laquelle nous souhaitons jumper. 6 Documentation Intel Volume 3 7 Cf. schéma de CR0 KoinKoin Operating System 19 / 95

21 CHAPITRE 2. LE CHARGEUR DE DÉMARRAGE En effet il ne s agit que de l adresse de début du header Elf de l exécutable. Or le header Elf est composé de différents champs donnant des renseignements importants sur l exécutable. L un de ces champs, Entry point, fournit l adresse de la première instruction de l exécutable. C est cette valeur qui nous intéresse. Pour la récupérer, il suffit de lire la valeur du champ, situé à l offset 0x18 du header. On déréférence donc l adresse 0xc x18, et il suffit alors de jumper sur la valeur lue. Et nous voici enfin dans l exécution de notre noyau à proprement dit! KoinKoin Operating System 20 / 95

22 CHAPITRE 3. LA PAGINATION Chapitre 3 La pagination 3.1 Définition La pagination est utilisée au-dessus du mécanisme de segmentation précédemment décrit. Le mécanisme de pagination du processeur divise l espace d adressage linéaire (obtenu par la segmentation) en pages. Ces pages de l espace d adressage linéaire sont alors mappées dans des pages de l espace d adressage physique. La pagination offre des mécanismes de protection de pages, pouvant être utilisés à la place ou en complément des mécanismes de protection de la segmentation. La pagination permet à chaque espace d adressage de disposer de 4Go de mémoire virtuelle. 3.2 Les structures de données utilisées Les informations que le processeur utilise pour traduire une adresse linéaire en adresse physique sont contenues dans trois structures de données : Page Directory Page Table Page Page Directory Il s agit d une page de 4ko, contenant des PDEs (Page Directory Entrie). Chaque PDE a une taille de 32 bits, soit 4 octets. Une Page Directory peut donc contenir 1024 PDE. Chaque PDE référence une Page Table. On trouve une et une seule Page Directory par espace d adressage. KoinKoin Operating System 21 / 95

23 CHAPITRE 3. LA PAGINATION Page Table Format d une entrée de Page Directory 1 Il s agit d une page de 4ko, contenant des PTEs (Page Table Entrie). Chaque PTE a une taille de 32 bits, soit 4 octets. Une Page Table peut donc contenir 1024 PTE. Chaque PTE référence une page physique. A noter qu une Page Table peut être référencée par une ou plusieurs PDE. Egalement les Page Tables ne sont pas utilisées avec des pages de 4Mo. Il y a plusieurs Page Tables par espace d adressage. 1 Documentation Intel Volume 3 2 Documentation Intel Volume 3 Format d une entrée de Page Table 2 KoinKoin Operating System 22 / 95

24 CHAPITRE 3. LA PAGINATION Page Une page est un espace d adressage de 4Ko. Les adresses de page sont toujours des multiples de 0x1000. A noter qu il est possible d utiliser des pages de 4Mo, en modifiant le bit PSE du registre CR4. Elles ne sont pas utlisées dans KoinKoin, nous n en éprouvons pas le besoin actuellement. 3.3 Traduction d une adresse virtuelle en adresse physique Quand un programme ou une tâche utilise une adresse virtuelle, le processeur traduit d abord cette adresse en adresse linéaire, puis utilise le mécanisme de pagination pour traduire cette adresse linéaire en l adresse physique correspondante. Si cette page n est pas mappé dans l espace d adressage de l appelant, le processeur génère une exception de type Page Fault (exception 14). La valeur de l adresse inaccessible est alors stocké dans le registre CR2. Un handler a été mis en place dans KoinKoin, renseignant sur la tâche ayant généré l exception. Pour minimiser le nombre de cycles bus requis pour réaliser cette traduction, les entrées de Page Directory et de Page table récemment accédées sont stockées dans le cache TLB (Translation Lookaside Buffers). Ainsi le cache TLB permet au processeur de traduire des adresses virtuelles directement. La traduction de l adresse linéaire en adresse physique en elle-même s effectue de la manière suivante : Les 10 premiers bits de l adresse linéaire fournissent au processeur l entrée de la Page Directory à utiliser. Il y lit l adresse physique de la Page Table à utiliser. Les 10 bits suivants fournissent au processeur l entrée de la Page Table à utiliser. Il y lit l adresse physique de la page à utiliser. Les 12 derniers bits correspondent au décalage dans la page, ou offset. Le processeur peut alors lire la valeur correspondante. KoinKoin Operating System 23 / 95

25 CHAPITRE 3. LA PAGINATION Voici un schéma résumant ces différentes étapes : Transcription d une adresse virtuelle Mise en place de la pagination dans Koin- Koin La mise en place de la pagination dans KoinKoin consiste en premier en la mise en place des structures de données (Page Directory et Page Tables) de l espace d adressage noyau. Pour cela une interface a été mise en place, facilitant la création de Page Tables, mais également le référencement L identity mapping ou référencement à l identique Après activation de la pagination et donc de la mémoire virtuelle, plus aucune adresse physique n est utilisable. Or le noyau aura forcément besoin d accéder à sa propre Page Directory, ainsi qu à certaines Page Tables, qui ne peuvent pas avoir d adresse virtuelle. En effet, qui pourrait donc bien mapper la Page Directory du noyau? Personne, bien évidemment. Pour résoudre ce problème, on se sert du concept d identity mapping, ou référencement à l dentique. Le principe est le suivant : les adresses virtuelles et 3 Documentation Intel Volume 3 KoinKoin Operating System 24 / 95

26 CHAPITRE 3. LA PAGINATION leur adresse physique correspondante sont identiques. Par exemple, l adresse virtuelle 0x3000 sera transcrit en adressage physique en 0x3000. Ceci implique donc (en accord avec le mécanisme de traduction d adresse virtuelle en adresse physique) que la première entrée de la première page table référence la première page physique, la deuxième entrée la deuxième page physique,... A noter que nous avons limité l identity mapping aux 1024 premières pages, soit jusqu à l adresse 0x400000, afin de n utiliser qu une seule Page Table. En effet nous n avons pas besoin de référencer à l identique l ensemble de la mémoire, comme cela a été mis en place sous Linux (alors que cela pose des problèmes de sécurité et masque les erreurs de référencement). Ainsi le noyau pourra toujours accéder à ses structures non référencées, en les plaçant dans l identity mapping Les Page Tables du noyau Voici les différentes Page Tables du noyau au moment de l initialisation de la pagination : PTI : permet le référencement à l identique (Identity Mapping). Cette page table est référencée par l entrée 0 de la page directory noyau. PTM : à l origine son rôle est surtout de référencer la page table suivante, la PTT. Puis nous avons décidé qu elle référencerait également toutes les pages servant au gestionnaire de mémoire physique. Cette page table est référencée par l entrée 1 de la page directory noyau. PTT : son rôle est de référencer toutes les autres page tables, y compris la PTM. A noter que la première entrée de cette page table référence la GDT. Cette page table est référencée par l entrée 2 de la page directory noyau. PTK : le rôle de cette page table est de mapper le code de l exécutable du noyau. Ici, un détail important est à expliquer. En effet, le code du noyau est mappé en adresse haute, à l adresse 0xc Si vous avez bien compris le mécanisme de traduction d adresse linéaire en adresse physique, vous conviendrez aisément que cette page table ne peut être référencée par une entrée quelconque de la page directory. Après découpage de l adresse virtuelle du noyau, il apparait que l entrée de page directory correspondant à l adresse virtuelle 0xc est l entrée 768. PTAS : cette page table est utilisée par le noyau pour stocker diverses informations correspondant aux espaces d adressage utilisateurs. PTPD : cette page table est utilisée par le noyau pour stocker les adresses virtuelles (ayant une signification dans son propre espace d adressage uniquement) des Page Directory, ainsi que des PTM et PTT, des KoinKoin Operating System 25 / 95

Gestion de la Mémoire 1 ère partie: Point de vue processeur. Chapitre 5

Gestion de la Mémoire 1 ère partie: Point de vue processeur. Chapitre 5 Gestion de la Mémoire 1 ère partie: Point de vue processeur Chapitre 5 Présentation La mémoire peut être adressée de 3 points de vue Point de vue processeur Comment le processeur adresse la mémoire physique

Plus en détail

Mémoire virtuelle. Généralités

Mémoire virtuelle. Généralités Mémoire virtuelle Généralités La pagination pure - Conversion d adresses virtuelles en adresses physiques - Table des pages à plusieurs niveau et table inversée - Algorithmes de remplacement de page -

Plus en détail

Systèmes d exploitation. Introduction. (Operating Systems) http://www.sir.blois.univ-tours.fr/ mirian/

Systèmes d exploitation. Introduction. (Operating Systems) http://www.sir.blois.univ-tours.fr/ mirian/ Systèmes d exploitation (Operating Systems) Introduction SITE : http://www.sir.blois.univ-tours.fr/ mirian/ Systèmes d exploitation - Mírian Halfeld-Ferrari p. 1/2 Qu est-ce qu un SE? Ensemble de logiciels

Plus en détail

Gestion de la mémoire

Gestion de la mémoire Gestion de la mémoire Marc Pouzet ENS Cours L3 Systèmes et Réseaux 25 mai 2015 Aspects matériels de la mémoire Types de mémoires 1 Type Accès Vitesse Persistance Domaine d utilisation Registre lecture-écriture

Plus en détail

Chargement de processus Allocation contigüe Allocation fragmentée Gestion de pages. Gestion mémoire. Julien Forget

Chargement de processus Allocation contigüe Allocation fragmentée Gestion de pages. Gestion mémoire. Julien Forget Julien Forget Université Lille 1 École Polytechnique Universitaire de Lille Cité Scientifique 59655 Villeneuve d Ascq GIS 3 2011-2012 1 / 46 Rôle du gestionnaire de mémoire Le gestionnaire de mémoire a

Plus en détail

07 - Mémoire. Morgan Barbier morgan.barbier@unicaen.fr L2 S4 2012/2013

07 - Mémoire. Morgan Barbier morgan.barbier@unicaen.fr L2 S4 2012/2013 07 - Mémoire Morgan Barbier morganbarbier@unicaenfr L2 S4 2012/2013 1 Introduction Problèmatique Multitâches : L OS moderne permet d exécuter plusieurs tâches en même temps Chacune de ses tâches possèdent

Plus en détail

Introduction aux systèmes d exploitation

Introduction aux systèmes d exploitation Introduction aux systèmes d exploitation Le système d exploitation est un ensemble de logiciels qui pilotent la partie matérielle d un ordinateur. Les principales ressources gérées par un système d exploitation

Plus en détail

Chap. III : Le système d exploitation

Chap. III : Le système d exploitation UMR 7030 - Université Paris 13 - Institut Galilée Cours Architecture et Système Le système d exploitation (ou O.S. de l anglais Operating System ) d un ordinateur est le programme qui permet d accéder

Plus en détail

Systèmes d'exploitation

Systèmes d'exploitation Systèmes d'exploitation Fonctionnement interne Jeudi 27 mai et mardi 1er Juin Thomas Petazzoni Lolut - http://lolut.utbm.info Linux Magazine Série complète sur la construction d'un OS simple : SOS. A partir

Plus en détail

ASSEMBLAGE ET ÉDITION DES LIENS

ASSEMBLAGE ET ÉDITION DES LIENS ASSEMBLAGE ET ÉDITION DES LIENS Mewtow 11 novembre 2015 Table des matières 1 Introduction 5 2 La chaine d assemblage 7 2.1 Résolution des symboles.............................. 7 2.2 Relocation.....................................

Plus en détail

Les systèmes d exploitation

Les systèmes d exploitation Définitions Les systèmes d exploitation Version LJV #090915 septembre 2009 Le système d'exploitation: (anglais operating system, en abrégé OS) ensemble des programmes nécessaires et indispensables au fonctionnement

Plus en détail

LE BIOS : QU EST-CE QUE C EST?

LE BIOS : QU EST-CE QUE C EST? LE BIOS : QU EST-CE QUE C EST? Mewtow 29 octobre 2015 Table des matières 1 Introduction 5 2 Rappels sur le mode réel des processeurs x86 7 2.1 Mémoire en mode réel............................... 7 2.1.1

Plus en détail

Installer le socle java version 2

Installer le socle java version 2 Installer le socle java version 2 Version : 1.5.0 Date : 10.mars 2009 Auteur : Monique Hug Le présent document est téléchargeable à l adresse suivante : http://adullact.net/docman/index.php?group_id=554&selected_doc_group_id=1025&language_id=7

Plus en détail

Système d exploitation

Système d exploitation Chapitre 2 Système d exploitation 2.1 Définition et rôle Un ordinateur serait bien difficile à utiliser sans interface entre le matériel et l utilisateur. Une machine peut exécuter des programmes, mais

Plus en détail

LA GESTION DE FICHIERS

LA GESTION DE FICHIERS CHAPITRE 6 : LA GESTION DE FICHIERS Objectifs spécifiques Connaître la notion de fichier, ses caractéristiques Connaître la notion de répertoires et partitions Connaître les différentes stratégies d allocation

Plus en détail

Introduction à UNIX et Windows

Introduction à UNIX et Windows 1/39 à UNIX et Windows Thierry Hamon Bureau H202 - Institut Galilée Tél. : 33 1.48.38.35.53 Bureau 150 LIM&BIO EA 3969 Université Paris 13 - UFR Léonard de Vinci 74, rue Marcel Cachin, F-93017 Bobigny

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

M3 - Kernel Programming

M3 - Kernel Programming M3 - Kernel Programming Nicolas CORMIER Epitech 2008 Dans le cadre de la réalisation d'un début de micro kernel en mode protégé sur processeur x86, ce document décrit l'architecture du noyau ainsi que

Plus en détail

Une interface graphique de modélisation basée sur le formalisme de Forrester

Une interface graphique de modélisation basée sur le formalisme de Forrester Une interface graphique de modélisation basée sur le formalisme de Forrester un plugin de modélisation GVLE Patrick Chabrier INRA (Institut National de la Recherche Agronomique) (INRA) Stage Forrester

Plus en détail

Multi-boot avec trois systèmes

Multi-boot avec trois systèmes GET Linux A.S.C.T Multi-boot avec trois systèmes Faire cohabité un windows et deux systèmes linux sur un seul disque dur. Préparation Live-CD Debian Mandriva Information : vous êtes a la page 1 sur 11

Plus en détail

Chap. V : Les interruptions

Chap. V : Les interruptions UMR 7030 - Université Paris 13 - Institut Galilée Cours Architecture et Système Nous étudions dans ce chapitre les interruptions matérielles (ou externes), c est-à-dire déclenchées par le matériel (hardware)

Plus en détail

Logiciel Libre Cours 4 Fondements: Systèmes d Exploitation

Logiciel Libre Cours 4 Fondements: Systèmes d Exploitation Logiciel Libre Cours 4 Fondements: Systèmes d Exploitation Stefano Zacchiroli zack@pps.univ-paris-diderot.fr Laboratoire PPS, Université Paris Diderot 2013 2014 URL http://upsilon.cc/zack/teaching/1314/freesoftware/

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

Examen Corrigé NFP137 : Systèmes et applications concurrentes

Examen Corrigé NFP137 : Systèmes et applications concurrentes CONSERVATOIRE NATIONAL DES ARTS et METIERS Centre de Paris Examen Corrigé NFP137 : Systèmes et applications concurrentes 3 juillet 2007 Exercice 1 : Gestion des ressources : L algorithme du banquier. Lorsqu

Plus en détail

1.1 Remote Procedure Call (RPC)

1.1 Remote Procedure Call (RPC) 1.1 Remote Procedure Call (RPC) Le modèle Client-Serveur est un modèle simple à utiliser pour la structuration des systèmes répartis. Mais ce modèle s appuie sur des communications de type entrée/sortie

Plus en détail

partie en parallèle : Programmation système et réseau du point de vue «Multiprocessus Plan

partie en parallèle : Programmation système et réseau du point de vue «Multiprocessus Plan 2 ème LST Info&Miage partie en parallèle : Programmation système et réseau du point de vue «Multiprocessus» Chapitre : Introduction à la Concurrence entre processus & Exclusion Mutuelle Chapitre 2 : Coopération

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

Architecture logicielle des ordinateurs

Architecture logicielle des ordinateurs Architecture logicielle des ordinateurs Yannick Prié UFR Informatique Université Claude Bernard Lyon 1 des ordinateurs Objectifs du cours Notions générales sur le fonctionnement matériel (un peu) et logiciel

Plus en détail

Unité d enseignement Systèmes d exploitation Unix : Mise en œuvre du noyau Unix 1-ière Année Informatique et Mathématiques Appliquées

Unité d enseignement Systèmes d exploitation Unix : Mise en œuvre du noyau Unix 1-ière Année Informatique et Mathématiques Appliquées Unité d enseignement Systèmes d exploitation Unix : Mise en œuvre du noyau Unix 1-ière Année Informatique et Mathématiques Appliquées 1 Présentation générale TD-TP : Mémoire virtuelle 21 mai 2013 Le système

Plus en détail

Systèmes d exploitation

Systèmes d exploitation Systèmes d exploitation Un système d exploitation (SE, en anglais Operating System ou OS) est un ensemble de programmes responsables de la liaison entre les ressources matérielles d un ordinateur et les

Plus en détail

Module 7 : Gestion de la tolérance de pannes

Module 7 : Gestion de la tolérance de pannes Module 7 : Gestion de la tolérance de pannes 0RGXOH#:#=#*HVWLRQ#GH#OD#WROpUDQFH#GH#SDQQHV# # 568 # 3UpVHQWDWLRQ#JpQpUDOH 3UpVHQWHU#OHV#SULQFLSDX[ VXMHWV#HW#REMHFWLIV#pWXGLpV GDQV#FH#PRGXOH1 :LQGRZV#17#SUHQG#HQ

Plus en détail

L3 Informatique - Systèmes d exploitation

L3 Informatique - Systèmes d exploitation L3 Informatique - Systèmes d exploitation Gestion de la mémoire D. Béchet Denis.Bechet@univ-nantes.fr Université de Nantes Faculté des Sciences et Techniques 2, rue de la Houssinière BP 92208 44322 Nantes

Plus en détail

Stockage et mémoire, Du principe vers la réalité

Stockage et mémoire, Du principe vers la réalité Stockage et mémoire, Du principe vers la réalité Responsable :Thomas Robert C234-4 thomas.robert@telecom-paristech.fr Intervenants :Tamy Boubekeur, Guillaume Duc, Gérard Mouret, Thomas Robert Institut

Plus en détail

QCM systèmes d exploitation (Quarante questions)

QCM systèmes d exploitation (Quarante questions) QCM systèmes d exploitation (Quarante questions) QUIZZ OS N 1 (10 questions avec réponses) Question 1: Aux origines de l informatique, l'interface utilisateur des systèmes d exploitations était composée

Plus en détail

Partie 7 : Gestion de la mémoire

Partie 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étail

Etude et mise en oeuvre de PREEMPT-RT et Xenomai sur cible DSP Blackfin BF537

Etude et mise en oeuvre de PREEMPT-RT et Xenomai sur cible DSP Blackfin BF537 ENSEIRB-MATMECA Rapport de projet avancé 3 ème année électronique Etude et mise en oeuvre de PREEMPT-RT et Xenomai sur cible DSP Blackfin BF537 Etudiants : Alexandre Braconnier Axel Chevalier Jean-Marc

Plus en détail

Chapitre 1 : Introduction aux Systèmes d Exploitation (SE)

Chapitre 1 : Introduction aux Systèmes d Exploitation (SE) 1. Introduction Chapitre 1 : Introduction aux Systèmes d Exploitation (SE). 1 système informatique est un ensemble constitué de matériels et de logiciels et qui assure le traitement des données.. Les pgms

Plus en détail

Programmation système : sémaphores

Programmation système : sémaphores Programmation système : sémaphores Un sémaphore permet de protéger une variable (ou un type de donnée abstrait) et constitue la méthode utilisée couramment pour restreindre l'accès à des ressources partagées

Plus en détail

Introduction à la notion de système d'exploitation

Introduction à la notion de système d'exploitation Page 1 sur 9 1. Sommaire 1. Sommaire... 2 2. Description du système... 3 2.1. Rôles du système... 3 2.2. Composantes du système... 4 2.3. Systèmes multitâches... 4 2.4. Systèmes multi-processeurs... 4

Plus en détail

Vers un outil d analyse de l empreinte mémoire d un code de calcul scientifique.

Vers un outil d analyse de l empreinte mémoire d un code de calcul scientifique. Vers un outil d analyse de l empreinte mémoire d un code de calcul scientifique. Ameziane NAIT ABDELAZIZ Département informatique, filière PRCD Maître de stage : Bruno LATHUILIERE Tuteur : Brice GOGLIN

Plus en détail

Cours «système d exploitation» 2 ème année IUT de Caen, Département d Informatique Année 2000 2001 (François Bourdon)

Cours «système d exploitation» 2 ème année IUT de Caen, Département d Informatique Année 2000 2001 (François Bourdon) Cours «système d exploitation» 2 ème année IUT de Caen, Département d Informatique Année 2000 2001 (François Bourdon) Cours Systèmes d exploitation, François Bourdon, IUT département informatique, Caen.

Plus en détail

Gestion Mémoire. Informatique Embarquée M2 / 2014. Gestion Mémoire

Gestion Mémoire. Informatique Embarquée M2 / 2014. Gestion Mémoire Informatique Embarquée M2 / 24 24 Interaction CPU / mémoire Bus d'adresses CPU Bus de Données Bus de Contrôle 24 Architecture Von Neumann CPU contient: Instructions et Données CPU charge les instructions

Plus en détail

Optimisation de code

Optimisation de code Optimisation de code Brique ASC Samuel Tardieu sam@rfc1149.net École Nationale Supérieure des Télécommunications Samuel Tardieu (ENST) Optimisation de code 1 / 77 But L optimisation cherche à améliorer

Plus en détail

Introduction à l Informatique

Introduction à l Informatique Introduction à l Informatique. Généralités : Etymologiquement, le mot informatique veut dire «traitement d information». Ceci signifie que l ordinateur n est capable de fonctionner que s il y a apport

Plus en détail

GIF-1001 Ordinateurs: Structure et Applications Solutions : La gestion de la mémoire

GIF-1001 Ordinateurs: Structure et Applications Solutions : La gestion de la mémoire GIF-1001 Ordinateurs: Structure et Applications Solutions : La gestion de la mémoire 1. Décrivez, pour l allocation contiguë de mémoire avec partitions à taille variables pour placer des processus en mémoire,

Plus en détail

Projet de Machines Virtuelles

Projet de Machines Virtuelles Projet de Machines Virtuelles Gabriel Kerneis Vendredi 11 mars 2011 1 Introduction Le but de ce sujet est d implémenter la MARS (Memory Array Redcode Simulator), une machine virtuelle utilisée dans le

Plus en détail

PROJET Côté labo : Multiboot avec disques virtuels (vhd)

PROJET Côté labo : Multiboot avec disques virtuels (vhd) PROJET Côté labo : Multiboot avec disques virtuels (vhd) Description du thème Propriétés Description Intitulé long Mise en place d un multiboot avec des disques virtuels de Windows 7 Entreprise et Windows

Plus en détail

1 Le vocabulaire de l informatique

1 Le vocabulaire de l informatique 1 Le vocabulaire de l informatique I Les systèmes informatiques Les ordinateurs sont omniprésents dans notre environnement quotidien. Conçus pour traiter de manière générale des informations, ils ne se

Plus en détail

Plan du cours. - Introduction - Emergence et évolution des systèmes d exploitation - Système de fichiers : FAT - NTFS - Ordonnancement

Plan du cours. - Introduction - Emergence et évolution des systèmes d exploitation - Système de fichiers : FAT - NTFS - Ordonnancement Plan du cours - Introduction - Emergence et évolution des systèmes d exploitation - Système de fichiers : FAT - NTFS - Ordonnancement Systèmes d exploitation 1ère année p. 1 FAT FAT = File Allocation Table

Plus en détail

Unix/Linux I. 1 ere année DUT. Université marne la vallée

Unix/Linux I. 1 ere année DUT. Université marne la vallée Unix/Linux I 1 ere année DUT Université marne la vallée 1 Introduction 2 Fonctions et spécifité d Unix Architecture 3 4 5 Fichier Unix Arborescence de fichiers Quelques commandes sur les fichiers Chemins

Plus en détail

Windows 2008 server -Introduction-

Windows 2008 server -Introduction- Windows 2008 server -Introduction- Rappel sur les systèmes d exploitation Un système d exploitation (Operating System) est un ensemble de programmes responsables de la liaison entre les ressources matérielles

Plus en détail

Introduction. Les performances d une machine sont liées au: 1. nombre d instructions. 2. temps de cycle horloge

Introduction. Les performances d une machine sont liées au: 1. nombre d instructions. 2. temps de cycle horloge Introduction Les performances d une machine sont liées au: 1. nombre d instructions 2. temps de cycle horloge 3. nombre de cycle horloge par instructions. C est: le compilateur et l architecture du jeu

Plus en détail

D un point de vue système, ajuster la mémoire est l une des principales méthodes pour augmenter ou réduire les performances d un processus.

D un point de vue système, ajuster la mémoire est l une des principales méthodes pour augmenter ou réduire les performances d un processus. GESTION DE LA MEMOIRE SOUS UNIX La mémoire est une ressource critique car elle conditionne les temps de traitements. Différentes options SAS sont disponibles pour utiliser au mieux la mémoire de la machine.

Plus en détail

Les Systèmes d Exploitation: Concepts et Programmation

Les Systèmes d Exploitation: Concepts et Programmation Les Systèmes d Exploitation: d Concepts et Programmation Samia Bouzefrane MCF en Informatique, CNAM samia.bouzefrane@cnam.fr http://cedric.cnam.fr/~bouzefra Samia Bouzefrane, Cours SYSTEME 1 Introduction

Plus en détail

2. Optimisation de l'exponentiation modulaire

2. Optimisation de l'exponentiation modulaire Timing attack et hyperthreading Les processeurs modernes sont de plus en plus compliqués et difficiles à mettre en œuvre. Qu en est il de la sécurité des implémentations? Peut on exploiter les avancées

Plus en détail

AC - Virtualisation. Romain Hinfray

AC - Virtualisation. Romain Hinfray AC - Virtualisation Semestre Automne 2008 Antoine Benkemoun Romain Hinfray Introduction Cadre du projet Choix de Xen Quatre parties Tour d horizon de la virtualisation Pré-requis à la compréhension de

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

Table des matières. Cours Système d Exploitation. Chapitre II : Gestion des processus

Table des matières. Cours Système d Exploitation. Chapitre II : Gestion des processus Chapitre II : Gestion des processus Table des matières I Processus et contexte d un processus 2 II État d un processus 3 III Système d exploitation multi-tâches et parallélisme 3 IV Problèmes dues au multi-tâches

Plus en détail

Analyse et programmation 1

Analyse et programmation 1 Analyse et programmation Aperçu du fonctionnement de l ordinateur Fonctionnement de l ordinateur Codage de l information Bus d échange d information CPU Exécution d un programme par la CPU Gestion des

Plus en détail

ETNA Projet de Fin d Étude 2005-2007 RimElse Cahier des charges. c Copyleft 2006, ELSE Team

ETNA Projet de Fin d Étude 2005-2007 RimElse Cahier des charges. c Copyleft 2006, ELSE Team ETNA Projet de Fin d Étude 2005-2007 RimElse Cahier des charges c Copyleft 2006, ELSE Team 18 avril 2006 Table des matières 1 Introduction 2 2 Présentation du projet 3 2.1 Une distribution Évolulable..................

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

QUELQUES CONCEPTS INTRODUCTIFS

QUELQUES CONCEPTS INTRODUCTIFS ESIEE Unité d'informatique IN101 Albin Morelle (et Denis Bureau) QUELQUES CONCEPTS INTRODUCTIFS 1- ARCHITECTURE ET FONCTIONNEMENT D UN ORDINATEUR Processeur Mémoire centrale Clavier Unité d échange BUS

Plus en détail

La virtualisation vue de l intérieur

La virtualisation vue de l intérieur La virtualisation vue de l intérieur Introduction au fonctionnement des machines virtuelles Damien Dejean 5 février 2013 1 / 47 Plan Introduction Un hyperviseur vu de haut Les mains dans le cambouis Conclusion

Plus en détail

Le paquet rvle. Utilisation d un simulateur VLE, sous R. Patrick Chabrier, Hélène Raynal, Ronan Trepos 1, Gauthier Quesnel 2

Le paquet rvle. Utilisation d un simulateur VLE, sous R. Patrick Chabrier, Hélène Raynal, Ronan Trepos 1, Gauthier Quesnel 2 Le paquet rvle Utilisation d un simulateur VLE, sous R. Patrick Chabrier, Hélène Raynal, Ronan Trepos 1, Gauthier Quesnel 2 1. Equipe RECORD, U-MIA-T, INRA Toulouse 2. Equipe MAD, U-MIA-T, INRA Toulouse

Plus en détail

Environnement informatique

Environnement informatique Environnement informatique 1.L'ordinateur personnel Un ordinateur est une machine faite de matériel et de logiciel. D'un côté, le matériel (hardware) est constitué par la partie de la machine que l'on

Plus en détail

C ellules. Gestion et récupération automatique de mémoire. Principes des lang. de progr. INE 11. Allocation dynamique de mémoire.

C ellules. Gestion et récupération automatique de mémoire. Principes des lang. de progr. INE 11. Allocation dynamique de mémoire. Principes des lang. de progr. INE 11 Michel Mauny ENSTA ParisTech Prénom.Nom@ensta.fr Michel Mauny (ENSTA ParisTech) INE 11 Prénom.Nom@ensta.fr 1 / 37 Gestion et récupération automatique de mémoire lanage

Plus en détail

Rappels sur l Architecture de base d un ordinateur

Rappels sur l Architecture de base d un ordinateur Chapitre 1 Rappels sur l Architecture de base d un ordinateur I. Introduction Dans cette partie, nous décrivons rapidement l architecture de base d un ordinateur et les principes de son fonctionnement.

Plus en détail

Systèmes d exploitation Gestion des fichiers. Catalin Dima

Systèmes d exploitation Gestion des fichiers. Catalin Dima Systèmes d exploitation Gestion des fichiers Catalin Dima 1 Problématique Certains processus doivent stocker/avoir accès à une très grande quantité de mémoire Parfois plusieurs ordres de grandeur par rapport

Plus en détail

Systèmes de fichiers. Didier Verna

Systèmes de fichiers. Didier Verna 1/23 de fichiers didier@lrde.epita.fr http://www.lrde.epita.fr/ didier 2/23 Table des matières 1 2 Structure des fichiers 3 Structure des répertoires 4 Protection et sécurité 4/23 Répondre aux problèmes

Plus en détail

Structure en couches des systèmes informatiques

Structure en couches des systèmes informatiques Structure en couches des systèmes informatiques Vue simplifiée d un système informatique Ce que le simple utilisateur perçoit «à première vue» d un système informatique : Le boîtier (tour, desktop ou portable)

Plus en détail

Stockage : capacité, performances

Stockage : capacité, performances Stockage : capacité, performances Intervenant :Thomas Robert C234-4 thomas.robert@telecom-paristech.fr Transparents : Thomas Robert Institut Mines-Télécom Lectures possibles Chapitre 7.2 de : http://ceit.aut.ac.ir/~amirkhani/

Plus en détail

VMware ESX/ESXi. 1. Les composants d ESX. VMware ESX4 est le cœur de l infrastructure vsphere 4.

VMware ESX/ESXi. 1. Les composants d ESX. VMware ESX4 est le cœur de l infrastructure vsphere 4. VMware ESX/ESXi 1. Les composants d ESX VMware ESX4 est le cœur de l infrastructure vsphere 4. C est un hyperviseur, c est à dire une couche de virtualisation qui permet de faire tourner plusieurs systèmes

Plus en détail

Administration de Parc Informatique TP 05 Installation de Linux Debian

Administration de Parc Informatique TP 05 Installation de Linux Debian Institut Galilée L2 info S1 Année 2008-2009 Administration de Parc Informatique TP 05 Installation de Linux Debian 1 Une machine virtuelle Sur les machines du Sercal, nous ne pouvons pas manipuler les

Plus en détail

4D v11 SQL Release 5 (11.5) ADDENDUM

4D v11 SQL Release 5 (11.5) ADDENDUM ADDENDUM Bienvenue dans la release 5 de 4D v11 SQL. Ce document présente les nouveautés et modifications apportées à cette nouvelle version du programme. Prise en charge de nouvelles plates-formes La release

Plus en détail

Système de Gestion de Fichiers

Système de Gestion de Fichiers Chapitre 2 Système de Gestion de Fichiers Le système de gestion de fichiers est un outil de manipulation des fichiers et de la structure d arborescence des fichiers sur disque et a aussi le rôle sous UNIX

Plus en détail

Gestion de la mémoire sous VMware ESX

Gestion de la mémoire sous VMware ESX Gestion de la mémoire sous VMware ESX 1. Introduction Le partage de ressources offert par la virtualisation apporte des avantages par rapport à des architectures traditionnelles. Cela permet d avoir plus

Plus en détail

Génération de code : langages objets Gestion mémoire 2 novembre 2011

Génération de code : langages objets Gestion mémoire 2 novembre 2011 Génération de code : langages objets Gestion mémoire 2 novembre 2011 1 Compilation d un langage objet Représentation des classes et des objets Héritage multiple Appartenance à une classe 2 Environnement

Plus en détail

Croisière au cœur d un OS Étape 4 : Mise en place de la pagination

Croisière au cœur d un OS Étape 4 : Mise en place de la pagination Croisière au cœur d un OS Étape 4 : Mise en place de la pagination Résumé Grâce à l article 3, nous pouvons gérer la totalité de la RAM disponible. Dans cet article, nous allons commencer la mise en place

Plus en détail

Théorie des Systèmes d'exploitation : Introduction

Théorie des Systèmes d'exploitation : Introduction Théorie des Systèmes d'exploitation : Introduction Quelques systèmes d'exploitation... 3 Architecture des ordinateurs... 4 Schéma simplifié :... 4 Les concepts des systèmes d'exploitation... 5 Les 2 principales

Plus en détail

1. Les fondements de l informatique 13

1. Les fondements de l informatique 13 Introduction à l'algorithmique 1. Les fondements de l informatique 13 1.1 Architecture de Von Neumann 13 1.2 La machine de Turing 17 1.3 Représentation interne des instructions et des données 19 1.3.1

Plus en détail

Déploiement et gestion d ordinateurs avec un outil centralisé (Ghost Serveur 7.5)

Déploiement et gestion d ordinateurs avec un outil centralisé (Ghost Serveur 7.5) Déploiement et gestion d ordinateurs avec un outil centralisé (Ghost Serveur 7.5) QU EST CE Q UN SYSTEME D ADMINISTRATION ET DE DEPLOIEMENT?... 1 1. INSTALLATION SUR LE SERVEUR :... 4 2. PREPARATION DE

Plus en détail

ELE-542 Systèmes ordinés en temps réels. Cours # 8 Système d exploitation Temps Réel

ELE-542 Systèmes ordinés en temps réels. Cours # 8 Système d exploitation Temps Réel ELE- Systèmes ordinés en temps réels Cours # 8 Système d exploitation Temps Réel Jean-Marc Beaulieu et Bruno De Kelper Site internet: http://www.ele.etsmtl.ca/academique/ele/ Systèmes ordinés en temps

Plus en détail

INITIATION AU SYSTEME D EXPLOITATION WINDOWS 2000

INITIATION AU SYSTEME D EXPLOITATION WINDOWS 2000 INITIATION AU SYSTEME D EXPLOITATION WINDOWS 2000 Introduction : Initiation à la Micro- Informatique 1. Matériel 2. Périphériques a) Le clavier b) La souris c) L écran d) L unité centrale e) L imprimante

Plus en détail

NVU, Notepad++ (ou le bloc-note), MySQL, PhpMyAdmin. HTML, PHP, cas d utilisation, maquettage, programmation connaissances en HTML, PHP et SQL

NVU, Notepad++ (ou le bloc-note), MySQL, PhpMyAdmin. HTML, PHP, cas d utilisation, maquettage, programmation connaissances en HTML, PHP et SQL Prise en main de NVU et Notepad++ (conception d application web avec PHP et MySql) Propriétés Intitulé long Formation concernée Matière Présentation Description Conception de pages web dynamiques à l aide

Plus en détail

fichiers Exemple introductif : stockage de photos numériques

fichiers Exemple introductif : stockage de photos numériques b- La Gestion des données Parmi les matériels dont il a la charge, le système d exploitation s occupe des périphériques de stockage. Il s assure, entre autres, de leur bon fonctionnement mais il doit être

Plus en détail

Récupération automatique de la

Récupération automatique de la Récupération automatique de la mémoire 1 Plan 1. La gestion du tas. 2. Marquage et balayage. 3. Comptage de références. 4. Récupération par copie. 5. Compléments. 2 Problématique Le code exécutable généré

Plus en détail

Système d Exploitation et Outils de programmation

Système d Exploitation et Outils de programmation Système d Exploitation et Outils de programmation Introduction Le système d exploitation (SE) est un ensemble de programmes qui Réalise l interface entre le matériel de l ordinateur et les utilisateurs

Plus en détail

Mise en œuvre du logiciel de programmation d automates : PL7 Micro v4.4

Mise en œuvre du logiciel de programmation d automates : PL7 Micro v4.4 Mise en œuvre du logiciel de programmation d automates : PL7 Micro v4.4 Sommaire 1. Installation du logiciel PL7...2 2. Présentation du logiciel de programmation PL7...6 2.1. Présentation générale...6

Plus en détail

Architecture des ordinateurs TP 3

Architecture des ordinateurs TP 3 Architecture des ordinateurs ESIPE - IR1 TP 3 Objectif de cette séance L objectif de cette séance est d apprendre à utiliser la pile et à écrire des fonctions en assembleur En particulier, nous verrons

Plus en détail

M1101 : Introduction aux Systèmes d Exploitation (OS - Operating Systems)

M1101 : Introduction aux Systèmes d Exploitation (OS - Operating Systems) M1101 : Introduction aux Systèmes d Exploitation (OS - Operating Systems) Guillaume Urvoy-Keller Source : A. Tannenbaum "Modern Operating Systems", Pearson Guillaume Urvoy-Keller Source : A. Tannenbaum

Plus en détail

De l ordinateur au processus : rôle d un système

De l ordinateur au processus : rôle d un système De l ordinateur au processus : rôle d un système Introduction aux systèmes d exploitation Gaël Thomas Présentation du cours Contexte du cours : Introduire notre objet d étude : les systèmes d exploitation

Plus en détail

Base de l'informatique. Généralité et Architecture Le système d'exploitation Les logiciels Le réseau et l'extérieur (WEB)

Base de l'informatique. Généralité et Architecture Le système d'exploitation Les logiciels Le réseau et l'extérieur (WEB) Base de l'informatique Généralité et Architecture Le système d'exploitation Les logiciels Le réseau et l'extérieur (WEB) Généralité Comment fonctionne un ordinateur? Nous définirons 3 couches Le matériel

Plus en détail

Annexe : La Programmation Informatique

Annexe : La Programmation Informatique GLOSSAIRE Table des matières La Programmation...2 Les langages de programmation...2 Java...2 La programmation orientée objet...2 Classe et Objet...3 API et Bibliothèque Logicielle...3 Environnement de

Plus en détail

Architecture des ordinateurs. Optimisation : pipeline. Pipeline (I) Pipeline (II) Exemple simplifié : Instructions de type R

Architecture des ordinateurs. Optimisation : pipeline. Pipeline (I) Pipeline (II) Exemple simplifié : Instructions de type R Architecture des ordinateurs Licence Informatique - Université de Provence Jean-Marc Talbot Optimisation : pipeline jtalbot@cmi.univ-mrs.fr L3 Informatique - Université de Provence () Architecture des

Plus en détail

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

Concours de Programmation ULCO 2013

Concours de Programmation ULCO 2013 Concours de Programmation ULCO 2013 Notice d aide à l utilisation de Prog&Play 7 mars 2013 Introduction Le concours de cette année a pour cadre un jeu de stratégie temps réel, basé sur le moteur Spring,

Plus en détail

Systèmes d exploitation

Systèmes d exploitation Systèmes d exploitation Dominique PRESENT Dépt S.R.C. - I.U.T. de Marne la Vallée Organisation d un Ordinateur 1-4-5-6 connecteurs (cartes ) 3 chipset (processeur) 9 ports E/S 2 mémoire vive 7-8 connecteurs

Plus en détail

Mémoire principale. Von Neumann vs. Harvard. Terminologie. Architecture et technologie des ordinateurs II. G. Tempesti Semaine VIII 1 CPU.

Mémoire principale. Von Neumann vs. Harvard. Terminologie. Architecture et technologie des ordinateurs II. G. Tempesti Semaine VIII 1 CPU. principale Structure Fonctionnement Accès MÉMOIRE PRINCIPALE BUS SYSTÈME DD Instructions MMU TLB Unité de de Unité de de Traitement Données Décodeur PC ALU Unité Flottante Registres Von Neumann vs. Harvard

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