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)

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

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

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

Plus en détail

Architecture logicielle des ordinateurs

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

Plus en détail

Introduction à UNIX et Windows

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

Plus en détail

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

Architecture matérielle et logicielle

Architecture matérielle et logicielle Architecture matérielle et logicielle Contents I Le Cours 2 1 Généralités 2 2 Micro-processeur 2 3 Mémoire 2 4 Performances 3 II TPs 3 1 Création d un exécutable : 3 2 Les bibliothèques 3 3 Codage de l

Plus en détail

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

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

Plus en détail

Gestion de la mémoire

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

Plus en détail

Virtualisation de la mémoire du microprocesseur

Virtualisation de la mémoire du microprocesseur Master d informatique 1 re année Module d architecture des systèmes d exploitation Virtualisation de la mémoire du microprocesseur Simon DUQUENNOY Gilles GRIMAUD Philippe MARQUET Novembre 2009 Ce document

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

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

ASSEMBLAGE ET ÉDITION DES LIENS

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

Plus en détail

Introduction aux systèmes d exploitation

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

Plus en détail

Chap. I : Architecture de base d un ordinateur

Chap. I : Architecture de base d un ordinateur UMR 7030 - Université Paris 13 - Institut Galilée Cours Architecture et Système Dans cette partie, nous décrivons rapidement l architecture de base d un ordinateur et les principes de son fonctionnement.

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

Systèmes de fichiers. Didier Verna

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

Plus en détail

Programmation assembleur sur l architecture x86

Programmation assembleur sur l architecture x86 Mini-projet système : développement d un noyau de système d exploitation Responsable : Christophe Rippert Christophe.Rippert@Grenoble-INP.fr Introduction Programmation assembleur sur l architecture x86

Plus en détail

Disques. 1 er mai 2011

Disques. 1 er mai 2011 de Gilles.Roussel@univ-mlv.fr http://igm.univ-mlv.fr/~roussel/l22/ Licence 2 1 er mai 2011 C est quoi un disque? de C est quoi un disque? de Différents types de disques disques magnétiques (disques durs,

Plus en détail

Assembleur x86. P. Ezéquel

Assembleur x86. P. Ezéquel Assembleur x86 P. Ezéquel 1 TABLE DES MATIÈRES 2 Table des matières 1 Introduction 3 2 Anatomie du x86 3 2.1 Registres généraux.......................... 4 2.2 Registres de base de segments....................

Plus en détail

Gilles Roussel. Disques. Optimisation. Bas niveau. Partitions. fichiers FAT RAID. Gilles Roussel. Disques. Optimisation. Bas niveau.

Gilles Roussel. Disques. Optimisation. Bas niveau. Partitions. fichiers FAT RAID. Gilles Roussel. Disques. Optimisation. Bas niveau. C est quoi un disque? de Gilles.Roussel@univ-mlv.fr http://igm.univ-mlv.fr/ens/licence/l2/2012-2013/system/ Licence 2 de 7 avril 2015 C est quoi un disque? C est quoi un disque? de Différents types de

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

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

Noyau d'un système d'exploitation INF2610 Chapitre 7 : Gestion de la mémoire (annexe 2)

Noyau d'un système d'exploitation INF2610 Chapitre 7 : Gestion de la mémoire (annexe 2) INF2610 Chapitre 7 : Gestion de la mémoire (annexe 2) Département de génie informatique et génie logiciel Hiver 2014 Exemple 1 : Espace virtuel d un processus Où seront stockées les données des variables

Plus en détail

Les systèmes d exploitation

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

Plus en détail

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

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

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

Plus en détail

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

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

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

Rappels sur l Architecture de base d un ordinateur

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

Plus en détail

Chap. III : Le système d exploitation

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

Plus en détail

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

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

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

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

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

Plus en détail

Gestion 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

1.1 Remote Procedure Call (RPC)

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

Plus en détail

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

Examen UE INF241 : Introduction aux Architectures Logicielles et Matérielles

Examen UE INF241 : Introduction aux Architectures Logicielles et Matérielles UNIVERSITE Joseph FOURIER, Grenoble Licence de Sciences et technologie - Parcours MIN, INF, BIN et MIN international Examen UE INF241 : Introduction aux Architectures Logicielles et Matérielles Première

Plus en détail

Gestion de la mémoire

Gestion de la mémoire Plan de la présentation Gestion de la Sacha Krakowiak Université Joseph Fourier Projet Sardes (INRIA et IMAG-LSR) http://sardes.inrialpes.fr/~krakowia! Principes de réalisation de la " Définitions et motivations

Plus en détail

Disque dur Fichiers Répertoires Partitions Droits d accès Quelques SGF. Système de fichiers. Julien Forget 1

Disque dur Fichiers Répertoires Partitions Droits d accès Quelques SGF. Système de fichiers. Julien Forget 1 Julien Forget 1 Université Lille 1 École Polytechnique Universitaire de Lille Cité Scientifique 59655 Villeneuve d Ascq GIS3 2011-2012 1. Inspiré des slides de Thomas Vantroys 1 / 81 Plan 1 Le disque dur

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

Architecture des ordinateurs. Mémoires (II) Licence Informatique - Université de Provence. Jean-Marc Talbot

Architecture des ordinateurs. Mémoires (II) Licence Informatique - Université de Provence. Jean-Marc Talbot Architecture des ordinateurs Licence Informatique - Université de Provence Jean-Marc Talbot Mémoires jtalbot@cmi.univ-mrs.fr L3 Informatique - Université de Provence () Architecture des ordinateurs 120

Plus en détail

La famille x86. Eduardo Sanchez Laboratoire de Systèmes Logiques. Ecole Polytechnique Fédérale de Lausanne

La famille x86. Eduardo Sanchez Laboratoire de Systèmes Logiques. Ecole Polytechnique Fédérale de Lausanne La famille x86 Laboratoire de Systèmes Logiques Désavantages de l architecture x86 Très vieille architecture: basée sur le 8080 (commercialisé en 1974, 6 000 transistors et 8 registres) Le premier 8086

Plus en détail

Les processeurs. Les entrées-sorties

Les processeurs. Les entrées-sorties Les entrées-sorties La problématique des entrées sorties est la suivante : - Le processeur va vite, plus vite que des éléments mécaniques tel que l on trouve dans une imprimante, une souris, un clavier.

Plus en détail

Plan du chapitre. Systèmes de gestion des fichiers. Définitions. Pourquoi des fichiers. Organisation logique : les fichiers.

Plan du chapitre. Systèmes de gestion des fichiers. Définitions. Pourquoi des fichiers. Organisation logique : les fichiers. Plan du chapitre Systèmes de gestion des fichiers Introduction Organisation logique Fichiers Désignation et catalogues Mise en œuvre des SGF Gestion de l espace libre Descripteurs de fichiers Amélioration

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

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

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

Questions à choix multiples Page 1 de 11

Questions à choix multiples Page 1 de 11 INF3172 Principes des systèmes d'exploitation Examen intra hiver 2015 Question #1 Quel est l'objectif d'un système d'exploitation? a) Protéger les composants de l'ordinateur b) Fournir une abstraction

Plus en détail

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

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

Plus en détail

Structure en couches des systèmes informatiques

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

Plus en détail

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

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

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

Plus en détail

Principes des systèmes d'exploitation

Principes des systèmes d'exploitation Principes des systèmes d'exploitation Fonctions : Machine virtuelle : ajoute des fonctionnalités (par exemple système de fichier vs accès pistes - secteurs) Gestion des ressources : processeur, mémoire,

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

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

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

LA GESTION DE FICHIERS

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

Plus en détail

Objectifs. Architecture des Ordinateurs Partie III : Liens avec le système d exploitation. Au sommaire... Schéma général d un compilateur (1/8)

Objectifs. Architecture des Ordinateurs Partie III : Liens avec le système d exploitation. Au sommaire... Schéma général d un compilateur (1/8) Architecture des Ordinateurs Partie III : Liens avec le système d exploitation 2. Génération de code David Simplot simplot@fil.univ-lille1.fr Objectifs Voir la génération de code ainsi que les mécanismes

Plus en détail

Cours Architecture des ordinateurs (Archi II) Entrées / Sorties Resp. Mr Mohamed Feredj MCA Courriel : archiferedj@gmail.com

Cours Architecture des ordinateurs (Archi II) Entrées / Sorties Resp. Mr Mohamed Feredj MCA Courriel : archiferedj@gmail.com Cours Architecture des ordinateurs (Archi II) Entrées / Sorties Resp. Mr Mohamed Feredj MCA Courriel : archiferedj@gmail.com 1 1) Objectif Discuter comment les données sont transférées entre le et les

Plus en détail

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

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

Plus en détail

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

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

Plus en détail

Implémentation des systèmes de fichiers. Didier Verna. didier@lrde.epita.fr http://www.lrde.epita.fr/ didier. Systèmes d Exploitation

Implémentation des systèmes de fichiers. Didier Verna. didier@lrde.epita.fr http://www.lrde.epita.fr/ didier. Systèmes d Exploitation 1/25 Implémentation des systèmes de fichiers didier@lrde.epita.fr http://www.lrde.epita.fr/ didier 2/25 Table des matières 1 2 Méthodes d allocation 3 Implémentation des répertoires 4 Implémentation du

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

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

LE BIOS : QU EST-CE QUE C EST?

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

Plus en détail

Les Entrées et Sorties: Programmées, interruptions, et DMA. GIF-1001 Ordinateurs: Structure et Applications, Hiver 2015 Jean-François Lalonde

Les Entrées et Sorties: Programmées, interruptions, et DMA. GIF-1001 Ordinateurs: Structure et Applications, Hiver 2015 Jean-François Lalonde Les Entrées et Sorties: Programmées, interruptions, et DMA GIF-1001 Ordinateurs: Structure et Applications, Hiver 2015 Jean-François Lalonde Aujourd hui Entrées-sorties Programmées Par interruptions Le

Plus en détail

Systèmes d'exploitation Chapitre 3: Gestion de fichiers

Systèmes d'exploitation Chapitre 3: Gestion de fichiers Université Cadi Ayyad Faculté Polydisciplinaire de Safi Département sciences mathématiques et informatique Systèmes d'exploitation Chapitre 3: Gestion de fichiers Le stockage fiable, rapide de grandes

Plus en détail

Dépassement de tampon

Dépassement de tampon Dépassement de tampon En informatique, un dépassement de tampon ou débordement de tampon (en anglais, buffer overflow) est un bug par lequel un processus, lors de l'écriture dans un tampon, écrit à l'extérieur

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

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

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

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

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

Plus en détail

exemples de SGF Exemples de SGF

exemples de SGF Exemples de SGF 1 Exemples de SGF FAT - VFAT (1) 2 Partitions 2 Go 3 parties: FAT, éventuellement dupliquée répertoire racine, de taille bornée: 512 entrées de 32 octets objets externes Allocation par bloc de taille fixe

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

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

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

Plus en détail

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

Une introduction au langage C++ Marc Jachym, Lurpa

Une introduction au langage C++ Marc Jachym, Lurpa Une introduction au langage C++ Marc Jachym, Lurpa Janvier 2008 À l origine, le langage C Langage procédural créé dans les années 1970 aux laboratoires Bell (ATT : télécoms américains) en vue d écrire

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

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

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

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

Plus en détail

Chapitre 2 : Architecture d un ordinateur

Chapitre 2 : Architecture d un ordinateur I. Introduction : Chapitre 2 : Architecture d un ordinateur Activité 1 : Q : Comment on peut effectuer un traitement automatique? R : On doit utiliser une machine automatique c est l ordinateur. Q : Quelles

Plus en détail

1 : 1 er programmes & prise en main de l environnement

1 : 1 er programmes & prise en main de l environnement 1 : 1 er programmes & prise en main de l environnement 1 Introduction 1.1 Rappel : gestion d arborescence et de fichiers sous UNIX Pour la manipulation de répertoire et de fichier à partir d un terminal

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

Récupération automatique de la

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

Plus en détail

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

Chap. V : Les interruptions

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

Plus en détail

Architecture matérielle

Architecture matérielle Architecture matérielle Jacques Madelaine 1 Modèle de Von Neumann Mémoire Périphérique d E/S Bus de données Bus d adresses Bus de commandes UC centrale (CPU Central Processing Unit) prend depuis la mémoire

Plus en détail

Supports d exécution matériels pour l embarqué. Jean-Philippe Babau

Supports d exécution matériels pour l embarqué. Jean-Philippe Babau Supports d exécution matériels pour l embarqué Jean-Philippe Babau Département Informatique, INSA Lyon Les contraintes Coût de quelques euros à quelques centaines d'euros Contraintes d énergie (mobilité,

Plus en détail

Introduction aux systèmes d exploitation

Introduction aux systèmes d exploitation Introduction 1 Introduction aux systèmes d exploitation 2004 05 Alexandre Sedoglavic & Jean-François Roos http ://www.lifl.fr/ sedoglav/os/ (support de cours, td et tp ; références : bibliographie et url

Plus en détail

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

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

Plus en détail

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

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

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

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

Architecture matérielle http://nicodewaele.info Nicolas Dewaele

Architecture matérielle http://nicodewaele.info Nicolas Dewaele Architecture des ordinateurs Définition d'un ordinateur Architecture matérielle Architecture de Von Neumann (Années 1940) Von Neumann : Mathématicien, inventeur de l'architecture des ordinateurs modernes

Plus en détail

La Gestion des Fichiers

La Gestion des Fichiers KWWSZZZDGHOHLPDJIUaGRQVH]FRXUV 6\VWqPHVG ([SORLWDWLRQ La Gestion des Fichiers Hafid Bourzoufi Université de Valenciennes Didier Donsez Université Grenoble 1 'LGLHU'RQVH]#LPDJIU 2 Système de fichiers De

Plus en détail

L3 Informatique - Systèmes d exploitation

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

Plus en détail