Systèmes d Exploitation & Machines Virtuelles. Format de l enseignement. Objectif du cours
|
|
- Renée Falardeau
- il y a 8 ans
- Total affichages :
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)
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étail6 - 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étailProgrammation 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étailGestion 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étailStructure 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étailProgrammation 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étailArchitecture 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étailIV- 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étailSystè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étailDE 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étailProgrammation 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étail1 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étailCours 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étailRappels 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étailArchitecture 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étailDU 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étailLa 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étailLe 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étailEPREUVE 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étailStructure 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étailConventions 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étailLA 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étailLe 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étail4. 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étailSYSTÈ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étailLeç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étailINITIATION 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étailSystè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étailCompilation (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étailProcessus! 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étail1. 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étailSYSTÈ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étailMODULE 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étailMachines 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étailCours 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étailCH.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étailExé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étailArchitecture 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étailTechniques 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étailDans 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étailPartie 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étailTD 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étailLogiciel 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étailChapitre 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étailSur 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étailRé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étailEX4C 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étail1. 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étailCours 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étailAssembleur. 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étailAlgorithmique et Programmation, IMA
Algorithmique et Programmation, IMA Cours 2 : C Premier Niveau / Algorithmique Université Lille 1 - Polytech Lille Notations, identificateurs Variables et Types de base Expressions Constantes Instructions
Plus en détailLa 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étailChapitre 3 : Système de gestion de fichiers
: 3.1- Introduction Le système de gestion de fichiers (SGF) est la partie la plus visible d un système d exploitation qui se charge de gérer le stockage et la manipulation de fichiers (sur une unité de
Plus en détail03/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étailStructure de base d un ordinateur
Structure de base d un ordinateur 1-Définition de l ordinateur L ordinateur est un appareil électronique programmable qui traite automatiquement les informations. Il est constitué de l unité centrale et
Plus en détailArchitecture des ordinateurs TD1 - Portes logiques et premiers circuits
Architecture des ordinateurs TD1 - Portes logiques et premiers circuits 1 Rappel : un peu de logique Exercice 1.1 Remplir la table de vérité suivante : a b a + b ab a + b ab a b 0 0 0 1 1 0 1 1 Exercice
Plus en détailCours 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étailGuide 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étailINTRODUCTION A JAVA. Fichier en langage machine Exécutable
INTRODUCTION A JAVA JAVA est un langage orienté-objet pur. Il ressemble beaucoup à C++ au niveau de la syntaxe. En revanche, ces deux langages sont très différents dans leur structure (organisation du
Plus en détailRéalisation d un OS 32 bits pour PC(x86)
Rapport projet tutoré Réalisation d un OS 32 bits pour PC(x86) Maxime Chéramy Nicolas Floquet Benjamin Hautbois
Plus en détailCommandes 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étailCours 1 : La compilation
/38 Interprétation des programmes Cours 1 : La compilation Yann Régis-Gianas yrg@pps.univ-paris-diderot.fr PPS - Université Denis Diderot Paris 7 2/38 Qu est-ce que la compilation? Vous avez tous déjà
Plus en détailBases de programmation. Cours 5. Structurer les données
Bases de programmation. Cours 5. Structurer les données Pierre Boudes 1 er décembre 2014 This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License. Types char et
Plus en détailArgument-fetching dataflow machine de G.R. Gao et J.B. Dennis (McGill, 1988) = machine dataflow sans flux de données
EARTH et Threaded-C: Éléments clés du manuel de références de Threaded-C Bref historique de EARTH et Threaded-C Ancêtres de l architecture EARTH: Slide 1 Machine à flux de données statique de J.B. Dennis
Plus en détailCours 1 : Introduction Ordinateurs - Langages de haut niveau - Application
Université de Provence Licence Math-Info Première Année V. Phan Luong Algorithmique et Programmation en Python Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application 1 Ordinateur Un
Plus en détailHiérarchie matériel dans le monde informatique. Architecture d ordinateur : introduction. Hiérarchie matériel dans le monde informatique
Architecture d ordinateur : introduction Dimitri Galayko Introduction à l informatique, cours 1 partie 2 Septembre 2014 Association d interrupteurs: fonctions arithmétiques élémentaires Elément «NON» Elément
Plus en détailCQP 112 Introduc/on à la programma/on. Thème 2 : Architecture d un système informa/que. Département d informa/que
CQP 112 Introduc/on à la programma/on Thème 2 : Architecture d un système informa/que Département d informa/que CQP 112 : Introduc/on à la programma/on Plan 1. Historique des ordinateurs 2. Composants
Plus en détailLicence Sciences et Technologies Examen janvier 2010
Université de Provence Introduction à l Informatique Licence Sciences et Technologies Examen janvier 2010 Année 2009-10 Aucun document n est autorisé Les exercices peuvent être traités dans le désordre.
Plus en détailSGM. Master S.T.S. mention informatique, première année. Isabelle Puaut. Septembre 2011. Université de Rennes I - IRISA
SGM Master S.T.S. mention informatique, première année Isabelle Puaut Université de Rennes I - IRISA Septembre 2011 Isabelle Puaut SGM 2 / 1 Organisation de l enseignement Semestre 1 : processus, synchronisation
Plus en détailCours A7 : Temps Réel
Cours A7 : Temps Réel Pierre.Paradinas / @ / cnam.fr Cnam/Cedric Systèmes Enfouis et Embarqués (SEE) Motivations Du jour : les mécanismes multitâches, la gestion des priorités, l ordonnancement, la gestion
Plus en détailInitiation. àl algorithmique et à la programmation. en C
Initiation àl algorithmique et à la programmation en C Initiation àl algorithmique et à la programmation en C Cours avec 129 exercices corrigés Illustration de couverture : alwyncooper - istock.com Dunod,
Plus en détailVMware 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étailPARAGON Disk Wiper. Guide de l utilisateur. Paragon Technology GmbH, System Programmierung. Copyright Paragon Technology GmbH
PARAGON Disk Wiper Guide de l utilisateur Paragon Technology GmbH, System Programmierung Copyright Paragon Technology GmbH Publié par : Paragon Technology GmbH System Programming Pearl-Str. 1 D-79426 Buggingen
Plus en détailConcept de machine virtuelle
Concept de machine virtuelle Chap. 5: Machine virtuelle Alain Sandoz Semestre été 2007 1 Introduction: Java Virtual Machine Machine Virtuelle Java: qu est-ce que c est? c est la spécification d une machine
Plus en détailLa technologie Java Card TM
Présentation interne au CESTI La technologie Java Card TM sauveron@labri.u-bordeaux.fr http://dept-info.labri.u-bordeaux.fr/~sauveron 8 novembre 2002 Plan Qu est ce que Java Card? Historique Les avantages
Plus en détailIntroduction au langage C
Introduction au langage C Cours 1: Opérations de base et premier programme Alexis Lechervy Alexis Lechervy (UNICAEN) Introduction au langage C 1 / 23 Les premiers pas Sommaire 1 Les premiers pas 2 Les
Plus en détailCARPE. 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étailConception de circuits numériques et architecture des ordinateurs
Conception de circuits numériques et architecture des ordinateurs Frédéric Pétrot Année universitaire 2014-2015 Structure du cours C1 C2 C3 C4 C5 C6 C7 C8 C9 C10 C11 Codage des nombres en base 2, logique
Plus en détailCours intensif Java. 1er cours: de C à Java. Enrica DUCHI LIAFA, Paris 7. Septembre 2009. Enrica.Duchi@liafa.jussieu.fr
. Cours intensif Java 1er cours: de C à Java Septembre 2009 Enrica DUCHI LIAFA, Paris 7 Enrica.Duchi@liafa.jussieu.fr LANGAGES DE PROGRAMMATION Pour exécuter un algorithme sur un ordinateur il faut le
Plus en détailIntroduction. Adresses
Architecture TCP/IP Introduction ITC7-2: Cours IP ESIREM Infotronique Olivier Togni, LE2I (038039)3887 olivier.togni@u-bourgogne.fr 27 février 2008 L Internet est basé sur l architecture TCP/IP du nom
Plus en détailPROGRAMME DU CONCOURS DE RÉDACTEUR INFORMATICIEN
PROGRAMME DU CONCOURS DE RÉDACTEUR INFORMATICIEN 1. DÉVELOPPEMENT D'APPLICATION (CONCEPTEUR ANALYSTE) 1.1 ARCHITECTURE MATÉRIELLE DU SYSTÈME INFORMATIQUE 1.1.1 Architecture d'un ordinateur Processeur,
Plus en détailCours d initiation à la programmation en C++ Johann Cuenin
Cours d initiation à la programmation en C++ Johann Cuenin 11 octobre 2014 2 Table des matières 1 Introduction 5 2 Bases de la programmation en C++ 7 3 Les types composés 9 3.1 Les tableaux.............................
Plus en détailCours Bases de données
Informations sur le cours Cours Bases de données 9 (10) séances de 3h Polycopié (Cours + TD/TP) 3 année (MISI) Antoine Cornuéjols www.lri.fr/~antoine antoine.cornuejols@agroparistech.fr Transparents Disponibles
Plus en détailVirtualisation logicielle De la machine réelle à la machine virtuelle abstraite
Virtualisation logicielle De la machine réelle à la machine virtuelle abstraite Bertil FOLLIOT et Gaël THOMAS Cette version est une préversion de l article accepté par «Technique de l ingénieur» (Hermes).
Plus en détailREALISATION d'un. ORDONNANCEUR à ECHEANCES
REALISATION d'un ORDONNANCEUR à ECHEANCES I- PRÉSENTATION... 3 II. DESCRIPTION DU NOYAU ORIGINEL... 4 II.1- ARCHITECTURE... 4 II.2 - SERVICES... 4 III. IMPLÉMENTATION DE L'ORDONNANCEUR À ÉCHÉANCES... 6
Plus en détailTP3 : Manipulation et implantation de systèmes de fichiers 1
École Normale Supérieure Systèmes et réseaux Année 2012-2013 TP3 : Manipulation et implantation de systèmes de fichiers 1 1 Répertoire de travail courant Le but de l exercice est d écrire une commande
Plus en détailAdministration de Parc Informatique TP07 : Installation de Linux Debian
Institut Galilée L2 Info S1 Année 2012 2013 1 Une machine virtuelle Administration de Parc Informatique TP07 : Installation de Linux Debian Le but du TP est d installer Linux (en l occurrence la distribution
Plus en détailUnix/Linux I. 1 ere année DUT. Université marne la vallée
Unix/Linux I 1 ere année DUT Université marne la vallée 1 Introduction 2 Fonctions et spécifité d Unix Architecture 3 4 5 Fichier Unix Arborescence de fichiers Quelques commandes sur les fichiers Chemins
Plus en détailTHEME 1 : L ORDINATEUR ET SON ENVIRONNEMENT. Objectifs
Architecture Matérielle des Systèmes Informatiques. S1 BTS Informatique de Gestion 1 ère année THEME 1 : L ORDINATEUR ET SON ENVIRONNEMENT Dossier 1 L environnement informatique. Objectifs Enumérer et
Plus en détailMicroprocesseur + Logiciel
Microprocesseur + Logiciel Robot EVALBOT MOHAMED AKIL BUREAU 5253 UNITE IGI 1001 PROGRAMMATION DES MICROPROCESSEURS Présentation [IGI1001] CONTEXTE SCIENTIFIQUE... 4 1. OBJECTIFS DE L UNITE... 6 2. OBJECTIFS
Plus en détailSystèmes informatiques
Systèmes informatiques Franck Guingne, sur la base du cours d Olivier Lecarme Cours Licence 1; Semestre 2 2009 2010 Troisième cours : Installation d une distribution GNU/Linux. 1 Les différentes distributions
Plus en détail1/24. I passer d un problème exprimé en français à la réalisation d un. I expressions arithmétiques. I structures de contrôle (tests, boucles)
1/4 Objectif de ce cours /4 Objectifs de ce cours Introduction au langage C - Cours Girardot/Roelens Septembre 013 Du problème au programme I passer d un problème exprimé en français à la réalisation d
Plus en détailUE Programmation Impérative Licence 2ème Année 2014 2015
UE Programmation Impérative Licence 2 ème Année 2014 2015 Informations pratiques Équipe Pédagogique Florence Cloppet Neilze Dorta Nicolas Loménie prenom.nom@mi.parisdescartes.fr 2 Programmation Impérative
Plus en détailTraitement de données
Traitement de données Présentation du module TINI Présentation du module : Le module Tini se décline en plusieurs versions, il est constitué d une carte d application et d un module processeur : Les modules
Plus en détailBack up Server DOC-OEMSPP-S/6-BUS-FR-17/05/11
Back up Server DOC-OEMSPP-S/6-BUS-FR-17/05/11 Les informations contenues dans le présent manuel de documentation ne sont pas contractuelles et peuvent faire l objet de modifications sans préavis. La fourniture
Plus en détailPlan du cours. Historique du langage http://www.oracle.com/technetwork/java/index.html. Nouveautés de Java 7
Université Lumière Lyon 2 Faculté de Sciences Economiques et Gestion KHARKIV National University of Economic Introduction au Langage Java Master Informatique 1 ère année Julien Velcin http://mediamining.univ-lyon2.fr/velcin
Plus en détailProgrammation système en C/C++
Programmation système en C/C++ Jean-Baptiste Vioix (jb.vioix@free.fr) LE2I - ENESAD http://jb.vioix.free.fr 1-41 Programmation en C/C++ sous Unix Il existe des très nombreux outils de développement sous
Plus en détailTD 1 - Installation de système UNIX, partitionnement
Département des Sciences Informatiques Licence Pro R&S 2009 2010 Administration Système T.T. Dang Ngoc dntt@u-cergy.fr TD 1 - Installation de système UNIX, partitionnement 1 Préambule Il existe de très
Plus en détailJava - la plateforme
Java - la plateforme Java la plateforme Java? VM GC JIT Java Aujourd'hui 3 environnements d'exécutions différents Java ME (Micro Edition) pour PDA, téléphone Android (Java SE moins certain paquetages)
Plus en détailSystèmes d Exploitation - ENSIN6U3. Aix-Marseille Université
Systèmes d Exploitation - ENSIN6U3 Gestion de la mémoire Leonardo Brenner 1 Jean-Luc Massat 2 1 Leonardo.Brenner@univ-amu.fr 2 Jean-Luc.Massat@univ-amu.fr Aix-Marseille Université Faculté des Sciences
Plus en détail