Systèmes d Exploitation & Machines Virtuelles. Format de l enseignement. Objectif du cours

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

Download "Systèmes d Exploitation & Machines Virtuelles. Format de l enseignement. Objectif du cours"

Transcription

1 Systèmes d Exploitation & Machines Virtuelles Architectures et Conception des logicielles de base pour les systèmes informatiques Par Gilles Grimaud Université des Sciences et Technologies de Lille Format de l enseignement 13 x 1h30 de cours Et 12 x 1h30 TD dont 1 CC et 1h30 TP 3 sujets de 4,5 heures 1 évaluation Objectifs Objectif du cours Acquérir des notions : d exploitation des matériels informatiques ; de sécurité fournies par les systèmes ; du rôle/activité des couches logicielles de base; d architecture des systèmes d exploitation. Maîtriser les principes fondateurs des systèmes d exploitation en vue de : Savoir utiliser les outils logiciels fournis ; Savoir concevoir des composants système.

2 Rôles et fonctions d un système d exploitation Un Système informatique est un ensemble cohérent de matériels et de logiciels destinés à assurer le traitement automatique d informations. Un tel système : 1. est relié au monde extérieur à l aide de circuit d accès (écran, imprimante, clavier, scanner, capteurs, liaison réseau, ) ; 2. gère l information (stockage, désignation, recherche, mise en forme, ) ; 3. cadre et opère la transformation de l information adaptés aux rôle du système informatique (exécution de programmes variés selon les besoins, ) ; Les supports fondamentaux de l informatique sont : les mécanismes de mémoires, les mécanismes de traitement, les mécanismes de communication. Du circuit électronique au document Web Vers des modèles de plus en plus abstraits Une montre à quartz est un système informatique : il stocke la «date» courante ; Il transforme cette information au cours du temps ; Il communique le résultat à l utilisateur du système. Bascules additionneurs Bascules Bascules mémoire traitement Quartz Cristaux liquides Un serveur Web est un système informatique : Il exploite un système de fichiers, ou une base de données ; pour produire un document spécifique ; qu il retransmet au client qui le lui a demandé. Internet B.D. Servlet & Php Fichier mémoire traitement communication communication Fonctions d un système d exploitation Avec des prétentions variables en fonction des différents besoin, les systèmes d exploitation assurent fondamentalement trois tâches : 1. Gérer le matériel ; 2. Fournir une abstraction du matériel ; 3. Fiabiliser/sécuriser/administrer l exécution des traitements.

3 Les débuts Petite Histoire des systèmes d exploitation 1ers Systèmes SDS 930 Temps partagé Multics Unix Systèmes graphique micro noyaux Exo noyaux Solaris Linux MS-DOS ST76 MS-Windows MacOS McOS TOS -X- Workbench Chorus MAC X-kernel VM Ware Quelques paradigmes pour la conception système Liaison Déf. : «relier une ressource (éventuellement matérielle) à un symbole. Permettre la manipulation de la ressource au travers de leur symbole.» Objet : permettre la manipulation symbolique des ressources, leurs partage entre plusieurs applications. Exemple : liaison entre nom de fichier est un flux. Abstraction Déf. : «abstraire, cacher, la complexité d une ressource (éventuellement matérielle) en proposant une interface logicielle simplifiée» Objet : réduire la complexité apparente du système informatique. Exemple : bibliothèques de bases. Virtualisation (Virtuel : qui pourrait être mais qui n est pas.) Déf. : «Remplacer l accès a un matériel réel par l accès à un matériel qui pourrait être mais qui n est pas» Objet : exposer un matériel réel ou imaginaire et néanmoins le gérer. Exemple : Système de mémoire virtuelle, Machines Virtuelle. clefs pour la programmation des systèmes d exploitation 1. Programmation en couche Principe de programmation par bibliothèques Appel de routines système Un système d exploitation peut être représenté au minimum comme un ensemble de bibliothèques logicielles qui fournissent des fonctions plus simple à manipuler que le matériel. Les systèmes d exploitation peuvent ce résumer à un ensemble de procédures fournies une bonne fois pour toutes pour simplifier l utilisation du matériel. Exemple : Un système de fichier.

4 Les systèmes d exploitation : une architecture de la tour de Babel? Application Application PHP Interprète PHP Serveur Web Logiciel de base Matériel Socket TCP Routage IP Pilote Ethernet Carte réseau abstraction administration gestion Le système d exploitation : Support pour applications Application 2 Application 1 Application 3 Support d exécution des applications Logiciel Pilote 1 Matériel 1 Logiciel Pilote 2 Matériel 2 Principes de la programmation des systèmes d exploitation 2. Intégration de l asynchronisme «La plus part du temps les programmes attendent un événement extérieur saisie d un mot au clavier, réception d un message via le réseau, signal de fin d impression de l imprimante» Entrelacer l exécution des programmes Un système d exploitation doit donner la main à un autre programme lorsqu un programme est en attende. Les systèmes d exploitation peuvent définir un ensemble de procédures de tel sorte qu une application soit «endormie» lorsqu elle attend quelque choses et qu elle soit «réveillée» lorsque les données sont reçues. Des tampons d émission et de réception permettent de temporiser les réveils et les endormissement des applications qui utilisent une ressource particulière. Exemple : Un gestionnaire d accès à un disque dur.

5 Principes de la programmation des systèmes d exploitation 3. Programmation par cadre de travail «On ne vous dit plus quelles procédures le système met à votre disposition, mais quand et pourquoi le système appellera vos procédures pour que votre programme fonctionne!» Appel en Retour Les systèmes d exploitation peuvent expliciter un ensemble de procédures que le programmeur d application doit définir et qui sont appelées lorsqu un événement relatif à une application se produit. Exemple : Un système de gestion de fenêtre graphique. Le système d exploitation : Cadre de travail pour applications Cadre de travail Application 1 Application 2 Support d exécution des applications Pilote 1 Matériel 1 Pilote 2 Matériel 2 le microprocesseur Rappel sur le fonctionnement d un µprocesseur (RISC) : 1. Lire une opération 2. Décoder 3. Lire les données entrantes 4. Exécuter l opération 5. Ecrire les données sortantes Clk IT données 32 ARM7 TDI 32 adresses 7 16 Registres indifférenciés PC = n 15; LR = n 14; (SP = n 13) Les opérations machines Unité Arithmétique & Logique : CCCC 00 I Op(4) S Rn(5) Rd(5) [Imm Rm]+LSL(12) Op = AND, EOR, SUB, RSB, ADD, ADC, SBC, RSC, TST, TEQ, CMP, CMN, ORR, MOV, BIC, MVN I = 0 Immediate I = 1 Register + Shift S = 0 don t set CC I = 1 Set Condition Code Accès mémoire : CCCC 01 IPUBWL Rn(5) Rd(5) [Imm Rm+LSL](12) I = 0 Immediate I = 1 Register + Shift P = 0 Post P = 1 pre U = 0 down U = 1 up B = 0 Word B = 1 Byte W = 0 no WriteBack W = 1 WriteBack L = 0 LOAD L = 1 STORE Flot de contrôle : CCCC 1010 Offset(24) ou CCCC x2FFF1 Rn BL offset, BX Rn Traitement des signaux matériels : déroutement pour les interruptions et exceptions.

6 Gérer le microprocesseur Charger un programme Copier en mémoire centrale l ensemble des mots mémoires qui constituent les opérations (machines) qui compose le programme à charger. Reloger les adresses mémoires du programme s il contient particulières. Exécuter un programme «Brancher» ou «sauter» sur la première instruction du programme chargé. Partager le temps d exécution entre programmes Utiliser les signaux interruptions basé sur le temps pour donner successivement la main à différents programmes : Signaux d horloge µ-proc Prog. n 1 Prog. n 2 Prog. n 1 Interruption Interruption Ordonnanceur Ordonnanceur Interruption Ordonnanceur Prog. n 2 S abstraire du microprocesseur Exécuter un programme c est faire pointer le registre «pointeur de programme» sur la première instruction machine. Au fur et à mesure des cycles d horloges, le programme s exécute. Comment un programme écrit en C, en PhP ou en Java fait dans ce contexte pour s exécuter sur un microprocesseur? Trois techniques de base pour s abstraire du langage machine : 1. les compilateurs : Convertir le fichier «source» dans le code «machine» Ensuite il est possible d exécuter le code «machine» ; 2. les interpréteurs : Exécuter un programme «machine» qui décode et exécute le source ; 3. les machines virtuelles : Définir un nouveau format de machine (virtuelle), puis compiler vers ce format et enfin décoder et exécuter ce format. S abstraire du microprocesseur : L exemple d Unix et du langage C Fichier code C example.c int foo(int i); int main( int argc, char **argv) { int i; i = 3 ; i = foo(i) ; } int foo(int i) { return i + 1 ; } Fichier assembleur example.s main STR lr,[sp,#-4]! MOV R0,#3 BL foo compilation MOV R0,#0 LDR lr,[sp],#4 BX lr foo ADD R0,R0,#1 BX lr Contenu binaire géré E5 2D E0 04 E3 A EB FF FF FC assemblage E3 A E4 9B E0 04 E1 2F FF 1E E E1 2F FF 1E

7 Les mémoires On peut qualifier les supports de mémoires disponibles selon trois critères : Registres & Mem interne RAM ROM CD ROM, DVD EEPROM, FlashRAM M-RAM, Fe-RAM Disques, Disque Dur Opto-magnétique Type d accès L / E L / E L L L / E 2 L / E L / E L / E adressage interne bus bus interface bus bus interface interface Vitesse d accès immédiat Rapide (1 Mot / 7 ns) 1 Mot / 120 ns 512 octets / 73 µs 1 1 Mot / 80 ns Rapide ( 1 Mot / 26 ns) 4096 octets / 520 µs 1 Lent 1 + latence importante 2 écriture avec délais important 64 Octets / 5ms Gérer les mémoires Gérer les registres : Stratégie d optimisation du code généré (compileur) Gérer les mémoires derrière le bus : Système de cache (matériel) ; Virtualisation de la mémoire (MMU). Gérer les mémoires derrière une interface : Système de cache (logiciel) ; Mapping de la mémoire externe derrière la mémoire virtuelle. S abstraire des mémoires Il existe un grand nombre de d abstractions utilisées pour exploiter la mémoire. Abstraction de l adressage : Système de fichier, base de données, mémoire objet, Abstraction des méthodes d accès : Lecture et écriture avec contrôle d accès, Gestion du polymorphisme, externalisation, Mémoire fiable, mémoires transactionnelles, Abstraction des méthodes d allocations : Allocation et déallocation dynamique, déallocation implicite (ramasse miette).

8 S abstraire des mémoires : L exemple des systèmes de fichiers Un disque dur : un ensemble de secteurs de taille fixe (e.g. 512 octets) Secteur Boot SuperBloc (MBR) FAT Secteur utilisable Magic Number Volume Name Fomater ID Fomat Date FAT Size First Dir Block CheckSum val Unused space X 4 octets X 32 octets X 32 octets X 32 octets X 4 octets X 4 octets X 4 octets Un secteur utilisable peut être : Un secteur I-node V[1,2,3,4] Type i-node V[5,6,7,8] size Direct 1 indirect Un secteur data indirect 2 S abstraire des mémoires : L exemple des systèmes de fichiers Un disque dur : un ensemble de secteurs de taille fixe (e.g. 512 octets) Files Data Type i-node Taille Direct 0 indirect Indirect 2 Id 0 Id 1 Id 2 Id 0 Id 1 Id 2 Id 0 Id 1 Id 2 Id 0 Id 1 Id 2 Files Data Files Data Files Data Files Data Files Data Plan (prévisionnel) du cours 1. Introduction au cours de système Partie I : Système et mémoires 2. Gestionnaire de la mémoire persistante (système de fichiers). 3. Virtualisation de la mémoire de travail (allocateur/ dé allocateur). 4. Abstraction de la mémoire de travail (gestionnaire de mémoire objet). 5. Mémoire transactionnelle (un exemple de propriété non fonctionnel). Partie II : Système et microprocesseur 6. Gestion du microprocesseur (Chargement, édition de lien, initialisation, exécution). 7. Abstraction du microprocesseur (Compilateur, Interpréteur, Machine Virtuelle). 8. Mécanisme de partage de la ressource µproc et d ordonnancement des taches. 9. Problèmes d ordonnancement, ordonnancement temps réel et exclusion mutuelle. Partie III : Architecture et sécurité des systèmes d exploitation 10. Isolation par adressage/dynamique (MMU) & Isolation par typage/statique (JVM). 11. Architecture des systèmes d exploitation. Partie IV : Exploitation des systèmes Unix 12. Processus, signaux, mémoire partagée. 13. Synchronisation, sémaphore et moniteurs.

9 Système de Fichiers Principe d utilisation, de gestion et de mise en œuvre des systèmes de fichier dans les systèmes informatiques Par Gilles Grimaud Université des Sciences et Technologies de Lille Architecture en couche pour l exploitation des mémoires persistantes Appli. A Appli. B Shell Interface d exploitation C Système de fichier Volume Volume Volume Volume Disque dur -1- Disque dur -2- Plan Périphériques de mémoires persistantes Virtualisation des disques : les volumes Secteur d amorce et «SuperBloc» Système de fichiers Protections selon Unix Manipulation de fichiers et de répertoires en C Fichiers mappés en mémoire

10 Périphériques de mémoires persistantes Mémoire persistante : mémoire dont le contenu n est pas perdu après un arrêt du système informatique. Objets premiers : stocker les informations utiles au démarrage d un système ouvert ; stocker des données «long terme» ; Sauvegarder des données. Type de supports physiques : 1. Disque dur, disques amovibles, 2. Disquettes, Disques opto-magnétique, 3. bandes magnétiques, 4. EEPROM, FlashRam, Fe-RAM, M-RAM, Périphériques de mémoires persistantes Les disques magnétiques (Disques dur) : plateaux, Cylindres, secteurs 4000 t/mn à t/mn 512 à octets stocker sur chaque secteur 20 à 200 secteurs par cylindre 800 à 4000 cylindres (jusqu à 12 ms de déplacement) 1 à 16 plateaux Adressage par interface <p,c,s> Capacité standard en 2002 : 40 Go, 7200 tours/minute, Déplacement 7 ms, Ultra DMA 100 Mhz => de 20Mo/s à 40Mo/s Périphériques de mémoires persistantes Interface d accès aux disques : Contrôleur de disque IDE : interface normées ATA, ATA-2, Contrôleur de disque SCSI / SCSI-2 ; Contrôleur de disque tampon µprocesseur 32 Bus d adresses 32 Bus de données Mémoire vive Accès au données persistantes : Accès direct au travers d un tampon de lecture/écriture ; DMA (U-DMA) pour copie des données dans/depuis la mémoire centrale.

11 Périphériques de mémoires persistantes Exemple interface logicielles d accès au disque : Lecture : void rdsectors( int device, // plusieurs disques sur un même contrôleur int head, // n du plateau int cylender, // n du cylindre de départ int sector, // n du secteur de départ int nsectors, // nombre de secteurs à lire unsigned char *buffer); // adresse de stockage des données lue Ecriture : void wrsectors( int device, // plusieurs disques sur un même contrôleur int head, // n du plateau int cylender, // n du cylindre de départ int sector, // n du secteur de départ int nsectors, // nombre de secteurs à lire unsigned char *buffer); // adresse ou sont stockées les données à écrire Format : void frsectors(int device, int p, int c, int s, int nsectors); Dans la pratique, l interface d accès au matériel ne saurait se résumer à un appel de fonction. On parle de programmation du contrôleur de disque (via des registres). Virtualisation des disques : les volumes Simplifier/homogénéiser les systèmes d adressage des disques : <n plateau,n cylindre,n secteur> devient <identifiant de volume, n bloc> Multiplexer l usage d un disque unique en construisant plusieurs parties dédiées à des usages distincts (partitions ou volumes) Gérer les systèmes d amorce et les systèmes d amorce multiples Permettre à d autres supports de stockage physique d être utilisés en temps que volumes Virtualisation des disques : les volumes Exemple interface logicielles d accès au disque : Lecture : void readbloc( int volume, // identifiant de volume visé int bloc, // identifiant du bloc dans le volume int nbloc, // nombre de bloc concernés unsigned char *buffer); // adresse de stockage des données lue Ecriture : void writebloc( int volume, // identifiant de volume visé int bloc, // identifiant du bloc dans le volume int nbloc, // nombre de bloc concernés unsigned char *buffer); // adresse ou sont stockées les données à écrire Format : void formatbloc(int v, int b, int nbloc); Sous cette interface, on peut placer autre chose qu un contrôleur de disque (EEPROM, liaison réseau, ).

12 Virtualisation des disques : les volumes Définir un découpage Disque Dur Master Boot Record volume 1 Boot sector Super bloc i-nodes Data blocs volume 2 Boot sector FAT Virtualisation des disques : les volumes A un bloc correspond un secteur sur une piste du disque. Aussi les opérations de lecture/écriture sont équivalents. Cependant, le système doit convertir une numéro de bloc en n de secteur/n de piste. MBR Max Piste Offset P2 P1 P2 Max Secteur nbloc = Offset P2 + Secteur + Piste x Max Secteur Démarrage d un système 1. Exécution du code en ROM, se termine par : 2. Chargement/Exécution du code en MBR, se termine par : 3. Chargement/Exécution du code du «secteur d amorce», démarrage du système Mémoire Morte (EEPROM) Contrôleur de disque tampon MBR Boot sector P.1 Boot sector P.2 µprocesseur 32 Bus d adresses 32 Bus de données Mémoire vive

13 Secteur d amorce et Secteur d amorce maître 0000 FA cli C0 xor 0048 BE8B06 mov si,0x68b ; "Invalid partition table" ax,ax 004B AC lodsb ; print message ED0 mov ss,ax 004C 3C00 cmp al,0x BC007C mov sp,0x7c00 ; set stack top at 0000:7C00 004E 740B jz 0x5b push si BF4 mov si,sp ; SI = 7C A 50 push ax 0051 BB0700 mov bx,0x B40E mov ah,0xe 000B 07 pop es 0056 CD10 int 0x10 000C 50 push ax E pop si 000D 1F pop ds ; DS = ES = EBF0 jmp short 0x4b 005B EBFE jmp short 0x5b 000E FB sti ; enable interrupts ; hang system 000F FC cld 0010 BF0006 mov di,0x600 ; DI = D BF0500 mov di,0x5 ; try 5 times 0060 BB007C mov bx,0x7c B90001 mov cx,0x100 ; 256 words (= 512 bytes) 0063 B80102 mov ax,0x F2A5 repne movsw ; copy ourselves to 0000: push di 0018 EA1D jmp 0x0:0x61d ; and jump to the new location 0067 CD13 int 0x13 ; read bootsector to 0000:7c F pop di 006A 730C jnc 0x78 ; ok, proceed 001D BEBE07 mov si,0x7be ; SI = 07BE 006C 33C0 xor ax,ax 0020 B304 mov bl,0x4 ; 4 entries 006E CD13 int 0x C80 cmp byte [si],0x80 ; check bootable flag F dec di E jz 0x ED jnz 0x60 ; try again 0073 BEA306 mov si,0x6a3 ; "Error loading C00 cmp byte [si],0x0; check if valid entry OS" 0076 EBD3 jmp short 0x4b ; print message 002A 751C jnz 0x48 ; jump if invalid 002C 83C610 add si,byte +0x BEC206 mov si,0x6c2 ; "Missing operating system" 002F FECB dec bl 007B BFFE7D mov di,0x7dfe EF jnz 0x22 ; try next entry 007E 813D55AA cmp word [di],0xaa55; check if valid bootsector jnz 0x4b ; print message if invalid 0033 CD18 int 0x18 ; no bootable partitions,gobasic C BF5 mov si,bp ; SI = ptr to parttable entry 0086 EA007C0000 jmp 0x0:0x7c00 ; jump to bootsector B14 mov dx,[si] ; get drive nr, head Sélection de la partition de B4C02 mov cx,[si+0x2] ; get cyl, sect 003A 8BEE mov bp,si ; keep ptr to parttable entry démarrage selon MS 003C 83C610 add si,byte +0x10; verify next entries 003F FECB dec bl (MBR MS) A jz 0x5d C00 cmp byte [si],0x F4 jz 0x3c Virtualisation des disques : les volumes Administration des volumes sous Unix : Fdisk Plusieurs mode dont mode interactif : - lister les volumes - créer les volumes - changer de volume actif (boot de 2nd niveau) - terminer / abandonner Sur architecture X90, le secteur d amorce primaire est celui défini dans /usr/plateform-name/lib/fs/ufs/mboot Système de fichiers Un système de fichiers est un modèle d organisation de l information stocké dans un ou plusieurs volumes. Un système de fichiers définit : 1. Un modèle d organisation de l information : 1. Notion de répertoires et de fichiers, 2. Classement arborescent des répertoires, 3. Notion de flux, accès séquentiels, 2. Un système de liaison de l information : 1. Identification des fichiers par un nom symbolique /home/rd2p/grimaud/public_html/index.html 2. Accès aux données par l intermédiaire de leurs nom symbolique : cat home/rd2p/grimaud/public_html/index.html

14 Système de fichiers Les volumes, et les disques physiques stockent l information dans des blocs d octets de taille fixe. Les systèmes de fichiers gèrent l allocation et la libération de ces blocs, ainsi que leurs regroupement pour former des supports logiques : les fichiers. int blocalloc (int volume); void blocfree (int volume, int bloc); Différentes stratégies pour réaliser ces opérations élémentaires dans un volume visant à : allouer en séquences des blocs contigus afin de réduire les temps de latence d accès aux fichiers permettre la restauration des blocs libres après une défaillance matérielle Système de fichiers Mécanisme d allocation : FAT Floppy Allocation Table : Table des blocs utilisés/libres Secteur Boot SuperBloc (MBR) FAT Secteur utilisable Allouer un bloc : chercher un 0 dans la FAT et le remplacer par un 1 Libérer un bloc : Mettre un 0 dans la FAT. Magic Number X 4 octets Volume Name X 32 octets Fomater ID X 32 octets Fomat Date X 32 octets FAT Size X 4 octets First Dir Block X 4 octets CheckSum val X 4 octets Unused space er bloc utilisé 19ème bloc libre Avec des blocs de 4096 octets il suffit d un bloc de FAT pour couvrir un volume de 128 Mo Système de fichiers Mécanisme d allocation : FreeList FreeList : Liste des blocs libres dans le volume. Secteur Boot SuperBloc (MBR) Magic Number Volume Name X 4 octets X 32 octets Bloc libre Fomater ID X 32 octets Fomat Date X 32 octets Bloc occupé Bloc libre FAT Size First Dir Block X 4 octets X 4 octets Bloc occupé CheckSum val X 4 octets First Free Block X 4 octets Bloc libre Bloc occupé Unused space Bloc libre Bloc occupé

15 Système de fichiers Un fichier est un assemblage de blocs. Files Data Type i-node Taille Direct 0 indirect Indirect 2 Id 0 Id 1 Id 2 Id 0 Id 1 Id 2 Id 0 Id 1 Id 2 Id 0 Id 1 Id 2 Files Data Files Data Files Data Files Data Files Data Système de fichiers Sous Unix, un répertoire est un fichier qui liste les noms de fichiers et de répertoires qu il contient, ainsi que l information suffisante pour pouvoir trouver le fichier/répertoire désigné sur le disque. Il peut aussi contenir, éventuellement, des informations de droits d accès relatif à chaque fichiers/répertoires. Par exemple : Nom de fichier Droit d accès Bloc de départ Nom de fichier Droit d accès Bloc de départ Système de fichiers Unix Le mécanisme de liaison symbolique proposé par le systeme de fichiers est, pour les systèmes d exploitation Unix, le mécanisme de liaison préféré, non seulement pour les données persistante mais aussi pour la majorité des flux (entrées-sorties audio, terminaux textes). Pour les systèmes Unix il n existe qu un seul système de fichier qui regroupe l ensemble des données persistantes manipulées par le système, ainsi qu un certain nombre de flux propres au matériel informatique. Tout nouveau volume structuré en système de fichier peut être insérer dans le système de fichier Unix par la commande : /user/sbin/mount /dev/hdb2 /tmp/ Tout nouveau support physique manipulable par le système est définit par le système comme un fichier «virtuel» du système de fichier : /dev/hda1 / ufs rw 1 1 /dev/hda2 swap1 ufs rw 0 2 /dev/hdb1 /usr ufs rw 1 2 table de définition du système de fichiers définie dans /etc/fstab

16 Protections selon Unix Chaque répertoire, en définissant un nom de fichier, lui associe un propriétaire, ainsi que des droits d accès. trwxrwxrwx type user group other 6134octets mel.txt Manipulation de fichiers et de répertoires en C Chemin d accès (char* path) Open(2), truncate(2) Stat(2),chmod(2), fcntl(2) Fichier ouvert (int fd) Fstat(2), fchmod(2),fcntl(2) Lseek(2), flock(2) Read(2),write(2),close(2) Fichier ouvert avec tampon(file *file) Fopen(3), fdopen(3), freopen(3) Fread(3), fwrite(3) Putc(3), fputc(3) Getc(3), fgetc(3) Puts(3),fputs(3) Printf(3), fprintf(3) Scanf(3), fscanf(3) Fflush(3) Fileno(3) Feof(3) Ferror(3) Fichiers mappés en mémoire centrale Un exemple de translation de symboles entre différents mécanismes de liaisons void *mmap((void *) NULL, long mapsize, int fileaccess, int mapproperty, int fileid); Exemple d utilisation (avec la bibliothèque sys/mman.h) : void *MapFileRW(char* file) { void *ptr; struct stat st; if( stat(file,&st)!= 0 (fd = open(file, O_RDWR)) < 0 ) { printf("%s cannot bee read\n",file); return NULL; } ptr = mmap((void *) NULL, (size_t) st.st_size, (int) PROT_READ PROT_WRITE, (int) MAP_FILE MAP_VARIABLE MAP_SHARED, (int) fd, (off_t) 0); close(fd); if( (caddr_t) ptr == (caddr_t) -1 ) { printf("%s: cannot map",file); return NULL;} return ptr; }

17 Mémoire de travail Exploitation de la mémoire de travail, mécanismes d allocation et de virtualisation, dans les systèmes informatiques Par Gilles Grimaud Université des Sciences et Technologies de Lille Plan Place et fonctionnement de la mémoire dans les systèmes informatique. Abstractions pour la mémoire centrale Stratégie d allocation de la mémoire Virtualisation de la mémoire Espace d adressage des processus selon Linux Autres usages pour la mémoire virtuelle Fichiers mappés en mémoire virtuelle Place de la mémoire de travail dans les systèmes informatiques µprocesseur MMU 32 Bus d adresses Lecture / Ecriture 32 Bus de données bus Connecteur Mémoire vive Mémoire vive AGP CPU N.B. RAM contrôleur de disque :o) ROM Connecteurs AGP PCI S.B. IDE EISA

18 Fonctionnement de la mémoire de travail Fonctionnellement, la mémoire de travail permet d associer, une valeur à une adresse. adresse 0x x x x C 0x x Valeur AB CD EF AB CD EF AB CD EF... Exemple de plan d adressage Espace d adressage adresse 0x x x x Valeur ROM RAM HW Interface Point de vue µproc Exploitation de la mémoire de travail Le microprocesseur accède à la mémoire soit : 1. Pour lire une instruction à exécuter (lire à l adresse PC) 2. Pour lire une donnée en mémoire : Sur ARM par exemple, lorsque l instruction à exécuter est un : LDR Rx,(Ry,Rz LSL #dec) 3. Pour écrire une donnée en mémoire : Sur ARM avec une instruction du type : STR Rx,(Ry,Rz LSL #dec) LDR R1, (R3, R4 LSL #dec) Avant : R3 = 0x R4 = 0x dec = 2 Après : R1 = 0x89ABCDEF = 4x5 = 20 adresse 0x x x x C 0x x Valeur AB CD EF AB CD EF AB CD EF... Exploitation de la mémoire de travail On accède à la mémoire de travail lorsqu une valeur de travail est manipulée par un programme est qu elle n est pas associée à un registre du microprocesseur. Exemple : Avec i R4 et j R1 et t R3 { int i,j; int t[10]; i = 5; t[i] = i; j = t[i] ; } LDR R1, (R3, R4 LSL #dec) Avant : Après : R3 = 0x R4 = 0x dec = 2 = 4x5 = 20 R1 = 0x89ABCDEF (ou R1 = 0xEFCDAB89 little-endian) MOV R4, #5 STR R4, (R3, R4 LSL #2) LDR R1, (R3, R4 LSL #2) adresse 0x x x x C 0x x Valeur AB CD EF AB CD EF AB CD EF...

19 Abstractions pour la mémoire de travail : «la pile d appel» En C : int main(int argc, char **argv) { int i = foo(1,2); return i; } int foo(int t,int u) { int v; v = t + u; return i; } Sens de la pile v : retour de foo (dans main) u : 0x t : retour main (vers le système) valeur Arguments empilés du dernier au premier 0xAFEC 0xAFF0 0xAFF4 0xAFF8 0xAFFC Adresse SP : Stack Pointer (R13 sur ARM) Abstraction pour la mémoire de travail : «la pile d appel» Selon Java : Class c { static void main(string[]args) { int v1; C v2 = new C(); v1 = v2.b(); } int b() { int v3 = 1 + this.c(2); return v3; } int c(int i) { return 3-i; } } État de la pile à ce point Locals arguments TOS 2 3 int i = 2 this Top Of Stack Valeur en mémoire VM Zone (return address) Frame n 2 : méthode VM Zone (return address) C v2 int v1 = 0 String[] args = TOS Frame n 3 : méthode c() 1 VM Zone (return address) C v3 int v3 = 0 this Frame n 1 : méthode main() adresse C C C C Allocation / Libération de mémoire dans la pile d appel C En C : Déclaration des arguments, des variables locales (critiques lors d appels récursifs). Déclaration de tableaux en variables locales. Exemple : int foo(int i) { int t[5]; int *p1, *p2; p1 = &i; // p1 = 0x0000AFFC p2 = str; // p2 = 0x0000AFE4 } p1 et p2 ont pu être associés à des registres donc ils ne sont pas présents sur la pile. Mais i ne peut pas être un registre (sinon &i est indéterminée). t[0] 0xAFE4 t[1] 0xAFE8 t[2] 0xAFEC t[3] 0xAFF0 t[4] retour de foo() 0xAFF8 i : 0x xAFFC valeur Adresse SP : Stack Pointer (R13 sur ARM) Intérêt de l allocation en pile : Efficacité. Limites de l alloc en pile : Programmation fonctionnelle.

20 Abstraction pour la mémoire de travail : «le tas» But : pouvoir utiliser des données dont la durée de vie n est ni associées à un bloc de code ( variables locales) ni associées à la durée de vie du programme entier ( variables globales). En C utilisation de void *malloc(int size); pour l allocation, et void free(void *ptr); pour la libération. Stratégie d allocation dans le tas : «liste de blocs» 1. Initialement : Un bloc libre de taille : la taille de la mémoire disponible pour le tas Une liste chaînée de blocs libres Une liste des blocs alloués 2. Allouer : chercher un bloc libre de taille suffisante. Deux stratégies : Prendre le premier bloc libre satisfaisant : «first fit» Prendre le bloc libre le plus proche de la taille fixée : «best fit» 3. Libérer : déclarer le bloc occupé libre. Fusionner le bloc avec ses voisins libres (constituer des bloc libres les plus grands possibles) Premier utilisé Premier libre Avant utilisation : Sys_info Premier utilisé Premier libre Après utilisation : Sys_info Sys_info Sys_info Sys_info Sys_info Stratégie d allocation dans le tas : «arbres dichotomiques» 1. Initialement : Un bloc, ou une série de blocs déclarés vides 2. Allouer : Chercher un bloc libre de la taille la plus proche de la taille demandée Marquer ce bloc comme bloc feuille occupé 3. Libérer : Supprimer le bloc feuille occupé, et le marquer libre. Si le bloc frère (issu du même bloc père) est libre, marquer le bloc père comme libre. Espace réellement utilisé 128 octets 32 octets octets Les principales suites de subdivision utilisé sont : U n+1 = 2.U n ou U n+2 = U n+1 + U n (Fibonatchi)

Les entrées/sorties Les périphériques

Les entrées/sorties Les périphériques Les entrées/sorties Les périphériques La fonction d un ordinateur est le traitement de l information (fonction réalisée au niveau de la mémoire et l UC). L ordinateur acquiert cette information et restitue

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

Programmation système I Les entrées/sorties

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

Plus en détail

Instructions assembleur

Instructions assembleur Instructions assembleur 0001011011110110 0001011101101101 10001001 Instruction vue par le programmeur assembleur ou instruction élémentaire cible d'un compilateur Réalise une modification de l'état interne

Plus en détail

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

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

Plus en détail

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

EPREUVE OPTIONNELLE d INFORMATIQUE

EPREUVE OPTIONNELLE d INFORMATIQUE EPREUVE OPTIONNELLE d INFORMATIQUE A) QCM Les réponses au QCM doivent être portées directement sur la feuille de sujet de QCM. Ne pas omettre de faire figurer votre numéro de candidat sur cette feuille

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

Programmation impérative

Programmation impérative Programmation impérative Cours 4 : Manipulation des fichiers en C Catalin Dima Organisation des fichiers Qqs caractéristiques des fichiers : Nom (+ extension). Chemin d accès absolu = suite des noms des

Plus en détail

Gestion des périphériques

Gestion des périphériques 3 4 Organisation s périphériques Il existe ux catégories périphérique : les périphériques en mo caractère (carte réseau, imprimante, terminaux, ban, etc.). l unité élementaire d échange est l octet (un

Plus en détail

Analyse et programmation 1

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

Plus en détail

Optimisation de code

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

Plus en détail

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

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

Plus en détail

Les systèmes de fichiers : implantation

Les systèmes de fichiers : implantation Les systèmes de fichiers : implantation Polytech Paris-Sud Cycle ingénieur de la filière étudiant Louis Mandel Université Paris-Sud 11 Louis.Mandel@lri.fr année 212/213 Structure physique d un disque Secteur

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

Structure d un programme

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

Plus en détail

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

Notions de langage machine

Notions de langage machine Notions de langage machine 18 décembre 2009 Rappels et introduction Architecture de Van Neumann : Processeur = UC + UAL Mémoire interne au processeur = les registres (soit seulement l accumulateur, soit

Plus en détail

La vie des programmes

La vie des programmes La vie des programmes Fabienne Carrier Stéphane Devismes Université Joseph Fourier, Grenoble I 2 février 2009 Carrier, Devismes (Grenoble I) La vie des programmes 2 février 2009 1 / 31 Plan 1 Introduction

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

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

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

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

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

Plus en détail

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

DE L ALGORITHME AU PROGRAMME INTRO AU LANGAGE C 51

DE L ALGORITHME AU PROGRAMME INTRO AU LANGAGE C 51 DE L ALGORITHME AU PROGRAMME INTRO AU LANGAGE C 51 PLAN DU COURS Introduction au langage C Notions de compilation Variables, types, constantes, tableaux, opérateurs Entrées sorties de base Structures de

Plus en détail

Gestion de mémoire secondaire

Gestion de mémoire secondaire Gestion de mémoire secondaire F. Boyer, Laboratoire Lig 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

Les systèmes embarqués

Les systèmes embarqués Unité IFS (Interface) Les systèmes embarqués Architecture des systèmes à processeur Etienne Messerli Le 17 février 2015 p 1 Ordinateur Système UNIVERSEL de traitement de l'information "binaire" Utilisé

Plus en détail

QCM systèmes d exploitation (Quarante questions)

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

Plus en détail

Architecture des ordinateurs Introduction à l informatique

Architecture des ordinateurs Introduction à l informatique Architecture des ordinateurs Introduction à l informatique 17 septembre 2004 1 2 3 4 5 6 Les interrupteurs... 0V 5V Ce sont des composants électroniques qui laissent pser un courant principal lorsque la

Plus en détail

Programmation assembleur : aperçu

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

Plus en détail

Cours de Système : Gestion de Fichiers

Cours de Système : Gestion de Fichiers Cours de Système : Gestion de Fichiers Bertrand Le cun et Emmanuel Hyon bertrand.le cun{at}u-paris10.fr et Emmanuel.Hyon{at}u-paris10.fr Université Paris Ouest Nanterre 25 octobre 2011 B.L.C. & E.H. (UPO)

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

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

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

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

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

Architecture des Ordinateurs et Systèmes d Exploitation

Architecture des Ordinateurs et Systèmes d Exploitation Architecture des Ordinateurs et Systèmes d Exploitation Cours n 5 Le langage assembleur (2): Pile, Procédures. Les Interruptions 3ème année L assembleur 8086 : la pile = structure de «rangement» de données

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

DU BINAIRE AU MICROPROCESSEUR - D ANGELIS CIRCUITS CONFIGURABLES NOTION DE PROGRAMMATION

DU BINAIRE AU MICROPROCESSEUR - D ANGELIS CIRCUITS CONFIGURABLES NOTION DE PROGRAMMATION 145 NOTION DE PROGRAMMATION 1/ Complétons notre microprocesseur Nous avons, dans les leçons précédentes décrit un microprocesseur théorique, cependant il s inspire du 6800, premier microprocesseur conçu

Plus en détail

Le langage C. Séance n 4

Le langage C. Séance n 4 Université Paris-Sud 11 Institut de Formation des Ingénieurs Remise à niveau INFORMATIQUE Année 2007-2008 Travaux pratiques d informatique Le langage C Séance n 4 But : Vous devez maîtriser à la fin de

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

Édition de liens. 1 Programme unique. Ensimag 1A Apprentissage. 1.1 Listing d assemblage. offset codop. .section.rodata

Édition de liens. 1 Programme unique. Ensimag 1A Apprentissage. 1.1 Listing d assemblage. offset codop. .section.rodata Édition de liens Ensimag 1A Apprentissage 2010 1 Programme unique 1.1 Listing d assemblage offset codop.section.rodata 25 73 20 25 sortie:.asciz "%s %s %c%c%c%c%c%c%c %s%c %s%c\n" 73 20 25 63 25 63 25

Plus en détail

Le système de gestion des fichiers, les entrées/sorties.

Le système de gestion des fichiers, les entrées/sorties. Le système de gestion des fichiers, les entrées/sorties. Luigi Santocanale Laboratoire d Informatique Fondamentale, Centre de Mathématiques et Informatique, 39, rue Joliot-Curie - F-13453 Marseille 19

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

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

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

4. Utilisation d un SGBD : le langage SQL. 5. Normalisation

4. Utilisation d un SGBD : le langage SQL. 5. Normalisation Base de données S. Lèbre slebre@unistra.fr Université de Strasbourg, département d informatique. Présentation du module Contenu général Notion de bases de données Fondements / Conception Utilisation :

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

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

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

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

Plus en détail

Assembleur x86. Eric Cariou. Université de Pau et des Pays de l'adour Département Informatique. Eric.Cariou@univ-pau.fr

Assembleur x86. Eric Cariou. Université de Pau et des Pays de l'adour Département Informatique. Eric.Cariou@univ-pau.fr Assembleur x86 Eric Cariou Université de Pau et des Pays de l'adour Département Informatique Eric.Cariou@univ-pau.fr 1 Niveaux de programmation Du plus bas niveau (1) au plus abstrait (6) 1) Impulsions

Plus en détail

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

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

Plus en détail

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

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

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

Plus en détail

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

III - PROGRAMMATION EN ASSEMBLEUR

III - PROGRAMMATION EN ASSEMBLEUR III - PROGRAMMATION EN ASSEMBLEUR 3.1 Introduction à la programmation en assembleur Pour programmer un ordinateur on utilise généralement des langages dits évolués ou de haut niveau : C, C++, Java, Basic,

Plus en détail

Compilation (INF 564)

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

Plus en détail

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

MODULE I1. Plan. Introduction. Introduction. Historique. Historique avant 1969. R&T 1ère année. Sylvain MERCHEZ

MODULE I1. Plan. Introduction. Introduction. Historique. Historique avant 1969. R&T 1ère année. Sylvain MERCHEZ MODULE I1 Plan Chapitre 1 Qu'est ce qu'un S.E? Introduction Historique Présentation d'un S.E Les principaux S.E R&T 1ère année Votre environnement Sylvain MERCHEZ Introduction Introduction Rôles et fonctions

Plus en détail

Un mini système de fichiers «à la Unix» 1 La première couche logicielle : accès au matériel

Un mini système de fichiers «à la Unix» 1 La première couche logicielle : accès au matériel Master d informatique & 3 e année GMI Module d architecture des systèmes d exploitation Un mini système de fichiers «à la Unix» Philippe MARQUET Gilles GRIMAUD Remerciements à Philippe DURIF et Damien

Plus en détail

Plan. Bases de données. Cours 2 : Stockage. Quels types de mémoire pour une BD? Où stocker les données? Polytech Paris-Sud. Apprentis 4 ème année

Plan. Bases de données. Cours 2 : Stockage. Quels types de mémoire pour une BD? Où stocker les données? Polytech Paris-Sud. Apprentis 4 ème année Bases de données Polytech Paris-Sud Apprentis 4 ème année Cours 2 : Stockage 2.1 Introduction 2.2 Aspects bas-niveau kn@lri.fr http://www.lri.fr/~kn 2/20 Hierarchie mémoire : Où stocker les données? Type

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

Bases de données. Cours 2 : Stockage

Bases de données. Cours 2 : Stockage Bases de données Polytech Paris-Sud Apprentis 4 ème année Cours 2 : Stockage kn@lri.fr http://www.lri.fr/~kn Plan 1 Rappels 2 Stockage 2.1 Introduction 2.2 Aspects bas-niveau 2.3 Stockage pour les SGBD

Plus en détail

Dans le chapitre 1, nous associions aux fichiers ouverts des descripteurs de fichiers par lesquels nous accédions aux fichiers.

Dans le chapitre 1, nous associions aux fichiers ouverts des descripteurs de fichiers par lesquels nous accédions aux fichiers. I Présentation : Dans le chapitre 1, nous avons vu comment utiliser les appels-systèmes de bas niveau pour créer et accéder à des fichiers sur le disque. Nous avons notamment mis en évidence leur dépouillement

Plus en détail

FAILLES APPLICATIVES INTRODUCTION & EXPLOITATION. Projet Tutorat Réseau / Sécurité INSA de Lyon 2011

FAILLES APPLICATIVES INTRODUCTION & EXPLOITATION. Projet Tutorat Réseau / Sécurité INSA de Lyon 2011 FAILLES APPLICATIVES INTRODUCTION & EXPLOITATION Projet Tutorat Réseau / Sécurité INSA de Lyon 2011 Lucas Bouillot Arnaud Kleinpeter Gaétan Bouquet Xavier Paquin INTRODUCTION INTRODUCTION Qu est ce qu

Plus en détail

Examen d Architecture des Ordinateurs Majeure 1 Polytechnique Lundi 10 Décembre 2001

Examen d Architecture des Ordinateurs Majeure 1 Polytechnique Lundi 10 Décembre 2001 Examen d Architecture des Ordinateurs Majeure 1 Polytechnique Lundi 10 Décembre 2001 L examen dure 3 heures. Le sujet comporte 7 pages dont 3 pages de rappels sur le LC-2 et la microprogrammation. Tous

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

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

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

TD Architecture des ordinateurs. Jean-Luc Dekeyser

TD Architecture des ordinateurs. Jean-Luc Dekeyser TD Architecture des ordinateurs Jean-Luc Dekeyser Fiche 1 Nombres de l informatique Exercice 1 Une entreprise désire réaliser la sauvegarde de ses données sur un site distant. Le volume de données à sauvegarder

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

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

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

Plus en détail

Architecture des ordinateurs

Architecture des ordinateurs Architecture des ordinateurs Cours 7 17 décembre 2012 Archi 1/1 Fonctions, suite et fin Archi 2/1 Rappel Forme générale d un sous-programme (fonction) : etiquette sousprogramme: push ebp ; empile la valeur

Plus en détail

Après avoir réalisé les phases préparatoires, démarré le serveur et mis le DVD Rom dans le serveur, vous arrivez sur :

Après avoir réalisé les phases préparatoires, démarré le serveur et mis le DVD Rom dans le serveur, vous arrivez sur : Installation 1. Serveur ESX4 L installation d un serveur ESX ne présente aucune difficulté et est beaucoup plus simple et rapide (10 à 15 minutes) que l installation d un serveur Windows ou Linux. Dans

Plus en détail

Architecture des Ordinateurs et Systèmes d Exploitation

Architecture des Ordinateurs et Systèmes d Exploitation Architecture des Ordinateurs et Systèmes d Exploitation Cours n 9 Les Fichiers 3ème année Fichiers : pour quoi faire? La mémoire principale est de taille restreinte volatile,... Besoin de stocker des informations

Plus en détail

EX4C Systèmes d exploitation. Séance 14 Structure des stockages de masse

EX4C Systèmes d exploitation. Séance 14 Structure des stockages de masse EX4C Systèmes d exploitation Séance 14 Structure des stockages de masse Sébastien Combéfis mardi 3 mars 2015 Ce(tte) œuvre est mise à disposition selon les termes de la Licence Creative Commons Attribution

Plus en détail

Chapitre I Notions de base et outils de travail

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

Plus en détail

Résumé Génération de code Le code intermédiaire

Résumé Génération de code Le code intermédiaire Résumé Analyse INFO0004 Structure des langages de programmation Génération de code ; liaison et exécution Justus H. Piater Programmation Analyse Compilation Liaison fichier texte Analyse lexicale flux

Plus en détail

Administration de Parc Informatique TP06 : Installation de Linux Debian

Administration de Parc Informatique TP06 : Installation de Linux Debian Institut Galilée L2 Info S1 Année 2013 2014 1 Une machine virtuelle Administration de Parc Informatique TP06 : Installation de Linux Debian Le but du TP est d installer Linux (en l occurrence la distribution

Plus en détail

Présentation du module. Base de données spatio-temporelles. Exemple. Introduction Exemple. Plan. Plan

Présentation du module. Base de données spatio-temporelles. Exemple. Introduction Exemple. Plan. Plan Base de données spatio-temporelles S. Lèbre slebre@unistra.fr Université de Strasbourg, département d informatique. Présentation du module Contenu général Partie 1 : Notion de bases de données (Conception

Plus en détail

Entrées-Sorties: Architectures de bus. GIF-1001 Ordinateurs: Structure et Applications, Hiver 2015 Jean-François Lalonde

Entrées-Sorties: Architectures de bus. GIF-1001 Ordinateurs: Structure et Applications, Hiver 2015 Jean-François Lalonde Entrées-Sorties: Architectures de bus GIF-1001 Ordinateurs: Structure et Applications, Hiver 2015 Jean-François Lalonde Architectures CPU/Mémoire/E-S Un ordinateur a cinq composantes de base: le(s) processeur(s)

Plus en détail

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

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

Plus en détail

Guide pour l Installation des Disques Durs SATA et la Configuration RAID

Guide pour l Installation des Disques Durs SATA et la Configuration RAID Guide pour l Installation des Disques Durs SATA et la Configuration RAID 1. Guide pour l Installation des Disques Durs SATA... 2 1.1 Installation de disques durs Série ATA (SATA)... 2 2. Guide de Configurations

Plus en détail

Virtualisation Logicielle

Virtualisation Logicielle Virtualisation Virtualisation Logicielle Gaël Thomas gael.thomas@lip6.fr Principe d un système d exploitation Unifier l accès au matériel Diminuer le travail de développement des applications Couche d

Plus en détail

Cours 1 : Introduction. Langages objets. but du module. contrôle des connaissances. Pourquoi Java? présentation du module. Présentation de Java

Cours 1 : Introduction. Langages objets. but du module. contrôle des connaissances. Pourquoi Java? présentation du module. Présentation de Java Langages objets Introduction M2 Pro CCI, Informatique Emmanuel Waller, LRI, Orsay présentation du module logistique 12 blocs de 4h + 1 bloc 2h = 50h 1h15 cours, 45mn exercices table, 2h TD machine page

Plus en détail

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

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

Plus en détail

Architecture des ordinateurs

Architecture des ordinateurs Architecture des ordinateurs GTR 1999-2000 Emmanuel Viennet IUT de Villetaneuse Département GTR viennet@lipn.univ-paris13.fr Licence Copyright c 1995-2001 par Emmanuel Viennet. Ce document peut être librement

Plus en détail

La carte à puce. Jean-Philippe Babau

La carte à puce. Jean-Philippe Babau La carte à puce Jean-Philippe Babau Département Informatique INSA Lyon Certains éléments de cette présentation sont issus de documents Gemplus Research Group 1 Introduction Carte à puce de plus en plus

Plus en détail

Synchronisation par. Rappels. Plan. Conditions et moniteurs (1/7) Inf 431 Cours 11. jeanjacqueslevy.net

Synchronisation par. Rappels. Plan. Conditions et moniteurs (1/7) Inf 431 Cours 11. jeanjacqueslevy.net Rappels Inf 431 Cours 11 un processus t (Thread) est un programme qui s exécute Synchronisation par mémoire partagée tstart lance l exécution concurrente de la méthode trun de t tinterrupt signale qu on

Plus en détail

Commandes Linux. Gestion des fichiers et des répertoires. Gestion des droits. Gestion des imprimantes. Formation Use-IT

Commandes Linux. Gestion des fichiers et des répertoires. Gestion des droits. Gestion des imprimantes. Formation Use-IT Commandes Linux Gestion des fichiers et des répertoires Lister les fichiers Lister les fichiers cachés Lister les répertoires d un répertoire Lister les fichiers par date Les droits Types de fichier Supprimer

Plus en détail

Cours Programmation Système

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

Plus en détail

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

Chapitre 3 Structures de données linéaires : listes, piles et files

Chapitre 3 Structures de données linéaires : listes, piles et files Chapitre 3 Structures de données linéaires : listes, piles et files 1. Introduction Le but de ce chapitre est de décrire des représentations des structures de données de base telles les listes en général

Plus en détail

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

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

Plus en détail

plan Virtualisation Plan Systèmes d exploitation centralisés 1 IMA 13 mars 2015 Contrôle de l accès aux ressources Interface avec les systèmes invités

plan Virtualisation Plan Systèmes d exploitation centralisés 1 IMA 13 mars 2015 Contrôle de l accès aux ressources Interface avec les systèmes invités plan Virtualisation s d exploitation centralisés 1 IMA Sources : 13 mars 2015 Chapitre 16 de Operating System Concepts (9ème édition), de Silberschatz, Galvin et Gagne Cours de Gérard Padiou, 1IMA 2012-2013

Plus en détail

Approche générale. Vocabulaire élémentaire. Partition. Volume. Systèmes de fichiers avancés. Texte. Volumes, Partitions, RAID. Partition.

Approche générale. Vocabulaire élémentaire. Partition. Volume. Systèmes de fichiers avancés. Texte. Volumes, Partitions, RAID. Partition. Texte Approche générale Systèmes de fichiers avancés Volumes, Partitions, RAID 1 2 Vocabulaire élémentaire Partition Disque dur : élément physique destiné au stockage Partition : division d un disque dur

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