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

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

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

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

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

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

CHAPITRE VI : SYSTEME DE GESTION DE FICHIERS

CHAPITRE VI : SYSTEME DE GESTION DE FICHIERS 56 CHAPITRE VI : SYSTEME DE GESTION DE FICHIERS 6.1 INTRODUCTION : Afin de fournir un accès efficace et pratique au disque, le SE impose un système de gestion de fichiers (SGF) pour permettre de stocker,

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

La mémoire. Polytech Paris-Sud Cycle ingénieur de la filière étudiant. Louis Mandel Université Paris-Sud 11 Louis.Mandel@lri.

La mémoire. Polytech Paris-Sud Cycle ingénieur de la filière étudiant. Louis Mandel Université Paris-Sud 11 Louis.Mandel@lri. La mémoire Polytech Paris-Sud Cycle ingénieur de la filière étudiant Louis Mandel Université Paris-Sud 11 Louis.Mandel@lri.fr année 2012/2013 Aspects matériels de la mémoire Types de mémoires Type Accès

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

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

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

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

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

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

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è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

Gestion des processus / Gestion de la mémoire

Gestion des processus / Gestion de la mémoire Gestion des processus / Gestion de la mémoire Alexis Lechervy d après un cours de Jacques Madelaine Université de Caen A. Lechervy (Université de Caen) Gestion des processus / Gestion de la mémoire 1 /

Plus en détail

La gestion de la mémoire

La gestion de la mémoire La gestion de la mémoire 1. Rôle Le gestionnaire de mémoire est un sous-ensemble du système d exploitation. Son rôle est de partager la mémoire entre l O.S. et les diverses applications. Le terme «mémoire»

Plus en détail

Encryptions, compression et partitionnement des données

Encryptions, compression et partitionnement des données Encryptions, compression et partitionnement des données Version 1.0 Grégory CASANOVA 2 Compression, encryption et partitionnement des données Sommaire 1 Introduction... 3 2 Encryption transparente des

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

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

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

Le «thread local storage» et son utilisation

Le «thread local storage» et son utilisation Résumé Les allocations mémoire sont généralement plus coûteuses que d ordinaire en environnement multi-thread. En effet, la majorité des algorithmes d allocation en usage dans les systèmes d exploitation

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

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

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

Administration via l'explorateur WebSphere MQ

Administration via l'explorateur WebSphere MQ Ce document présente l utilisation de l Explorateur WebSphere MQ, et en particulier sa capacité à administrer des Queue Manager distants. Il aborde également les problèmes de sécurité liés à l administration

Plus en détail

LA mémoire virtuelle est une technique qui permet d exécuter des programmes

LA mémoire virtuelle est une technique qui permet d exécuter des programmes Chapitre Mémoire virtuelle LA mémoire virtuelle est une technique qui permet d eécuter des programmes dont la taille ecède la taille de la mémoire réelle. L espace d adressage d un processus, généré par

Plus en détail

CREER ET FORMATER UNE PARTITION DE DISQUE DUR 1 QUE SONT LES PARTITIONS ET LES LECTEURS LOGIQUES? 6

CREER ET FORMATER UNE PARTITION DE DISQUE DUR 1 QUE SONT LES PARTITIONS ET LES LECTEURS LOGIQUES? 6 Table des matières. CREER ET FORMATER UNE PARTITION DE DISQUE DUR 1 QUE SONT LES PARTITIONS ET LES LECTEURS LOGIQUES? 6 QUE SONT LES DISQUES DE BASE ET LES DISQUES DYNAMIQUES? 6 FORMATAGE DES DISQUES ET

Plus en détail

Les systèmes de Fichier

Les systèmes de Fichier Les systèmes de Fichier 1 Les disques durs, aussi petits soient-ils, contiennent des millions de bits, il faut donc organiser les données afin de pouvoir localiser les informations, c'est le but du système

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

Les systèmes RAID Architecture des ordinateurs

Les systèmes RAID Architecture des ordinateurs METAIS Cédric 2 ème année Informatique et réseaux Les systèmes RAID Architecture des ordinateurs Cédric METAIS ISMRa - 1 - LES DIFFERENTS SYSTEMES RAID SOMMAIRE INTRODUCTION I LES DIFFERENTS RAID I.1 Le

Plus en détail

PG208, Projet n 3 : Serveur HTTP évolué

PG208, Projet n 3 : Serveur HTTP évolué PG208, Projet n 3 : Serveur HTTP évolué Bertrand LE GAL, Serge BOUTER et Clément VUCHENER Filière électronique 2 eme année - Année universitaire 2011-2012 1 Introduction 1.1 Objectif du projet L objectif

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

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

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

Aujourd hui: gestionnaire de fichiers

Aujourd hui: gestionnaire de fichiers Gestion des fichiers GIF-1001 Ordinateurs: Structure et Applications, Hiver 2015 Jean-François Lalonde Source: http://www.business-opportunities.biz/2014/11/16/40-home-offices-that-are-messier-than-yours/

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

Installation de Windows XP www.ofppt.info

Installation de Windows XP www.ofppt.info ROYAUME DU MAROC Office de la Formation Professionnelle et de la Promotion du Travail XP DIRECTION RECHERCHE ET INGENIERIE DE FORMATION SECTEUR NTIC XP Sommaire 1 Introduction... 2 2 Vérification de la

Plus en détail

Découverte de l ordinateur. Explorer l ordinateur et gérer ses fichiers

Découverte de l ordinateur. Explorer l ordinateur et gérer ses fichiers Découverte de l ordinateur Explorer l ordinateur et gérer ses fichiers SOMMAIRE I L ORDINATEUR ET L EXPLORATEUR... 3 1.1 : PRESENTATION ET GENERALITES... 3 1.2 : CONNAÎTRE LES PROPRIETES D UN ELEMENT...

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

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

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

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

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

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

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

Plus en détail

LE SAS SOFTWARE DEPOT

LE SAS SOFTWARE DEPOT LE SAS SOFTWARE DEPOT Depuis SAS 9, l ensemble des logiciels SAS peuvent être installés depuis un unique répertoire : le SAS Software Depot. Il contient tous les exécutables permettant d installer les

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

Pegase3 Installation de Pégase 3 en mode TSE. Dernière révision le 31.03.2004. http://www.micromegas.fr pegase3@micromegas.fr

Pegase3 Installation de Pégase 3 en mode TSE. Dernière révision le 31.03.2004. http://www.micromegas.fr pegase3@micromegas.fr Pegase3 Installation de Pégase 3 en mode TSE Dernière révision le 31.03.2004 http://www.micromegas.fr pegase3@micromegas.fr L installation du logiciel Pégase 3 en mode TSE, sur un serveur, nécessite quelques

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

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

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

Présentation. Logistique. Résumé de la 1e Partie. Mise en place du système

Présentation. Logistique. Résumé de la 1e Partie. Mise en place du système Présentation Diapo01 Je m appelle Michel Canneddu. Je développe avec 4D depuis 1987 et j exerce en tant qu indépendant depuis 1990. Avant de commencer, je tiens à remercier mes parrains Jean-Pierre MILLIET,

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

La Clé informatique. Formation Access XP Aide-mémoire

La Clé informatique. Formation Access XP Aide-mémoire La Clé informatique Formation Access XP Aide-mémoire Septembre 2003 Définitions de termes Base de données : Se compare à un énorme classeur ayant plusieurs tiroirs où chacun d eux contient des informations

Plus en détail

Gestionnaire de Sauvegarde

Gestionnaire de Sauvegarde d Utilisation Version 1.5 du 26/12/2011 d utilisation de l application de sauvegarde Actu-pc Sommaire Introduction... 3 Installation et mise en place du logiciel... 3 Pré-requis... 3 Démarrage de l installation...

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

RAPPORT DE CONCEPTION UML :

RAPPORT DE CONCEPTION UML : Carlo Abi Chahine Sylvain Archenault Yves Houpert Martine Wang RAPPORT DE CONCEPTION UML : Bamboo Ch@t Projet GM4 Juin 2006 Table des matières 1 Introduction 2 2 Présentation du logiciel 3 2.1 Précisions

Plus en détail

PC & Windows Livret d exercices Laurent DUPRAT Pratiquons

PC & Windows Livret d exercices Laurent DUPRAT Pratiquons Pratiquons ensemble PC & Windows Livret d exercices Laurent DUPRAT Pratiquons ensemble PC & Windows Livret d exercices Laurent DUPRAT Pratiquons ensemble PC & Windows Livret d exercices Laurent DUPRAT

Plus en détail

Quelques éléments de compilation en C et makefiles

Quelques éléments de compilation en C et makefiles Quelques éléments de compilation en C et makefiles Guillaume Feuillade 1 Compiler un programme C Le principe de la compilation consiste à passer d un ensemble de fichiers de code à un programme exécutable

Plus en détail

CONFIGURATION P 2 P 3 P 3 P 10 P 11 P 13 P 14 P 16

CONFIGURATION P 2 P 3 P 3 P 10 P 11 P 13 P 14 P 16 CONFIGURATION 1 Présentation 2 Topologie du projet 3 Installation 4 Configuration 4.1 Création de la DMZ publique 4.2 Accès vers l Internet 4.3 Publication d Exchange 4.4 Rapports d activité et alertes

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

1. Faire Démarrer, Paramètres, Panneau de configuration, Outils d administration, Gestion de l ordinateur.

1. Faire Démarrer, Paramètres, Panneau de configuration, Outils d administration, Gestion de l ordinateur. TP PERSONNALISER SON POSTE DE TRAVAIL LES COMPTES, LES GROUPES C'EST QUOI? Les comptes et les groupes permettent de gérer plus facilement l administration d une machine. Il semble assez logique que sur

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

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

Solutions de gestion de la sécurité Livre blanc

Solutions de gestion de la sécurité Livre blanc Solutions de gestion de la sécurité Livre blanc L intégration de la gestion des identités et des accès avec l authentification unique Objectif : Renforcer la politique de sécurité et améliorer la productivité

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

Annexe 4 Programmes des classes préparatoires aux Grandes Ecoles

Annexe 4 Programmes des classes préparatoires aux Grandes Ecoles Annexe 4 Programmes des classes préparatoires aux Grandes Ecoles Filière : scientifique Voie : Technologie et biologie (TB) Discipline : Informatique Première et seconde années Programme d informatique

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

Algorithmique et Analyse d Algorithmes

Algorithmique et Analyse d Algorithmes Algorithmique et Analyse d Algorithmes L3 Info Cours 5 : Structures de données linéaires Benjamin Wack 2015-2016 1 / 37 La dernière fois Logique de Hoare Dichotomie Aujourd hui Type Abstrait de Données

Plus en détail

Claude Kaiser Machine virtuelle et environnement utilisateur SRI_B CHAPITRE 1

Claude Kaiser Machine virtuelle et environnement utilisateur SRI_B CHAPITRE 1 CHAPITRE 1 FOURNIR À L'UTILISATEUR UNE MACHINE VIRTUELLE ET UN ENVIRONNEMENT D'EXÉCUTION DE PROGRAMMES Plan ENVIRONNEMENT DE TRAVAIL ADAPTÉ AU BESOIN DE L'UTILISATEUR Fonctions de l'environnement d'exécution

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

Gestion de la mémoire centrale Allocation de la mémoire physique. Joëlle Delacroix NSY103 1

Gestion de la mémoire centrale Allocation de la mémoire physique. Joëlle Delacroix NSY103 1 Gestion de la mémoire centrale Allocation de la mémoire physique Joëlle Delacroix NSY13 1 Processeur Adressage de la mémoire centrale Données Adresse Commandes Cellule mémoire mémorisant 1 bit lec B u

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

Concepts et outils. Généralités sur le développement sous Linux

Concepts et outils. Généralités sur le développement sous Linux 1 Concepts et outils Ce chapitre a pour but de présenter les principes généraux de la programmation sous Linux, ainsi que les outils disponibles pour réaliser des applications. Nous nous concentrerons

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

Fonctions de base d'un système d exploitation

Fonctions de base d'un système d exploitation Chapitre 2 Durée : 12 Heures Type : Théorique Introduction Fonctions de base d'un système d exploitation Ce chapitre s'intéresse aux fonctionnalités de base d'un OS comme : La gestion des processus La

Plus en détail

Avertissement. Nom du stagiaire : Modification et utilisation interdites sans l accord de l auteur de ce support.

Avertissement. Nom du stagiaire : Modification et utilisation interdites sans l accord de l auteur de ce support. Reproduction et utilisation interdites sans l accord de l auteur Support de formation Administration Windows 2000 Server Avertissement Ce support n est ni un manuel d utilisation (pour cela, consultez

Plus en détail

bbc Launch Pad Juillet 2011 Version 10.0

bbc Launch Pad Juillet 2011 Version 10.0 bbc Configuration d Adobe Digital Enterprise Platform Document Services - Launch Pad 10.0 Guide de l administrateur et du développeur Launch Pad Juillet 2011 Version 10.0 Mentions juridiques Pour plus

Plus en détail

et dépannage de PC Configuration Sophie Lange Guide de formation avec exercices pratiques Préparation à la certification A+

et dépannage de PC Configuration Sophie Lange Guide de formation avec exercices pratiques Préparation à la certification A+ Guide de formation avec exercices pratiques Configuration et dépannage de PC Préparation à la certification A+ Sophie Lange Troisième édition : couvre Windows 2000, Windows XP et Windows Vista Les Guides

Plus en détail

IN SYSTEM. Préconisations techniques pour Sage 100 Windows, MAC/OS, et pour Sage 100 pour SQL Server V16. Objectif :

IN SYSTEM. Préconisations techniques pour Sage 100 Windows, MAC/OS, et pour Sage 100 pour SQL Server V16. Objectif : IN SYSTEM Préconisations techniques pour Sage 100 Windows, MAC/OS, et pour Sage 100 pour SQL V16 Objectif : En synthèse des manuels de référence de Sage Ligne 100, ce document vous présente les préconisations,

Plus en détail

P R O J E T P E R S O N N A L I S E E N C A D R E

P R O J E T P E R S O N N A L I S E E N C A D R E P R O J E T P E R S O N N A L I S E E N C A D R E INSTALLATION D UN SERVEUR DNS DATE 30/10/2014 DESCRIPTION DU PPE AUTEUR Projet de création d un serveur DNS interne à une entreprise DE CUYPERE Maxime

Plus en détail

Gestion de la mémoire. Abdelouahed Gherbi Hiver 2014

Gestion de la mémoire. Abdelouahed Gherbi Hiver 2014 Gestion de la mémoire Abdelouahed Gherbi Hiver 2014 1 Plan Introduction Systèmes monoprogramés Protection Relocation Va-et-vient (Swapping) Systèmes multiprogrammés Partition fixes Partition variables

Plus en détail

Une ergonomie intuitive

Une ergonomie intuitive Une ergonomie intuitive Les solutions de la ligne PME offrent une interface de travail proche des usages quotidiens en informatique. Leur ergonomie intuitive facilite la prise en main du logiciel. Une

Plus en détail

SAUVEGARDE ET RESTAURATION DES METADONNEES AVEC SAS 9.3

SAUVEGARDE ET RESTAURATION DES METADONNEES AVEC SAS 9.3 SAUVEGARDE ET RESTAURATION DES METADONNEES AVEC SAS 9.3 SAS 9.3 est disponible depuis le 12 Juillet 2011. Cette nouvelle version s accompagne de son lot de nouveautés notamment au niveau du serveur de

Plus en détail

Compilation séparée. Compilation séparée. ENSIIE: Programmation avancée, Compilation séparée, Modularité, Spécifications algébriques 1

Compilation séparée. Compilation séparée. ENSIIE: Programmation avancée, Compilation séparée, Modularité, Spécifications algébriques 1 Compilation séparée Compilation séparée ENSIIE: Programmation avancée, Compilation séparée, Modularité, Spécifications algébriques 1 Compilation séparée Modularité GCC : 4 millions de lignes de code Noyau

Plus en détail

Le système Windows. Yves Denneulin. Introduction. Introduction. Plan

Le système Windows. Yves Denneulin. Introduction. Introduction. Plan Introduction Le système Windows Yves Denneulin Windows a 25 ans Au début basé sur MS/DOS Multi-tâches coopératifs Pas de réelle protection entre applications Famille 1.0 -> 386 -> 95 -> 98 -> Me Version

Plus en détail

Atelier No1 : Installation de Windows Server 2003 Standard Edition Configuration du protocole TCP/IP

Atelier No1 : Installation de Windows Server 2003 Standard Edition Configuration du protocole TCP/IP Atelier No1 : Installation de Windows Server 2003 Standard Edition Configuration du protocole TCP/IP Précisions concernant les équipes de travail: Afin de rationaliser les équipements disponibles au niveau

Plus en détail

Logiciel de base. Première année ENSIMAG

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

Plus en détail

Le voyageur de commerce

Le voyageur de commerce Université de Strasbourg UFR Maths-Informatique Licence 3 - Semestre 6 Le voyageur de commerce Jonathan HAEHNEL & Marc PAPILLON Strasbourg, le 3 mai 2012 Table des matières 1 Etat des lieux 4 1.1 Fonctionnalités..............................

Plus en détail

Guide de démarrage rapide de WinReporter

Guide de démarrage rapide de WinReporter Guide de démarrage rapide de WinReporter Pour plus d information à propos de WinReporter, vous pouvez contacter IS Decisions à : Tél : +33 (0)5.59.41.42.20 (Heure française : GMT +1) Fax : +33 (0)5.59.41.42.21

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

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

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

Plus en détail

Gestion du processeur central

Gestion du processeur central Chapitre II Gestion du processeur central 1. Introduction Evolution des systèmes informatiques 1.1- Premier système : Le programmeur/opérateur doit écrire un programme ensuite le faire fonctionner directement

Plus en détail

Structure fonctionnelle d un SGBD

Structure fonctionnelle d un SGBD Fichiers et Disques Structure fonctionnelle d un SGBD Requetes Optimiseur de requetes Operateurs relationnels Methodes d acces Gestion de tampon Gestion de disque BD 1 Fichiers et Disques Lecture : Transfert

Plus en détail

Cours 6 : Principes de la représentation des nombres en

Cours 6 : Principes de la représentation des nombres en Cours 6 : Principes de la représentation des nombres en mémoire 2013/2014 Introduction Représentation des données en mémoire naturels signés Nous décrivons les principes de la représentation des nombres

Plus en détail