r (% u e s s e c ro u d n tio tilis degré de multiprogrammation

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

Download "r (% u e s s e c ro u d n tio tilis degré de multiprogrammation"

Transcription

1 Introduction Systèmes d exploitation Gestion de la Mémoire ressource importante devant être gérée avec prudence Gestion de la du ressort du gestionnaire de la Ce gestionnaire doit : Connaître les parties libres et occupées de la llouer de la aux processus qui en ont besoin Récupérer la utilisée par un processus lorsque celui-ci se termine Traiter le va-et-vient (swapping ou swap) entre le disque et la principale lorsque cette dernière ne peut pas contenir tous les processus Les systèmes de gestion de la se répartissent en 2 catégories : Les systèmes qui déplacent les processus entre la principale et le disque (vaet-vient et pagination) 2 Ceux qui ne le font pas 2ème catégorie + simple Le va-et-vient et la pagination sont des artifices qui pallient à un manque de princiaple Monoprogrammation sans va-et-vient ni pagination Gestion de la la + simple consite à avoir un seul processus en à un instant donné et lui permettre d utiliser toute la disponible La est partagée entre le SE et un unique processus utilisateur L IBM PC (i886->i8486) utilise ce schéma : Les pilotes sont en ROM (Read Only Memory), les programmes en ROM sont appelés BIOS (Basic Input Output System) Le SE se trouve en bas de la vive (RM, Random ccess Memory) Le programme utilisateur au-dessus du SE en RM Pilotes périphériques en ROM Programme utilisateur SE en RM Lorsque la est organisée de cette manière, il ne peut y avoir qu un seul processus s exécutant à un instant donné L utilisateur tape une commande sur son terminal, le SE charge le programme en et l exécute ; lorsque le processus se termine le SE affiche une invite (prompt) sur le terminal et attend la commande suivante pour charger un nouveau processus qui remplace le précédent Multiprogrammation et utilisation de la : modélisation La multiprogrammation permet d améliorer le taux d allocation du processeur Supposons qu un processus passe une fraction p de son temps à attendre la fin d une E/S ; si n processus se trouvent en en même temps, la probabilité qu ils soient tous en attente sur une E/S (et donc que le processeur soit inutilisé) est p n ; nous avons donc : utilisation du processeur = - p n Utilisation du processeur (% ) % d'attente sur E/S 5 % d'attente sur E/S 8 % d'attente sur E/S degré de multiprogrammation Multiprogrammation avec des partitions fixes Il est clair (à présent) qu il est souvent utile d avoir + d un processus en à la fois Comment alors organiser la le plus efficacement possible? La méthode la + simple est de diviser la en n partitions (éventuellement de tailles inégales) Chaque nouvelle tâche est placée dans la file d attente de la plus petite partition qui peut la contenir Partition 4 7 K Partition 4 Files d entrée multiples 7 K Partition File d entrée unique Partition 4 K 4 K Partition 2 Partition 2 2 K 2 K Partition Partition K K SE SE Trier les tâches en fonction de leurs taille dans des files multiples présente un inconvénient lorsque la file des grandes partitions est vide et celles des petites est pleine ; une alternative consiste à utiliser seule file Pas intéressant d allouer une grande partition à une petite tâche: parcourir la liste et choisir la plus grande tâche qui peut contenir la partition Cette stratégie désavantage les petites tâches (théoriquement il vaut mieux les traiter en priorité) ; une solution consiste à interdire la non-sélection d une tâche plus de k fois Ce système à partitions fixes a été utilisé par OS/6 (IBM), il s appelait MFT (Multiprogramming with a Fixed number of Tasks) Code translatable et protection La multiprogrammation soulève 2 problèmes majeurs : la translation et la protection u moment de l édition de liens, l éditeur de liens doit connaître l adresse du début du programme! Ex : appel d un procédure à l adresse relative, si le programme est chargé en partition, cet appel provoque un saut à l adresse qui se trouve dans le SE! L adresse devrait être K + Ce problème est est celui de la translation d adresse Une solution consiste à modifier les instructions du programme chargé en ; pour effectuer cette opération l éditeur de liens doit inclure dans le code binaire une liste de mots qui sont des adresses pour les distinguer des codes d opérations des constantes ou d éléments qui ne doivent pas être translatés Translater les programmes au moment du chargement ne résout pas le problème de protection : comme les programmes dans ce système utilisent des adresses absolues, on ne ne peut empêcher à un programme de construire une instruction qui lit ou écrit n importe quel mot! Une autre solution aux problèmes de la translation d adresse et de la protection est de doter la machine de deux registres matériels spéciaux : les registres de base et limite Quand on lance un processus, on charge dans le registre de base la limite inférieure de la partition et dans le registre limite la longueur de la partition ; on ajoute le registre de base à chaque adresse générée et on vérifie que cette adresse ne dépassent pas le registre de limite afin d interdire tout accès en dehors de la partition L IBM PC utilise une version simplifiée de ce mécanisme (sans registre limite) utre avantage du registre de base : les programmes peuvent être déplacés en après le début de leur exécution, il suffit de modifier la valeur du registre

2 Le va-et-vient : introduction La ne peut pas toujours contenir les processus de tous les utilisateurs, il faut placer quelques processus sur disque Il faut, bien sur, ramener ce processus en principale avant de les exécuter Le mouvement des processus entre la principale et le disque est appelé va-et-vient (swapping) Multiprogrammation avec partitions variables () On peut, en principe, utiliser les partitions fixes pour les va-et-vient (dés qu un processus se bloque, on le déplace sur disque et on le remplace par un autre) En pratique, les partitions fixes ne sont pas intéressantes lorsque la est limitée (on perd beaucoup de place à cause des programmes qui sont plus petits que les partitions Il faut utiliser une autre solution : les partitions variables vec des partitions variables, le nombre et la taille des processus en varient au cours du temps C C C C C B B B B B E D D D SE SE SE SE SE SE SE SE La différence fondamentale avec les partitions fixes est que le nombre, la position et la taille des partitions varient dynamiquement au fur et à mesure que les processus entrent ou sortent de la Plus limitée par un nombre fixe de partitions ou par la taille des partitions ; cette souplesse accrue améliore l usage de la mais complique son allocation et sa libération On peut réunir les espaces inutilisées en une seule partition, on effectue alors un compactage de la Multiprogrammation avec partitions variables (2) La taille allouée aux processus mérite une attention particulière L allocation est simple si les processus ont une taille fixe qu ils ne modifient jamais ; si en revanche les processus allouent dynamiquement de la dans le tas, on a des difficultés dès qu un processus demande de la S il existe un espace adjacent au processus, ce dernier pourra occuper cet espace ; mais s il est entouré par deux autres processus, il faut soit le déplacer à un emplacement susceptible de le contenir, soit déplacer un ou plusieurs processus sur disque pour créer une emplacement de taille suffisante Si la est saturée et si le swap ne peut plus contenir de processus, il faut tuer le processus! La taille des processus augmente en général au cours de leur exécution ; on peut donc allouer à chaque processus un peu plus de qu il ne demande afin de réduire le temps système perdu pour cette gestion ; il faut cependant recopier sur disque uniquement la réellement utilisée par le processus Les processus ont 2 segments qui peuvent grandir (le tas et la pile), on place la disponible entre ces 2 segments et cet espace peut être utilisé indifféremment par un de ces segments ; si cet espace se remplit, il faut soit déplacer le processus à un emplacement plus grand, soit le recopier sur disque jusqu à ce qu il y ait de la place en principale, soit le tuer Il existe manières de mémoriser l occupation de la : les tables de bits (bit maps), les listes et les subdivisions (buddy) Gestion par tables de bits La est divisée en unités d allocation dont la taille varie de quelques mots à plusieurs Mo chaque unité, on fait correspondre un bit dans la table de bits (bit maps) qui est à si l unité est libre et à si elle est occupée La taille de l unité d allocation joue un rôle important : plus elle est faible, plus la table de bits est important ; si on prend une unité d allocation de grande taille, on réduit la taille du bit map, mais on perd beaucoup de place chaque fois qu un processus n est pas un multiple de l unité d allocation Le bit map permet donc de mémoriser l occupation dans un espace de taille fixe : la taille d un bit map ne dépend pas de la taille de la mais de la taille de l unité d allocation Le seul problème survient lorsque l on doit placer en un processus de k unités ; le gestionnaire doit parcourir le bit map à la recherche de k zéros consécutifs ; cette recherche est lente, ce qui fait qu en pratique on utilise rarement les bit maps Gestion par listes chaînées Une deuxième méthode pour mémoriser l occupation consiste à gérer une liste chaînée de segments libres et occupés Un segment est un processus ou un espace libre entre deux processus Chaque entrée de la liste spécifie : une zone libre (H [pour Hole]) ou un processus (P), son adresse de départ sa longueur un pointeur sur l entrée suivante Trier la liste en fonction des adresses permet de mettre à jour facilement la liste lorsqu un processus se termine ou est déplacé sur disque +ieurs algos peuvent être utilisés à partir de cette liste pour allouer la aux processus Le + simple : l algo de la première zone libre (first fit) : rechercher le premier segment H qui peut contenir le processus, le scinder en 2 (la première contient le processus, la seconde est H) : algo rapide puisque très peu de recherche lgo de la zone libre suivante (next fit) : légère variante : la recherche commence à partir de la dernière zone libre trouvé : performance légèrement inférieure à first fit [Bays 977] lgo du meilleur ajustement (best fit) : on recherche dans toute la liste la plus petite zone libre qui convient, on évite ainsi de fractionner une grande zone dont on pourrait avoir besoin ultérieurement : + lent et + étonnant : il fait perdre plus de place que first fit (fractionnement en petite zone inutilisable)! lgo du plus grand résidu (worst fit) : inverse on prend la plus grande zone libre : pas de bonnes perf Optimisations : 2 listes (pour les H et pour les P), utiliser les zones libres pour mémoriser les H : le premier mot de chaque zone libre contient la taille de la zone et le deuxième un pointeur sur l entrée suivante lgo du placement rapide (quick fit) : utilise des listes séparées par les tailles de zone les plus courantes Gestion par subdivision Les listes chaînées accélèrent l allocation mais rendent la libération plus lente car il faut examiner les voisins des segments libérés L allocation par subdivision (buddy system) est un algo de gestion qui s appuie sur le fait que les ordinateurs utilisent des adresses binaires de manière à accélérer la fusion des zones libres adjacentes Le gestionnaire de la mémorise une liste de blocs libres dont les tailles sont, 2, 4, 8, 6, Zone octets jusqu à la taille maximale de la Mémoire libre Initialement 24 Ex : Demande Demande 5 B L allocation par subdivision présente un avantage par rapport aux algos qui trient en fonction de leur taille : Demande 8 B 64 C 28 quand un bloc de 2k octets est libéré, libération le gestionnaire 28 de Bla 64 C doit 28examiner uniquement la liste des 4 Deamnde 6 28 B D C 28 zones libres de 2 k octets pour voir s il peut reconstruire un bloc plus grand Libération B D C 28 4 Libération D 256 C 28 Malheureusement, il est assez inefficace en ce qui concerne l utilisation de la, le problème vient Libération C 24 du fait que toutes les tailles doivent être arrondies à une puissance de 2 Un processus de 5 Ko occupe un bloc de 64Ko, les 29 Ko excédentaires sont perdus, on parle de fragementation interne Fragmentation externe : zone libre entre 2 segments alloués, appelé aussi phénomène de damier (checkerboarding) De nombreux informaticiens (Peterson et Norman, Kaufman, ) ont modifié l allocation de subdivision pour contourner certaines de ses limitations 2

3 L allocation de l espace de va-et-vient Dans certains systèmes, on n alloue pas à l avance un espace fixe sur le disque aux processus qui sont en Quand un processus doit être copié sur disque, on lui attribue un espace de va-et-vient (swap area) chaque va-et-vient, le processus peut être placé à un endroit différent sur le disque, les algos de gestion de l espace de va-et-vient sont identiques à ceux de la gestion de la principale Sur d autres systèmes, lors de la création d un processus, on lui alloue un espace fixe de va-et-vient ; chaque fois qu il est déplacé sur disque, il est placé dans l espace qui lui est réservé ; cet espace est libéré lorsque le processus se termine La seule différence entre l espace et l espace swap est que l espace swap d un processus est un nombre entier de blocs du disque La virtuelle : introduction Il y a de nombreuses années, les programmes étaient trop volumineux pour entrer dans la disponible La solution adoptée fut de diviser le programme en parties appelées des segments de recouvrement (overlays) Le segment s exécute en premier, lorsqu il se termine il appelle un autre segment Les segments de recouvrement étaient stockés sur le disque et effectuaient des vaet-vient Le SE effectuait les déplacements, mais le découpage du programme devait être fait par le programmeur : long et fastidieux On adopta alors le principe de la virtuelle Idée de base : la taille du programme peut dépasser la taille de la disponible, le SE garde en les parties du programme qui sont utilisées, stocke le reste sur disque et effectue des va-et-vient lorsqu il a besoin d informations stockées sur disque La pagination () La pagination (2) La plupart des systèmes à virtuelle ont recours à la pagination Les adresses alors manipulées par les programmes sont appelées des adresses virtuelles et constituent l espace d adressage virtuel Sur les ordinateurs sans virtuelle, les adresses sont directement placées sur le bus de la et provoquent la lecture ou l écriture du mot à l adresse spécifiée Lorsque la virtuelle est utilisée, les adresses sont envoyées à l unité de gestion de la ou MMU (Memory Management Unit), composant qui traduit les adresses virtuelles en adresses physiques Carte processeur Le processeur envoie des adresses virtuelles au MMU CPU MMU Le MMU envoie des adresses physiques à la Mémoire Contrôleur de disque BUS Ex : ordinateur disposant de 2k de pouvant générer des adresses virtuelles Espace de 6 bits de à 64k des dresse adresses On peut donc écrire des programmes de virtuelles physique 64k, mais on ne peut les charger k - 4k 2 k - 4k entièrement en 4k - 8k 4k - 8k 8k - 2k 6 8k - 2k Une image de tout le programme 2k - 6k 2k - 6k est stockée sur disque de telle sorte qu on 6k - 2k 4 6k - 2k puisse en charger, au besoin, les 2k - 24k 2k - 24k 24k - 28k X 24k - 28k différentes parties dans la 28k - 2k X 28k - 2k 2k - 6k X L espace d adressage est divisé en petites 6k - 4k 5 unités appelées pages 4k - 44k X 44k - 48k 7 case physique Les unités correspondantes de la 48k - 52k X physique sont les cases 52k - 56k X 56k - 6k X page virtuelle (page frames) 6k - 64k X Les pages et les cases sont toujours de la même taille Les transferts entre la et le disque se font toujours par page entière La pagination () La pagination (4) Ex : MOV reg, (lecture de la valeur contenu à l adresse ) L adresse virtuelle est envoyée au MMU Ce dernier constate que cette adresse virtuelle se situe à la page (adresses de à 495) qui appartient à la case 2 (892 à 287) Le MMU transforme l adresse en 892 et place cette valeur sur le bus La carte ne connaît pas l existence du MMU, elle reçoit simplement une demande de lecture de l adresse 892 Le MMU a donc mappé les adresses virtuelles comprises entre et 496 sur les adresses physiques comprises entre 892 à 287 De la même manière l adresse virtuelle 892 est transformée en et 25 correspond à l adresse physique 28 Ce mappage au moyen du MMU des 6 pages virtuelles sur n importe laquelle des 8 cases ne résout pas le problème soulevé par le fait que l espace d adressage virtuel est plus grand que la physique Les pages signalées par un «X» ne sont pas mappées Le matériel mémorise dans un bit de présence si une page est mappée ou non Que se passe-t-il si le programme tente d utiliser une page non mappée (ex : MOV reg, 278) Le MMU constate que cette page n est pas mappée et provoque un déroutement (trap) : le processeur est restitué au SE Ce déroutement est appelé défaut de page (page fault) Le SE repère une case peu utilisée et recopie son contenu sur le disque ; il place ensuite la page demandée dans la case qui vient d être libérée, modifie le mappe et réexécute l instruction déroutée

4 Fonctionnement interne du MMU Lorsque le MMU reçoit une adresse, il divise celle-ci en 2 parties : le numéro de page et un déplacement dans cette page Dans notre exemple : numéro de page = 4 bits de poids fort et le La page virtuelle 2 sert d'index déplacement est stocké sur 2 bits dans la table des pages Les 4 bits du numéro de page 2 permettent d avoir 6 pages et les 2 bits du déplacement permettent 4 Déplacement de 2 bits 5 recopié directement de d adresser les 496 octets d une page 6 l'entrée à la sortie Le numéro de page sert d index dans 7 8 la table des pages et donne la case 9 qui correspond à cette page virtuelle Table des pages Si le bit de présence est à, il y a 2 déroutement, sinon on copie le 4 numéro de la case dans les bits de 5 poids fort du registre de sortie et le déplacement fourni par l adresse virtuelle Le registre de sortie contient l adresse physique et peut être placé sur le bus de la dresse virtuelle en entrée (896) dresse physique en sortie (2458) Les tables de pages () Le but de la table de pages est d établir la correspondance entre les pages virtuelles et les cases s D un point de vue mathématique, c est une fonction qui prend en argument un numéro de page virtuelle et renvoie un numéro de case Cependant les deux points suivants doivent être pris en compte : La table des pages peut être très grande Le mappage doit être rapide Le premier point découle de l adressage des ordinateurs modernes qui utilisent des adresses virtuelles de 2 bits ou + En utilisant des pages de 4ko, un espace d adressage de 2 bits a million de pages Si l espace d adressage virtuel a million de pages, la table des pages doit comporter million d entrées! Par ailleurs, chaque processus a besoin de sa propre table des pages! Le deuxième point découle du fait que le mappage de l adresse virtuelle sur l adresse physique doit être effectué à chaque référence ; un instruction typique comporte une instruction sur un mot et souvent un opérande ; en conséquence il est nécessaire d effectuer, une, deux ou davantage de références à la table des pages par instruction Si une instruction prend ns, la recherche dans la table des pages doit être effectuée en quelques nanosecondes pour éviter un ralentissement important La table des pages (2) La conception de la tables des pages est donc un point crucial quant à l efficacité de l ordinateur La conception la + simple consiste à avoir une seule table des pages constituée d un tableau de registres machine rapides, avec une entrée par page virtuelle et indexation au moyen du numéro de page virtuelle Lorsqu un processus est activé, le SE charge les registres avec la table des pages de ce processus ; au cours de l exécution la table des pages ne nécessite plus de références Cette méthode est simple à réaliser et ne requiert pas de références pendant le mappage ; elle peut, en revanche, être coûteuse (si la table des pages est grande) et le chargement de la table des pages à chaque changement de contexte peut également être pénalisant l autre extrême, la table des pages peut résider intégralement en Le matériel n a alors besoin que d un seul registre qui pointe sur le début de la table des pages Cette conception permet de changer la mappe en modifiant un seul registre lors d un changement de contexte; elle présente bien sûr le désavantage de nécessiter une ou plusieurs références pour lire les entrées de la table des pages lors de l exécution de chaque instruction Pour cette raison, cette approche est rarement utilisée dans sa forme initiale Pour éviter d avoir des tables trop grandes en, de nombreux ordinateurs utilisent des tables de pages à plusieurs niveaux Ex : adresse virtuelle divisée en un champ PT de bits, un champ PT2 de bits et un champ déplacement de 2 bits (=> 2 2 pages de 4Ko) Les tables des pages à plusieurs niveaux évitent de garder en permanence toutes les tables des pages en ; en particulier, celles qui ne sont pas utilisées ne devraient pas être gardées en Ex: un prog de 2Mo divisé en parties de 4Mo La table des pages à plusieurs niveaux 2 4 PT Table des pages de plus haut niveau Table des pages de second niveau 2 4 Table des pages 5 des 4 Mo du haut 6 de la 7 2 La associative Les tables des pages des s paginées sont souvent gardées en en raison de leur tailles importantes ce qui occasionne un coût non négligeable sur la vitesse des ordinateurs Les concepteurs d ordinateurs sont conscients de ce problème et y ont remédié La solution mis en œuvre s appuie sur la constatation que la plupart des programmes effectuent un grand nombre de références à un petit nombre de pages ; de ce fait, une petite fraction des entrées de tables des pages sont souvent lues et les autres sont rarement utilisées La solution consiste à doter les ordinateurs d un composant matériel pour mapper les adresses virtuelles sur les adresses physiques sans passer par la table des pages Ce composant est appelé associative (ou parfois tampon de translation) Elle est en général intégré au MMU et consiste en un petit nombre d entrées (2) contenant les informations relatives à une page Lorsqu une adresse est présentée au MMU le matériel contrôle d abord si le numéro de page virtuelle est présent dans la associative ; s il le trouve la case est prise directement dans la associative sans passer par la table des pages; sinon le MMU effectue une recherche ordinaire dans la table des pages, puis il supprime une des entrées de la associative et la remplace par l entrée récemment trouvée La fraction de références trouvées dans la associative est appelée taux d impact (hit ratio), les performances sont d autant meilleures qu il est élevé lgorithmes de remplacements de page la suite d un défaut de page, le SE doit retirer une page de la pour libérer de la place pour la page manquante Si la page a été modifiée depuis son chargement en, il faut récrire sur le disque ; sinon le disque est déjà à jour, la page lue remplace simplement la page à supprimer La page à supprimer peut être choisie au hasard mais on améliore sensiblement les performances du système si on choisit une page peu utilisée Si on sélectionne une page très demandée, il est probable qu il faille la ramener rapidement en, ce qui entraîne une perte de temps inutile Les algorithmes de remplacement de page ont été très étudiés tant du point de vue théorique que pratique La bibliographie de Smith (978) répertorie plus de articles sur ce sujet, nous étudierons quelques uns de ces algorithmes 4

5 lgorithme de remplacement de page optimal Le meilleur algorithme de remplacement est facile à décrire mais impossible à mettre en œuvre Il consiste à associer à chaque page le nombre d instructions qui vont être exécutées avant que la page soit référencée L algorithme de remplacement page optimal consiste à retirer la page qui a le plus grand nombre Malheureusement cet algo est irréalisable car le SE ne peut pas connaître à l avance le moment où les différentes pages seront référencées On peut néanmoins implanter cet algorithme en exécutant le programme sur un simulateur qui mémorise toutes les références aux pages lors d un première exécution et qui utilise ces informations lors d un deuxième exécution On peut ainsi comparer les performances des différents algorithmes ; si par exemple, un SE donne des résultats qui sont inférieurs de % à ceux de l algo optimal, il est inutile de rechercher un meilleur algorithme lgorithme de remplacement d une page non récemment utilisée Pour effectuer des statistiques sur les pages utilisées, les ordinateurs associent à chaque page 2 bits d information : Le bit R est positionné chaque fois qu une page est référencée Le bit M est positionné quand on écrit dans une page Ces bits devant être mis à jour à chaque référence, il est essentiel que ce soit fait par le matériel ; dès qu un bit est mis à, il reste dans cet état jusqu à ce que le SE le remette à Ces 2 bits permettent de construire l algo de pagination suivant : u lancement d un processus, le SE met à les bits de toutes ses pages, périodiquement (par ex, à chaque interruption d horloge), le bit R est remis à pour différencier les pages récemment référencées des autres Lorsqu un défaut se produit, le SE parcourt toutes pages et les répartit en 4 catégories fonction des valeurs de R et M : Catégorie : non référencée, non modifiée Catégorie : non référencée, modifiée Catégorie 2 : référencée, non modifiée Catégorie : référencée, modifiée L algo de la page non récemment utilisée ou NRU (Not Recently Used) retire une page au hasard de la catégorie non vide de plus petit numéro NRU est facile à comprendre, relativement efficace et fournit des performances qui sont souvent suffisantes même si elles ne sont pas optimales lgorithme de remplacement de page premier entré, premier sorti Un deuxième algo qui requiert peu de temps processeur est l algorithme du premier entré, premier sorti ou FIFO (First In First Out) Le SE mémorise une liste de toutes les pages en, la première page de cette liste étant la plus ancienne et la dernière la plus récente ; lorsqu il se produit un défaut de page, on retire la première page de la liste et on place la nouvelle page à la fin de la liste Cet algorithme fournit de piètre performance Pour l illustrer, considérez un épicier qui possède k étagères chacune pouvant contenir un produit différent ; un fabriquant crée un nouveau produit qui a tellement de succès que l épicier doit abandonner un ancien produit pour le mettre en étalage L épicier décide de se séparer du produit qu il vend depuis le plus longtemps Si ce produit est le sel, la farine ou le sucre il est clair que ce choix est mauvais! Pour cette raison, l algorithme FIFO est rarement utilisé dans sa forme originale lgorithme de remplacement de page de la seconde chance Une modification simple de FIFO, pour éviter de retirer une page très référencée, consiste à tester le bit R de la page la plus ancienne : S il est à, la page est à la fois âgée et non utilisée et peut donc être remplacée immédiatement S il est à, la page est placée à la fin de liste des pages et son temps de chargement est mis à jour comme si elle venait d être chargée en ; puis la recherche se poursuit L algorithme de la seconde chance cherche donc une ancienne page qui n a pas été référencée au cours du dernier top d horloge Si toutes les pages ont été référencées, l algo de la seconde chance est équivalent au FIFO, puisque les bis de chaque page seront mis à et la plus ancienne page sera remplacée lgorithme de remplacement de page de l horloge L algorithme de la seconde chance n est pas suffisamment efficace car il déplace en permanence des pages dans une liste Une meilleure solution consiste à garder les pages dans une file circulaire en forme d horloge Lorsqu un défaut de page se produit, la page pointée est testée L action entreprise dépend du bit R : R= : retirer la page R= : mettre R à et avancer pointeur Lorsqu un défaut de page se produit, la page pointée par l indicateur est examinée ; si R=, la page est retirée, la nouvelle est insérée à sa place dans l horloge et l indicateur avancé d une position ; si R=, il est mis à et l indicateur pointe sur la page suivante ; cette opération est répétée jusqu à ce qu une page ayant R= soit trouvée Cet algo, appelé horloge, ne diffère de l algorithme de la seconde chance qu au niveau de la mise en oeuvre lgo de remplacement de la page la moins récemment utilisée () Une bonne approximation de l algo optimal se fonde sur l observation que les pages les plus référencées au cours des dernières instructions seront probablement très utilisées au cours des prochaines l inverse, les pages qui n ont pas été référencées pendant un long moment ne seront pas probablement demandées pendant un certain temps Cette observation suggère l algo qui, lorsqu il se produit un défaut de page, supprime la page qui est restée inutilisée pendant le plus de temps Cette stratégie est celle de la page la moins récemment utilisée ou pagination LRU (Least Recently Used) LRU est théoriquement rélaisable mais il est très coûteux, il faut en effet mémoriser une liste chaînée de toutes les pages en, la page la plus utilisée étant en tête et la moins utilisée en queue La difficulté vient du fait que cette liste doit être mise à jour chaque fois que la est adressée : trouver une page dans la liste, la supprimer puis la dépalcer au début de la liste sont des opérations qui consomment beaucoup de temps CPU Il faut soit avoir du matériel spécialisé (et onéreux), soit trouver une approximation logicielle moins coûteuse 5

6 lgo de remplacement de la page la moins récemment utilisée (2) La recherche et la modification d une liste chaînée à chaque instruction prennent du temps même lorsque ces opérations sont effectuées matériellement Il existe néanmoins d autres moyens pour mettre en œuvre LRU en faisant toujours appel à du matériel spécialisé La méthode la plus simple consiste à disposer d un compteur C de 64 bits qui est automatiquement incrémenté à chaque instruction ; de plus chaque entrée dans la table des pages doit avoir un champ suffisamment grand pour contenir ce compteur Chaque fois que la est adressée, la valeur courante de C est sauvegardée dans l entrée de la page référencée Lorsqu un défaut se produit, le SE examine tous les compteurs de la table des pages pour trouver le plus petit d entre eux : la page correspondante est la moins récemment utilisée lgo de remplacement de la page la moins récemment utilisée () Une seconde solution matérielle consiste à disposer d un matériel mémorisant une matrice de n n bits initialement nulle Quand une page k est référencée, le matériel positionne tous les bits de la rangée k à puis tous les bits de la colonne k à tout instant la ligne contenant le de indique la page la récemment utilisée Ex : 4 cases et les références aux pages suivantes : Simulation logicielle de l algo LRU Les 2 algos précédents sont rélaisables mais font appel à du matériel spécialisé, si l on dispose pas de ce matériel, il faut trouver une solution logicielle : l algorithme de la page peu utilisée ou NFU (Not Frequently Used) Il nécessite un compteur par page, ce compteur est initialement à chaque interruption d horloge, le système d exploitation passe en revue toutes les pages en et le bit R est ajouté à son compteur Les compteurs mémorisent donc le nombre de fois où on référence les différentes pages; quand il se produit un défaut de page, on remplace la page dont le compteur est le plus petit Le problème de NFU est qu il n oublie jamais rien (des pages énormément utilisées au début processus et qui ne sont plus utilisées resteront probablement mappé) Il existe une légère modification qui permet à NFU de se comporter comme LRU lgorithme du veillissement Cette modification se fait en 2 temps : Décaler les compteurs vers la droite avant de les additionner Le bit R est additionné au bit de gauche (de poids fort) Ce nouvel algorithme s appelle l algorithme du vieillissement (aging) la suite d un défaut de page, on retire la page qui a le plus petit compteur Cet algorithme diffère de LRU en deux points : En mémorisant qu un seul bit par intervalle de temps, on ne peut distinguer les références qui se produisent au début de l intervalle de celles qui se produisent à la fin (idem pour le nombre de références à une même page durant un top d horloge) Le compteur de l algorithme du vieillissement a un nombre fini (n) de bits ; supposez que 2 pages qui ont leurs compteurs à, il faut choisir au hasard alors qu il se peut qu une des 2 pages ait été référencé n+ tops plus tôt et l autre n tops plus tôt : il n y a aucun moyen de le savoir Dans la pratique un compteur de 8 bits est suffisant si les tops d horloge se produisent toutes les 2 ms (si un page n est pas référencée depuis 6 ms, elle n est vraisemblablement plus utilisée) Conclusion () Conclusion (2) Nous avons traité dans ce chapitre la gestion de la Nous avons vu que les systèmes les plus simples n effectuent pas de va-et-vient (swapping) : un programme chargé en y reste jusqu à ce qu il se termine certains systèmes n acceptent qu un seul processus à la fois alors que d autres autorisent la multiprogrammation Puis nous avons étudié le va-et-vient : Lorsqu il est utilisé, le système accepte davantage de processus qu il n a de place Les processus qui ne peuvent plus tenir en sont déplacés sur disque L espace libre en et sur le disque peut être mémorisé au moyen d une table de bits, d une liste de zones libres ou de l allocation par subdivision Les ordinateurs les plus évolués disposent d une virtuelle : Dans la forme la + simple de virtuelle, l espace d adressage de chaque processus est divisé en blocs de tailles fixe appelés pages qui peuvent être placés dans n importe quelle case libre de la Lorsque la taille des tables de pages est grande, une pagination à plusieurs niveaux autorise la pagination des tables de pages elles-mêmes Pour améliorer les performances, la plupart des ordinateurs autorisant la pagination possèdent une associative : Elle permet d établir rapidement la correspondance entre un numéro de page virtuel et un numéro de case physique La table des pages est examinée uniquement en cas d absence de l adresse virtuelle dans la associative Il existe de nombreux algorithmes de remplacement de page : Quelques-uns sont bons mais irréalisables (algo du remplacement optimal et LRU) Les algorithmes de l horloge et du vieillissement figurent parmi les meilleurs Il existe une alternative à la pagination pour obtenir de la virtuelle : la segmentation (non étudié) Elle consiste à segmenter le processus (comme pour les partitions variables) L adressage virtuelle est obtenu en donnant un numéro de segment et une adresse dans ce segment La segmentation peut également être paginée, on parle de segmentation avec pagination 6

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

Systèmes d Exploitation - ENSIN6U3. Aix-Marseille Université

Systèmes d Exploitation - ENSIN6U3. Aix-Marseille Université Systèmes d Exploitation - ENSIN6U3 Gestion de la mémoire Leonardo Brenner 1 Jean-Luc Massat 2 1 Leonardo.Brenner@univ-amu.fr 2 Jean-Luc.Massat@univ-amu.fr Aix-Marseille Université Faculté des Sciences

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

Systemes d'exploitation des ordinateurs

Systemes d'exploitation des ordinateurs ! " #$ % $ &' ( $ plan_ch6_m1 Systemes d'exploitation des ordinateurs Conception de Systèmes de Gestion de la Mémoire Centrale Objectifs 1. Conception de systèmes paginés 2. Conception des systèmes segmentés

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

LA mémoire principale est le lieu où se trouvent les programmes et les

LA mémoire principale est le lieu où se trouvent les programmes et les Chapitre 9 Gestion de la mémoire LA mémoire principale est le lieu où se trouvent les programmes et les données quand le processeur les exécute. On l oppose au concept de mémoire secondaire, représentée

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

SGM. Master S.T.S. mention informatique, première année. Isabelle Puaut. Septembre 2011. Université de Rennes I - IRISA

SGM. Master S.T.S. mention informatique, première année. Isabelle Puaut. Septembre 2011. Université de Rennes I - IRISA SGM Master S.T.S. mention informatique, première année Isabelle Puaut Université de Rennes I - IRISA Septembre 2011 Isabelle Puaut SGM 2 / 1 Organisation de l enseignement Semestre 1 : processus, synchronisation

Plus en détail

GESTION DE LA MEMOIRE

GESTION DE LA MEMOIRE GESTION DE LA MEMOIRE MEMOIRE CENTRALE (MC) MEMOIRE SECONDAIRE (MS) 1. HIÉRARCHIE ET DIFFÉRENTS TYPES DE MÉMOIRE... 2 2. MÉMOIRE CACHE... 3 3. MODÈLE D'ALLOCATION CONTIGUË (MC OU MS)... 5 3.1. STRATÉGIE

Plus en détail

Cours Informatique 1. Monsieur SADOUNI Salheddine

Cours Informatique 1. Monsieur SADOUNI Salheddine Cours Informatique 1 Chapitre 2 les Systèmes Informatique Monsieur SADOUNI Salheddine Un Système Informatique lesystème Informatique est composé de deux parties : -le Matériel : constitué de l unité centrale

Plus en détail

Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application

Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application Université de Provence Licence Math-Info Première Année V. Phan Luong Algorithmique et Programmation en Python Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application 1 Ordinateur Un

Plus en détail

IV- Comment fonctionne un ordinateur?

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

Plus en détail

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

Arithmétique binaire. Chapitre. 5.1 Notions. 5.1.1 Bit. 5.1.2 Mot

Arithmétique binaire. Chapitre. 5.1 Notions. 5.1.1 Bit. 5.1.2 Mot Chapitre 5 Arithmétique binaire L es codes sont manipulés au quotidien sans qu on s en rende compte, et leur compréhension est quasi instinctive. Le seul fait de lire fait appel au codage alphabétique,

Plus en détail

Introduction aux SGBDR

Introduction aux SGBDR 1 Introduction aux SGBDR Pour optimiser une base Oracle, il est important d avoir une idée de la manière dont elle fonctionne. La connaissance des éléments sous-jacents à son fonctionnement permet de mieux

Plus en détail

Cours de Systèmes d Exploitation

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

Plus en détail

NIMEGUE V3. Fiche technique 3.07 : Sauvegarde / Restauration manuelle

NIMEGUE V3. Fiche technique 3.07 : Sauvegarde / Restauration manuelle NIMEGUE V3 Fiche technique 3.07 : Sauvegarde / Restauration manuelle Version au 2 mai 2011 Toute donnée mémorisée sur un ordinateur, quelque soit le support, peut-être supprimée/effacée suite à un dysfonctionnement

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

ASR1 TD7 : Un microprocesseur RISC 16 bits

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

Plus en détail

Concept de machine virtuelle

Concept de machine virtuelle Concept de machine virtuelle Chap. 5: Machine virtuelle Alain Sandoz Semestre été 2007 1 Introduction: Java Virtual Machine Machine Virtuelle Java: qu est-ce que c est? c est la spécification d une machine

Plus en détail

Licence Sciences et Technologies Examen janvier 2010

Licence Sciences et Technologies Examen janvier 2010 Université de Provence Introduction à l Informatique Licence Sciences et Technologies Examen janvier 2010 Année 2009-10 Aucun document n est autorisé Les exercices peuvent être traités dans le désordre.

Plus en détail

Systèmes d Exploitation - ENSIN6U3. Aix-Marseille Université

Systèmes d Exploitation - ENSIN6U3. Aix-Marseille Université Systèmes d Exploitation - ENSIN6U3 Systèmes de gestion de fichiers - SGF Leonardo Brenner 1 Jean-Luc Massat 2 1 Leonardo.Brenner@univ-amu.fr 2 Jean-Luc.Massat@univ-amu.fr Aix-Marseille Université Faculté

Plus en détail

Sur un ordinateur portable ou un All-in-One tactile, la plupart des éléments mentionnés précédemment sont regroupés. 10) 11)

Sur un ordinateur portable ou un All-in-One tactile, la plupart des éléments mentionnés précédemment sont regroupés. 10) 11) 1/ Généralités : Un ordinateur est un ensemble non exhaustif d éléments qui sert à traiter des informations (documents de bureautique, méls, sons, vidéos, programmes ) sous forme numérique. Il est en général

Plus en détail

Ne laissez pas le stockage cloud pénaliser votre retour sur investissement

Ne laissez pas le stockage cloud pénaliser votre retour sur investissement Ne laissez pas le stockage cloud pénaliser votre retour sur investissement Préparé par : George Crump, analyste senior Préparé le : 03/10/2012 L investissement qu une entreprise fait dans le domaine de

Plus en détail

SYS MEM. Gestion de la mémoire. Table des matières. IUT - Département Informatique. ASR2-Système. 1.1 Motivation

SYS MEM. Gestion de la mémoire. Table des matières. IUT - Département Informatique. ASR2-Système. 1.1 Motivation TABLE DES MATIÈRES 1 MÉMOIRE ET MULTI-PROGRAMMATION IUT - Département Informatique ASR2-Système Gestion de la mémoire SYS MEM Table des matières 1 Mémoire et multi-programmation 1 1.1 Motivation...................

Plus en détail

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

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

Plus en détail

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

Représentation des Nombres

Représentation des Nombres Chapitre 5 Représentation des Nombres 5. Representation des entiers 5.. Principe des représentations en base b Base L entier écrit 344 correspond a 3 mille + 4 cent + dix + 4. Plus généralement a n a n...

Plus en détail

Techniques de stockage. Techniques de stockage, P. Rigaux p.1/43

Techniques de stockage. Techniques de stockage, P. Rigaux p.1/43 Techniques de stockage Techniques de stockage, P. Rigaux p.1/43 Techniques de stockage Contenu de ce cours : 1. Stockage de données. Supports, fonctionnement d un disque, technologie RAID 2. Organisation

Plus en détail

Gestion de mémoire secondaire F. Boyer, Laboratoire Sardes Fabienne.Boyer@imag.fr

Gestion de mémoire secondaire F. Boyer, Laboratoire Sardes Fabienne.Boyer@imag.fr Gestion de mémoire secondaire F. Boyer, Laboratoire Sardes Fabienne.Boyer@imag.fr 1- Structure d un disque 2- Ordonnancement des requêtes 3- Gestion du disque - formatage - bloc d amorçage - récupération

Plus en détail

SYSTÈME DE GESTION DE FICHIERS

SYSTÈME DE GESTION DE FICHIERS SYSTÈME DE GESTION DE FICHIERS - DISQUE 1 Les couches logiciels réponse requête Requêtes E/S Système E/S Pilote E/S Interruptions utilisateur traitement S.E. commandes S.E. S.E. matériel Contrôleur E/S

Plus en détail

Chapitre 4 : Les mémoires

Chapitre 4 : Les mémoires 1. Introduction: Chapitre 4 : Les mémoires Nous savons que dans un ordinateur toutes les informations : valeur numérique, instruction, adresse, symbole (chiffre, lettre,... etc.) sont manipulées sous une

Plus en détail

Bases de programmation. Cours 5. Structurer les données

Bases de programmation. Cours 5. Structurer les données Bases de programmation. Cours 5. Structurer les données Pierre Boudes 1 er décembre 2014 This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License. Types char et

Plus en détail

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE

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

Plus en détail

CH.3 SYSTÈMES D'EXPLOITATION

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

Plus en détail

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

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

Plus en détail

MICROINFORMATIQUE NOTE D APPLICATION 1 (REV. 2011) ARITHMETIQUE EN ASSEMBLEUR ET EN C

MICROINFORMATIQUE NOTE D APPLICATION 1 (REV. 2011) ARITHMETIQUE EN ASSEMBLEUR ET EN C Haute Ecole d Ingénierie et de Gestion Du Canton du Vaud MICROINFORMATIQUE NOTE D APPLICATION 1 (REV. 2011) ARITHMETIQUE EN ASSEMBLEUR ET EN C Programmation en mode simulation 1. DOCUMENTS DE RÉFÉRENCE...

Plus en détail

Conventions d écriture et outils de mise au point

Conventions d écriture et outils de mise au point Logiciel de base Première année par alternance Responsable : Christophe Rippert Christophe.Rippert@Grenoble-INP.fr Introduction Conventions d écriture et outils de mise au point On va utiliser dans cette

Plus en détail

Travaux pratiques. Compression en codage de Huffman. 1.3. Organisation d un projet de programmation

Travaux pratiques. Compression en codage de Huffman. 1.3. Organisation d un projet de programmation Université de Savoie Module ETRS711 Travaux pratiques Compression en codage de Huffman 1. Organisation du projet 1.1. Objectifs Le but de ce projet est d'écrire un programme permettant de compresser des

Plus en détail

Solution A La Gestion Des Objets Java Pour Des Systèmes Embarqués

Solution A La Gestion Des Objets Java Pour Des Systèmes Embarqués International Journal of Engineering Research and Development e-issn: 2278-067X, p-issn: 2278-800X, www.ijerd.com Volume 7, Issue 5 (June 2013), PP.99-103 Solution A La Gestion Des Objets Java Pour Des

Plus en détail

Projet d informatique M1BI : Compression et décompression de texte. 1 Généralités sur la compression/décompression de texte

Projet d informatique M1BI : Compression et décompression de texte. 1 Généralités sur la compression/décompression de texte Projet d informatique M1BI : Compression et décompression de texte Le but de ce projet est de coder un programme réalisant de la compression et décompression de texte. On se proposera de coder deux algorithmes

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

AUJOUR'HUI, NOUS ALLONS DÉCOUVRIR

AUJOUR'HUI, NOUS ALLONS DÉCOUVRIR CHUTT!!!!! NOUS ALLONS COMMENCER! AUJOUR'HUI, NOUS ALLONS DÉCOUVRIR l' ORDINATEUR Classeur voir) voir) (voir) POUR COMMENCER, UN PEU DE VOCABULAIRE POUR MIEUX COMPRENDRE CERTAINES ABREVIATIONS : Ordinateur

Plus en détail

Informatique Générale

Informatique Générale Informatique Générale Guillaume Hutzler Laboratoire IBISC (Informatique Biologie Intégrative et Systèmes Complexes) guillaume.hutzler@ibisc.univ-evry.fr Cours Dokeos 625 http://www.ens.univ-evry.fr/modx/dokeos.html

Plus en détail

Utiliser Glary Utilities

Utiliser Glary Utilities Installer Glary Utilities Après avoir téléchargé Glary Utilities sur le site "http://secured-download.com/softwares/1737-glary-utilities ", double-cliquez dessus pour lancer l'installation. Choisissez

Plus en détail

Partie 1. Professeur : Haouati Abdelali. CPGE Lycée Omar Ibn Lkhattab - Meknès www.haouati.com haouaticpge@gmail.com

Partie 1. Professeur : Haouati Abdelali. CPGE Lycée Omar Ibn Lkhattab - Meknès www.haouati.com haouaticpge@gmail.com Partie 1 Professeur : Haouati Abdelali CPGE Lycée Omar Ibn Lkhattab - Meknès www.haouati.com haouaticpge@gmail.com Partie I : Généralités et algorithmique de base 1. Environnement matériel et logiciel

Plus en détail

Impact des robots d indexation sur le cache de second niveau de SPIP IMBERTI Christophe - SG/SPSSI/CP2I/DO Ouest 06/06/2012 mis à jour le 05/07/2012

Impact des robots d indexation sur le cache de second niveau de SPIP IMBERTI Christophe - SG/SPSSI/CP2I/DO Ouest 06/06/2012 mis à jour le 05/07/2012 Impact des robots d indexation sur le cache de second niveau de SPIP IMBERTI Christophe - SG/SPSSI/CP2I/DO Ouest 06/06/2012 mis à jour le 05/07/2012 SOMMAIRE 1. LE CONSTAT... 2 2. L EXPLICATION... 2 3.

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

Leçon 1 : Les principaux composants d un ordinateur

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

Plus en détail

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

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

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

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

Plus en détail

Ordinateurs, Structure et Applications

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

Plus en détail

On distingue deux grandes catégories de mémoires : mémoire centrale (appelée également mémoire interne)

On distingue deux grandes catégories de mémoires : mémoire centrale (appelée également mémoire interne) Mémoire - espace destiné a recevoir, conserver et restituer des informations à traiter - tout composant électronique capable de stocker temporairement des données On distingue deux grandes catégories de

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

Rappels d architecture

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

Plus en détail

Démarrer et quitter... 13

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

Plus en détail

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

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

Plus en détail

Programmation parallèle et distribuée

Programmation parallèle et distribuée Programmation parallèle et distribuée (GIF-4104/7104) 5a - (hiver 2015) Marc Parizeau, Département de génie électrique et de génie informatique Plan Données massives («big data») Architecture Hadoop distribution

Plus en détail

Chapitre 4 : Exclusion mutuelle

Chapitre 4 : Exclusion mutuelle Chapitre 4 : Exclusion mutuelle Pierre Gançarski Juillet 2004 Ce support de cours comporte un certain nombre d erreurs : je décline toute responsabilité quant à leurs conséquences sur le déroulement des

Plus en détail

Matériel & Logiciels (Hardware & Software)

Matériel & Logiciels (Hardware & Software) CHAPITRE 2 HARDWARE & SOFTWARE P. 1 Chapitre 2 Matériel & Logiciels (Hardware & Software) 2.1 Matériel (Hardware) 2.1.1 Présentation de l'ordinateur Un ordinateur est un ensemble de circuits électronique

Plus en détail

TP 1 Prise en main de l environnement Unix

TP 1 Prise en main de l environnement Unix Introduction aux systèmes d exploitation (IS1) TP 1 Prise en main de l environnement Unix Le but de ce premier TP est de commencer à vous familiariser avec l environnement Unix. 1 Ouverture de session

Plus en détail

SYSTÈME DE GESTION DE FICHIERS SGF - DISQUE

SYSTÈME DE GESTION DE FICHIERS SGF - DISQUE SYSTÈME DE GESTION DE FICHIERS SGF - DISQUE C.Crochepeyre MPS_SGF 2000-20001 Diapason 1 Les couches logiciels réponse SGF requête matériel matériel Requêtes E/S Système E/S Pilote E/S Interruptions Contrôleur

Plus en détail

Réseaux grande distance

Réseaux grande distance Chapitre 5 Réseaux grande distance 5.1 Définition Les réseaux à grande distance (WAN) reposent sur une infrastructure très étendue, nécessitant des investissements très lourds. Contrairement aux réseaux

Plus en détail

Structure de base d un ordinateur

Structure de base d un ordinateur Structure de base d un ordinateur 1-Définition de l ordinateur L ordinateur est un appareil électronique programmable qui traite automatiquement les informations. Il est constitué de l unité centrale et

Plus en détail

Bases de données documentaires et distribuées Cours NFE04

Bases de données documentaires et distribuées Cours NFE04 Bases de données documentaires et distribuées Cours NFE04 Introduction a la recherche d information Auteurs : Raphaël Fournier-S niehotta, Philippe Rigaux, Nicolas Travers prénom.nom@cnam.fr Département

Plus en détail

M06/5/COMSC/SP1/FRE/TZ0/XX INFORMATIQUE NIVEAU MOYEN ÉPREUVE 1. Mardi 2 mai 2006 (après-midi) 1 heure 30 minutes INSTRUCTIONS DESTINÉES AUX CANDIDATS

M06/5/COMSC/SP1/FRE/TZ0/XX INFORMATIQUE NIVEAU MOYEN ÉPREUVE 1. Mardi 2 mai 2006 (après-midi) 1 heure 30 minutes INSTRUCTIONS DESTINÉES AUX CANDIDATS IB INFORMATIQUE NIVEAU MOYEN ÉPREUVE 1 DIPLOMA PROGRAMME PROGRAMME DU DIPLÔME DU BI PROGRAMA DEL DIPLOMA DEL BI M06/5/COMSC/SP1/FRE/TZ0/XX 22067017 Mardi 2 mai 2006 (après-midi) 1 heure 30 minutes INSTRUCTIONS

Plus en détail

Génie Logiciel avec Ada. 4 février 2013

Génie Logiciel avec Ada. 4 février 2013 Génie Logiciel 4 février 2013 Plan I. Généralités II. Structures linéaires III. Exceptions IV. Structures arborescentes V. Dictionnaires I. Principes II. Notions propres à la POO I. Principes Chapitre

Plus en dé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

Hiérarchie matériel dans le monde informatique. Architecture d ordinateur : introduction. Hiérarchie matériel dans le monde informatique

Hiérarchie matériel dans le monde informatique. Architecture d ordinateur : introduction. Hiérarchie matériel dans le monde informatique Architecture d ordinateur : introduction Dimitri Galayko Introduction à l informatique, cours 1 partie 2 Septembre 2014 Association d interrupteurs: fonctions arithmétiques élémentaires Elément «NON» Elément

Plus en détail

Les bases de l optimisation SQL avec DB2 for i

Les bases de l optimisation SQL avec DB2 for i Les bases de l optimisation SQL avec DB2 for i Christian GRIERE cgriere@fr.ibm.com Common Romandie 3 mai 2011 Les fleurs et les requêtes Lorsque l on veut planter de nouvelles fleurs dans un jardin il

Plus en détail

GUIDE PRATIQUE DE L INDEXEUR : LES PRINCIPES DE L INDEXATION COLLABORATIVE

GUIDE PRATIQUE DE L INDEXEUR : LES PRINCIPES DE L INDEXATION COLLABORATIVE GUIDE PRATIQUE DE L INDEXEUR : LES PRINCIPES DE L INDEXATION COLLABORATIVE Qu est-ce que l indexation ou annotation- collaborative? Ce procédé permet aux internautes de participer directement à l indexation

Plus en détail

Architecture des ordinateurs TD1 - Portes logiques et premiers circuits

Architecture des ordinateurs TD1 - Portes logiques et premiers circuits Architecture des ordinateurs TD1 - Portes logiques et premiers circuits 1 Rappel : un peu de logique Exercice 1.1 Remplir la table de vérité suivante : a b a + b ab a + b ab a b 0 0 0 1 1 0 1 1 Exercice

Plus en détail

CARPE. Documentation Informatique S E T R A. Version 2.00. Août 2013. CARPE (Documentation Informatique) 1

CARPE. Documentation Informatique S E T R A. Version 2.00. Août 2013. CARPE (Documentation Informatique) 1 CARPE (Documentation Informatique) 1 CARPE Version 2.00 Août 2013 Documentation Informatique S E T R A Programme CARPE - Manuel informatique de l'utilisateur CARPE (Documentation Informatique) 2 Table

Plus en détail

RACCOURCIS CLAVIERS. DEFINITION : Une «combinaison de touches» est un appui simultané sur plusieurs touches.

RACCOURCIS CLAVIERS. DEFINITION : Une «combinaison de touches» est un appui simultané sur plusieurs touches. S Vous n aimez pas la souris Les raccourcis clavier sont là pour vous faciliter la vie! INTRODUCTION : Vous avez du mal à vous habituer à la manipulation de la souris Des solutions existent : les raccourcis

Plus en détail

Importance de la défragmentation en environnements virtuels

Importance de la défragmentation en environnements virtuels Importance de la défragmentation en environnements virtuels Un livre blanc Osterman Research, Inc. Table des Matières Pourquoi lire ce livre blanc?... À propos de ce livre blanc... Raisons de l importance

Plus en détail

Session S12 Les bases de l optimisation SQL avec DB2 for i

Session S12 Les bases de l optimisation SQL avec DB2 for i Session S12 Les bases de l optimisation SQL avec DB2 for i C. GRIERE cgriere@fr.ibm.com STG Lab Services IBM i Avril 2012 Les fleurs et les requêtes SQL Lorsque l on veut planter de nouvelles fleurs dans

Plus en détail

PC Check & Tuning 2010 Optimisez et accélérez rapidement et simplement les performances de votre PC!

PC Check & Tuning 2010 Optimisez et accélérez rapidement et simplement les performances de votre PC! PC Check & Tuning 2010 Optimisez et accélérez rapidement et simplement les performances de votre PC! MAGIX PC Check & Tuning 2010 est la solution logicielle complète pour l'analyse, la maintenance et l'accélération

Plus en détail

Probabilités. Rappel : trois exemples. Exemple 2 : On dispose d un dé truqué. On sait que : p(1) = p(2) =1/6 ; p(3) = 1/3 p(4) = p(5) =1/12

Probabilités. Rappel : trois exemples. Exemple 2 : On dispose d un dé truqué. On sait que : p(1) = p(2) =1/6 ; p(3) = 1/3 p(4) = p(5) =1/12 Probabilités. I - Rappel : trois exemples. Exemple 1 : Dans une classe de 25 élèves, il y a 16 filles. Tous les élèves sont blonds ou bruns. Parmi les filles, 6 sont blondes. Parmi les garçons, 3 sont

Plus en détail

UTILISATION DE LA BORNE PAR LE CLIENT

UTILISATION DE LA BORNE PAR LE CLIENT Page1 UTILISATION DE LA BORNE PAR LE CLIENT Achat de carte de lavage en carte bancaire Page 3 et 4 Achat de carte de lavage en billet Page 5 et 6 Rechargement de la carte de lavage en carte bancaire Page

Plus en détail

Atelier C TIA Portal CTIA06 : programmation des automates S7-300 Blocs d organisation

Atelier C TIA Portal CTIA06 : programmation des automates S7-300 Blocs d organisation Atelier C TIA Portal CTIA06 : programmation des automates S7-300 Blocs d organisation CTIA06 Page 1 1. Types de blocs de programme L automate met à disposition différents types de blocs qui contiennent

Plus en détail

Organiser le disque dur Dossiers Fichiers

Organiser le disque dur Dossiers Fichiers Ce document contient des éléments empruntés aux pages d aide de Microsoft Organiser le disque dur Dossiers Fichiers Généralités La connaissance de la logique d organisation des données sur le disque dur

Plus en détail

Création de maquette web

Création de maquette web Création de maquette web avec Fireworks Il faut travailler en 72dpi et en pixels, en RVB Fireworks étant un logiciel dédié à la création de maquettes pour le web il ne propose que les pixels pour le texte

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

GUIDE Excel (version débutante) Version 2013

GUIDE Excel (version débutante) Version 2013 Table des matières GUIDE Excel (version débutante) Version 2013 1. Créer un nouveau document Excel... 3 2. Modifier un document Excel... 3 3. La fenêtre Excel... 4 4. Les rubans... 4 5. Saisir du texte

Plus en détail

1. Systèmes d entrée/sortie 2. Systèmes de fichiers 3. Structure de mémoire de masse (disques)

1. Systèmes d entrée/sortie 2. Systèmes de fichiers 3. Structure de mémoire de masse (disques) Chapitre 4 Le système de Gestion de Fichiers 1. Systèmes d entrée/sortie 2. Systèmes de fichiers 3. Structure de mémoire de masse (disques) 1 Systèmes d entrée/sortie Concepts importants : Matériel E/S

Plus en détail

Ensimag 1ère année Algorithmique 1 Examen 2ième session 24 juin 2010. Algorithmique 1

Ensimag 1ère année Algorithmique 1 Examen 2ième session 24 juin 2010. Algorithmique 1 Algorithmique 1 Durée : 2h Machines électroniques interdites Tous documents papiers autorisés Il est conseillé de traiter les deux parties dans l ordre du sujet. Veuillez respecter les notations introduites

Plus en détail

Nouvelles propositions pour la résolution exacte du sac à dos multi-objectif unidimensionnel en variables binaires

Nouvelles propositions pour la résolution exacte du sac à dos multi-objectif unidimensionnel en variables binaires Nouvelles propositions pour la résolution exacte du sac à dos multi-objectif unidimensionnel en variables binaires Julien Jorge julien.jorge@univ-nantes.fr Laboratoire d Informatique de Nantes Atlantique,

Plus en détail

UNE EXPERIENCE, EN COURS PREPARATOIRE, POUR FAIRE ORGANISER DE L INFORMATION EN TABLEAU

UNE EXPERIENCE, EN COURS PREPARATOIRE, POUR FAIRE ORGANISER DE L INFORMATION EN TABLEAU Odile VERBAERE UNE EXPERIENCE, EN COURS PREPARATOIRE, POUR FAIRE ORGANISER DE L INFORMATION EN TABLEAU Résumé : Cet article présente une réflexion sur une activité de construction de tableau, y compris

Plus en détail

Tests de performance du matériel

Tests de performance du matériel 3 Tests de performance du matériel Après toute la théorie du dernier chapitre, vous vous demandez certainement quelles sont les performances réelles de votre propre système. En fait, il y a plusieurs raisons

Plus en détail

Conseils et astuces pour un déploiement réussi de la solution VMware Mirage

Conseils et astuces pour un déploiement réussi de la solution VMware Mirage Conseils et astuces pour un déploiement réussi de la solution VMware Mirage Entrez le nom de l animateur ici 2014 VMware Inc. Tous droits réservés. Sommaire 1 Qu est-ce que VMware Mirage? 2 Quelles sont

Plus en détail

Atelier C TIA Portal CTIA04 : Programmation des automates S7-300 Opérations numériques

Atelier C TIA Portal CTIA04 : Programmation des automates S7-300 Opérations numériques Atelier C TIA Portal CTIA04 : Programmation des automates S7-300 Opérations numériques CTIA04 Page 1 1. Les types de données sous S7 300 Il existe plusieurs types de données utilisées pour la programmation

Plus en détail

1 de 46. Algorithmique. Trouver et Trier. Florent Hivert. Mél : Florent.Hivert@lri.fr Page personnelle : http://www.lri.fr/ hivert

1 de 46. Algorithmique. Trouver et Trier. Florent Hivert. Mél : Florent.Hivert@lri.fr Page personnelle : http://www.lri.fr/ hivert 1 de 46 Algorithmique Trouver et Trier Florent Hivert Mél : Florent.Hivert@lri.fr Page personnelle : http://www.lri.fr/ hivert 2 de 46 Algorithmes et structures de données La plupart des bons algorithmes

Plus en détail

SUPPORT DE COURS LOGICIEL SAGE SAARI COMPTABILITE 100

SUPPORT DE COURS LOGICIEL SAGE SAARI COMPTABILITE 100 SUPPORT DE COURS LOGICIEL SAGE SAARI COMPTABILITE 100 SOMMAIRE Page INTRODUCTION Schéma descriptif des étapes du paramétrage du fichier comptable I CREATION DE FICHIER COMPTABLE I 1 Création du fichier

Plus en détail

1 Mesure de la performance d un système temps réel : la gigue

1 Mesure de la performance d un système temps réel : la gigue TP TR ENSPS et MSTER 1 Travaux Pratiques Systèmes temps réel et embarqués ENSPS ISV et Master TP1 - Ordonnancement et communication inter-processus (IPC) Environnement de travail Un ordinateur dual-core

Plus en détail

Améliorer l expérience utilisateur en environnement TSE (Terminal Services, Services Bureau à distance, Remote App)

Améliorer l expérience utilisateur en environnement TSE (Terminal Services, Services Bureau à distance, Remote App) Améliorer l expérience utilisateur en environnement TSE (Terminal Services, Services Bureau à distance, Remote App) Contrairement à ce que la plupart des gens pensent, on peut bénéficier, en environnement

Plus en détail

EXCEL TUTORIEL 2012/2013

EXCEL TUTORIEL 2012/2013 EXCEL TUTORIEL 2012/2013 Excel est un tableur, c est-à-dire un logiciel de gestion de tableaux. Il permet de réaliser des calculs avec des valeurs numériques, mais aussi avec des dates et des textes. Ainsi

Plus en détail

Réaliser la fiche de lecture du document distribué en suivant les différentes étapes de la méthodologie (consulter le support du TD!

Réaliser la fiche de lecture du document distribué en suivant les différentes étapes de la méthodologie (consulter le support du TD! Réaliser la fiche de lecture du document distribué en suivant les différentes étapes de la méthodologie (consulter le support du TD!) 1. Réaliser la note sur l auteur (bien lire le document, utiliser Internet)

Plus en détail