TP3 : Manipulation et implantation de systèmes de fichiers 1
|
|
|
- Viviane Girard
- il y a 10 ans
- Total affichages :
Transcription
1 École Normale Supérieure Systèmes et réseaux Année 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 mon_pwd qui affiche le répertoire courant équivalente à la commande /bin/pwd du système. Question 1. Faire cela en une ligne avec la fonction Unix.getcwd. Utiliser la fonction Unix.handle_unix_error: ( a -> b) -> a -> b pour récupérer et afficher les éventuelles formes de l exception Unix_error levées dans le module Unix lors des appels système. La commande Unix.getcwd n est pas toujours directement un appel système mais simplement une fonction écrite en C (qui elle-même fait des appels système). On se propose donc de réécrire la fonction getcwd en OCaml. Cette fonction doit pouvoir être utilisée comme fonction de librairie : elle ne doit donc pas modifier les variables globales du programme ni créer une fuite de mémoire. Cette fonction remonte récursivement dans la hiérarchie jusqu à la racine du système en recherchant à chaque étape le répertoire courant. dans le répertoire supérieur... Question 2. Écrire une fonction equal_node: stats -> stats -> bool qui teste si deux noeuds de la hiérarchie de fichiers sont identiques. Deux noeuds sont identiques si et seulement si leurs numéros de noeuds et leurs numéros de partition sont égaux. Question 3. Écrire une fonction try_finally: ( a -> b) -> a -> ( c -> d) -> c -> b qui prend quatre arguments f, x, finally et y et qui effectue le calcul f x, puis, avant de retourner le résultat, exécute finally y, y compris lorsque le résultat est une exception. Question 4. Écrire une fonction dir_find: (string -> bool) -> string -> string qui prend en arguments un prédicat f: string -> bool et un nom de répertoire et recherche dans celui-ci le nom d un fichier qui satisfait le prédicat f. Si la fonction trouve le fichier elle retourne son nom, sinon elle lève l exception Not_found. Pour écrire cette fonction, on utilisera les fonctions Unix.opendir, Unix.readdir et Unix.closedir. Pour ne pas créer une fuite de mémoire, on fera bien attention à refermer le répertoire ouvert, y compris lorsqu une exception est levée, avant de rendre le résultat ou de relever une exception. Question 5. Écrire une fonction mon_getcwd qui se comporte comme Unix.getcwd. L algorithme manipule des chemins et des noeuds. Les informations sur les noeuds, indispensables à la comparaison de noeuds, sont obtenues par l appel système Unix.lstat qui prend en argument un chemin (on n utilise pas Unix.stat ici car on recherche un chemin directe issu de la racine qui ne traverse pas de liens symboliques). Pour être portable, on utilisera les fonctions concat, current_dir_name (.) et parent_dir_name (..) du module Filename pour manipuler les chemins. On évitera l utilisation de chdir qui affecterait alors le reste du programme. Question 6. Terminer le programme. On n oubliera pas d appeler handle_unix_error pour reporter les messages d erreurs éventuels qui peuvent se produire pendant le parcours de la hiérarchie. 1. D après des exercices qui ont été créés par Didier Remy. 1
2 2 Parcours de l arborescence (optionnel) La commande find d Unix permet d effectuer diverses recherches dans le système de fichiers. Par exemple, elle permet de : afficher tous les chemins (fichiers et répertoires) accessibles depuis le répertoire courant : find. afficher tous les chemins accessibles depuis le répertoire courant qui correspondent à des répertoires : find. -type d afficher tous les chemins accessibles depuis le répertoire courant qui correspondent à des répertoires et qui ont une profondeur inférieure à 2 dans l arborescence : find. -maxdepth 2 -type d afficher tous les chemins accessibles depuis le répertoire home qui correspondent à des fichiers réguliers qui ont été accédés il y a 2 jours : find ~ -type f -atime 2 On désire écrire une commande mon_find qui se limite à un sous-ensemble des possibilités de la commande find du système. Question 7. Question 8. Écrire une première commande mon_find0 équivalente à find. -maxdepth 1. Écrire une seconde version mon_find1 équivalente à find.. Question 9. Implanter les comportements équivalents aux options : -L ; -type ; -atime ; Pour réaliser cette commande, on pourra utiliser le module Arg pour récupérer les arguments de la ligne de commande. 3 Implantation d un système de fichier Dans cette partie, nous allons étudier l implantation d un système de fichiers simple. Le disque dur sera modélisé par un fichier et le système par votre programme. 3.1 Description du système de fichiers Le système de fichier est paramétré par trois valeurs : nb_block, le nombre total de blocs sur le disque block_size, la taille d un bloc du disque en octects inode_nb, le nombre total d inodes sur le disque Le fichier contenant ce système de fichier est composé de : un superbloc (un bloc), inode_nb blocs inode, nb_block - inode_nb - 1 blocs de données, et la valeur de block_size sur 4 octects. La taille totale du fichier est donc nb_block * block_size + 4. Le superbloc (premier bloc de la partition) contient dans cet ordre : inode_nb, le nombre total d inodes sur ce disque last_free_inode, le numéro du bloc contenant le dernier inode libéré. free_block_list, le numéro d un bloc index de la liste des blocs libres. free_block_nb, le nombre de blocs libres. 2
3 root_inode, le numéro de l inode correspondant au répertoire racine de la partition (toujours 1 dans notre cas) à la fin du block, fstype, une chaîne de 4 caractères permettant d identifier le type de fichier. Dans notre cas, il doit s agir de sfs0. Le numéro d un inode correspond au numéro du bloc le contenant. Chaque inode contient : kind, le type du fichier, un entier dont la valeur est 0 pour un fichier et 1 pour un répertoire, nlink, le nombre de liens durs vers ce fichier. Si cette valeur est nulle, l inode est considéré comme libre, et peut être utilisé pour la création d un nouveau fichier. size, la taille du fichier en octects, blocks[], les numéros des blocs contenant les données du fichier. Le bloc 0 correspond à un bloc rempli de zéros, non encore alloué. La liste des blocs libres est formée de blocs index : chaque bloc index contient les numéros des blocs libres, ainsi que le numéro du bloc index suivant en position 0. Lorsqu un souhaite utiliser un bloc, et qu il ne reste plus de blocs libres dans le bloc index courant, on utilise cette valeur comme nouveau bloc index, et on retourne l ancien bloc index comme bloc à utiliser. Une valeur de bloc index de 0 indique qu il n y a plus de blocs libres dans le système de fichiers. Finalement, les répertoires sont composés d une suite d entrées (dirent) contenant un nom de fichier sur filename_max_size octects, terminé par un caractère zéro s il est plus court que filename_max_size, et d un numéro d inode. filename_max_size est fixée à 28. Une entrée d un répertoire peut être inutilisée (si un fichier a été ajouté puis supprimé), auquel cas le nom du fichier est simplement vide (i.e. le premier octect de l entrée est 0). Pour rajouter un fichier à un répertoire, il faut donc soit trouver une entrée vide, soit ajouter une entrée au répertoire. Un exemple de fichier partition simplefs.bin et le squelette du programme sont fournis à l adresse suivante : Vérification Le but maintenant consiste à s assurer que le fichier partition précédent n est pas corrompu avant de l utiliser. Pour cela, on désire effectuer les vérifications suivantes : Le compteur de liens durs de chaque inode correspond bien au nombre de fois où le fichier apparaît dans un répertoire. Un bloc utilisé par un fichier n apparaît jamais dans la liste des blocs libres. Tout bloc non-utilisé apparaît bien dans la liste des blocs libres. Un bloc utilisé par un fichier n est jamais utilisé par un autre fichier. Question 10. Écrire une fonction open_partition: string -> partition qui prend en argument un nom de fichier et retourne une valeur de type partition initialisée à partir du contenu du fichier. Tester votre fonction en utilisant la fonction print_partition. On devrait trouver : Partition simplefs.bin (alive) block_size: 1024 block_nb: block_word_size: 256 i-nodes blocktbl_size: 253 max_file_size: blocktbl_offset: 12 supernode inode_nb:
4 last_free_inode: 1650 free_block_list: 9473 free_block_nb: 7530 fstype: sfs0 root_inode: 1 Question 11. Écrire une fonction lseek_block: partition -> int -> unit qui positionne le descripteur de fichier de la partition au début du bloc dont le numéro est donné en argument. Question 12. Écrire une fonction read_block: partition -> int -> string qui retourne une chaîne de caractère contenant le contenu du bloc dont le numéro a été passé en argument. Question 13. Écrire une fonction read_inode: partition -> int -> inode qui retourne la valeur de type inode associée au numéro d inode fourni en argument de la fonction. Notre but est d écrire une fonction fsck qui va vérifier l état du système de fichiers. Pour cela, nous avons besoin de parcourir l arborescence des fichiers sur la partition, à partir de l inode d un répertoire. Nous définissons un type file_descr pour les descripteurs de fichiers, que nous allons utiliser pour manipuler les fichiers en général, et dans le cas immédiat, les répertoires : type file_descr = { inode : inode; mutable pos : int; mutable closed : bool } let open_inode inode = { inode = inode; pos = 0; closed = false; } La fonction open_inode ci-dessus associe un descripteur de fichier à un inode. Question 14. Écrire la fonction correspondant à l appel système read. Cette fonction provoque les erreurs EINVAL si les arguments sont invalides (descripteur fermé, chaîne trop courte), ainsi que EIO si le fichier est plus grand que la taille maximale. Question 15. Écrire la fonction read_dirent: file_descr -> int * string, qui lit l entrée suivante du répertoire dont le descripteur a été passé en argument, et qui retourne la paire composée du numéro d inode et du nom de fichier, ou lève l exception End_of_file si la fin du répertoire est atteinte. Tester votre fonction en utilisant la fonction print_directory. Notre fonction fsck doit calculer le type de chaque bloc et son utilisation, afin de vérifier la cohérence du système de fichier. Nous définissons donc ici les valeurs que peuvent prendre les différents blocs du système. type block_type = Supernode (* Supernode du système *) Inode of int (* Inode, nombre de liens durs observés *) Block of bool (* Block, utilisé ou pas *) IndexBlock (* Block d index de la liste des blocs libres *) FreeBlock (* Block libre confirmé *) Question 16. Écrire la fonction fsck : Créer un tableau contenant le type de chaque bloc au départ. Parcourir l arborescence des fichiers à partir de la racine. Ne parcourir qu une fois chaque inode, mais ne pas oublier de changer son type dans le tableau pour correspondre aux nombres de liens durs observés. 4
5 Marquer chaque bloc utilisé par un fichier. Se plaindre si un bloc est utilisé par plusieurs fichiers. Se plaindre si des blocs non nuls apparaissent après la fin du fichier. Parcourir la liste des blocs libres, et vérifier : Que chaque bloc noté libre est bien inutilisé Que tous les blocs inutilisés apparaissent dans cette liste. 5
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
6 - Le système de gestion de fichiers F. Boyer, UJF-Laboratoire Lig, [email protected]
6 - Le système de gestion de fichiers F. Boyer, UJF-Laboratoire Lig, [email protected] Interface d un SGF Implémentation d un SGF Gestion de la correspondance entre la structure logique et la structure
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)
Classes et Objets en Ocaml.
Classes et Objets en Ocaml. Didier Rémy 2001-2002 http://cristal.inria.fr/ remy/mot/2/ http://www.enseignement.polytechnique.fr/profs/informatique/didier.remy/mot/2/ Cours Exercices Slide 1 1. Objets 2.
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
# let rec concat l1 l2 = match l1 with [] -> l2 x::l 1 -> x::(concat l 1 l2);; val concat : a list -> a list -> a list = <fun>
94 Programmation en OCaml 5.4.8. Concaténation de deux listes Définissons maintenant la fonction concat qui met bout à bout deux listes. Ainsi, si l1 et l2 sont deux listes quelconques, concat l1 l2 constitue
IN 102 - Cours 1. 1 Informatique, calculateurs. 2 Un premier programme en C
IN 102 - Cours 1 Qu on le veuille ou non, les systèmes informatisés sont désormais omniprésents. Même si ne vous destinez pas à l informatique, vous avez de très grandes chances d y être confrontés en
Conventions d écriture et outils de mise au point
Logiciel de base Première année par alternance Responsable : Christophe Rippert [email protected] Introduction Conventions d écriture et outils de mise au point On va utiliser dans cette
Cours 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.............................
TP, première séquence d exercices.
TP, première séquence d exercices. Benoît Valiron [email protected] 7 novembre 2010 Introduction Vous écrirez les réponses aux questions courtes sur une feuille à rendre à la fin de la
Exceptions. 1 Entrées/sorties. Objectif. Manipuler les exceptions ;
CNAM NFP121 TP 10 19/11/2013 (Séance 5) Objectif Manipuler les exceptions ; 1 Entrées/sorties Exercice 1 : Lire un entier à partir du clavier Ajouter une méthode readint(string message) dans la classe
TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile
TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile Dans ce TP, vous apprendrez à définir le type abstrait Pile, à le programmer en Java à l aide d une interface
Cours 1 : Introduction. Langages objets. but du module. contrôle des connaissances. Pourquoi Java? présentation du module. Présentation de Java
Langages objets Introduction M2 Pro CCI, Informatique Emmanuel Waller, LRI, Orsay présentation du module logistique 12 blocs de 4h + 1 bloc 2h = 50h 1h15 cours, 45mn exercices table, 2h TD machine page
SYSTÈME DE GESTION DE FICHIERS
SYSTÈME DE GESTION DE FICHIERS - DISQUE 1 Les couches logiciels réponse requête Requêtes E/S Système E/S Pilote E/S Interruptions utilisateur traitement S.E. commandes S.E. S.E. matériel Contrôleur E/S
Projet d informatique M1BI : Compression et décompression de texte. 1 Généralités sur la compression/décompression de texte
Projet d informatique M1BI : Compression et décompression de texte Le but de ce projet est de coder un programme réalisant de la compression et décompression de texte. On se proposera de coder deux algorithmes
Les structures de données. Rajae El Ouazzani
Les structures de données Rajae El Ouazzani Les arbres 2 1- Définition de l arborescence Une arborescence est une collection de nœuds reliés entre eux par des arcs. La collection peut être vide, cad l
SYSTÈME DE GESTION DE FICHIERS SGF - DISQUE
SYSTÈME DE GESTION DE FICHIERS SGF - DISQUE C.Crochepeyre MPS_SGF 2000-20001 Diapason 1 Les couches logiciels réponse SGF requête matériel matériel Requêtes E/S Système E/S Pilote E/S Interruptions Contrôleur
Prénom : Matricule : Sigle et titre du cours Groupe Trimestre INF1101 Algorithmes et structures de données Tous H2004. Loc Jeudi 29/4/2004
Questionnaire d'examen final INF1101 Sigle du cours Nom : Signature : Prénom : Matricule : Sigle et titre du cours Groupe Trimestre INF1101 Algorithmes et structures de données Tous H2004 Professeur(s)
Travaux pratiques. Compression en codage de Huffman. 1.3. Organisation d un projet de programmation
Université de Savoie Module ETRS711 Travaux pratiques Compression en codage de Huffman 1. Organisation du projet 1.1. Objectifs Le but de ce projet est d'écrire un programme permettant de compresser des
GESTION DES FICHIERS C/UNIX
Licence IG Page 1 sur 6 GESTION DES FICHIERS C/UNIX Introduction Deux modes d appel - Par la bibliothèque standard C (appel de haut niveau) - Par appels système (bas niveau) Nécessite les includes suivant
Licence Sciences et Technologies Examen janvier 2010
Université de Provence Introduction à l Informatique Licence Sciences et Technologies Examen janvier 2010 Année 2009-10 Aucun document n est autorisé Les exercices peuvent être traités dans le désordre.
Algorithmique 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
Licence Bio Informatique Année 2004-2005. Premiers pas. Exercice 1 Hello World parce qu il faut bien commencer par quelque chose...
Université Paris 7 Programmation Objet Licence Bio Informatique Année 2004-2005 TD n 1 - Correction Premiers pas Exercice 1 Hello World parce qu il faut bien commencer par quelque chose... 1. Enregistrez
Chapitre V : La gestion de la mémoire. Hiérarchie de mémoires Objectifs Méthodes d'allocation Simulation de mémoire virtuelle Le mapping
Chapitre V : La gestion de la mémoire Hiérarchie de mémoires Objectifs Méthodes d'allocation Simulation de mémoire virtuelle Le mapping Introduction Plusieurs dizaines de processus doivent se partager
Initiation à la Programmation en Logique avec SISCtus Prolog
Initiation à la Programmation en Logique avec SISCtus Prolog Identificateurs Ils sont représentés par une suite de caractères alphanumériques commençant par une lettre minuscule (les lettres accentuées
Cours intensif Java. 1er cours: de C à Java. Enrica DUCHI LIAFA, Paris 7. Septembre 2009. [email protected]
. Cours intensif Java 1er cours: de C à Java Septembre 2009 Enrica DUCHI LIAFA, Paris 7 [email protected] LANGAGES DE PROGRAMMATION Pour exécuter un algorithme sur un ordinateur il faut le
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
Chapitre 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
TD séances n 3 et n 4 Répertoires et Fichiers sous Unix
Ce TP est destiné à vous familiariser avec les fichiers sous l'environnement UNIX. Fortement axé sur la pratique, il aborde la création, la manipulation et la suppression des répertoires et fichiers. 1
OCL - Object Constraint Language
OCL - Object Constraint Language Laëtitia Matignon [email protected] Département Informatique - Polytech Lyon Université Claude Bernard Lyon 1 2012-2013 Laëtitia Matignon SIMA - OCL - Object
Plateforme PAYZEN. Définition de Web-services
Plateforme PAYZEN Définition de Web-services Ordre de paiement Version 1.1 Rédaction, Vérification, Approbation Rédaction Vérification Approbation Nom Date/Visa Nom Date/Visa Nom Date/Visa Lyra-Network
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
Chapitre I Notions de base et outils de travail
Chapitre I Notions de base et outils de travail Objectifs Connaître les principes fondateurs et l historique du langage Java S informer des principales caractéristiques du langage Java Connaître l environnement
TP 1 Prise en main de l environnement Unix
Introduction aux systèmes d exploitation (IS1) TP 1 Prise en main de l environnement Unix Le but de ce premier TP est de commencer à vous familiariser avec l environnement Unix. 1 Ouverture de session
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
TP1 : Initiation à Java et Eclipse
TP1 : Initiation à Java et Eclipse 1 TP1 : Initiation à Java et Eclipse Systèmes d Exploitation Avancés I. Objectifs du TP Ce TP est une introduction au langage Java. Il vous permettra de comprendre les
Étude de l application DNS (Domain Name System)
Étude de l application DNS (Domain Name System) RICM 4 - Option Réseaux Pascal Sicard Introduction Le but de ce TP est de comprendre l utilisation et le fonctionnement de l application réseau DNS (Domain
Plan 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
TD3: tableaux avancées, première classe et chaînes
TD3: tableaux avancées, première classe et chaînes de caractères 1 Lestableaux 1.1 Élémentsthéoriques Déclaration des tableaux Pour la déclaration des tableaux, deux notations sont possibles. La première
LES TYPES DE DONNÉES DU LANGAGE PASCAL
LES TYPES DE DONNÉES DU LANGAGE PASCAL 75 LES TYPES DE DONNÉES DU LANGAGE PASCAL CHAPITRE 4 OBJECTIFS PRÉSENTER LES NOTIONS D ÉTIQUETTE, DE CONS- TANTE ET DE IABLE DANS LE CONTEXTE DU LAN- GAGE PASCAL.
Suivant les langages de programmation, modules plus avancés : modules imbriqués modules paramétrés par des modules (foncteurs)
Modularité Extensions Suivant les langages de programmation, modules plus avancés : modules imbriqués modules paramétrés par des modules (foncteurs) généricité modules de première classe : peuvent être
Systèmes d Exploitation - ENSIN6U3. Aix-Marseille Université
Systèmes d Exploitation - ENSIN6U3 Systèmes de gestion de fichiers - SGF Leonardo Brenner 1 Jean-Luc Massat 2 1 [email protected] 2 [email protected] Aix-Marseille Université Faculté
1/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
TP1 - Prise en main de l environnement Unix.
Mise à niveau UNIX Licence Bio-informatique TP1 - Prise en main de l environnement Unix. Les sujets de TP sont disponibles à l adresse http://www.pps.jussieu.fr/~tasson/enseignement/bioinfo/ Les documents
Gestion distribuée (par sockets) de banque en Java
Gestion distribuée (par sockets) de banque en Java Université Paris Sud Rappel sur la solution locale de gestion simple de banque L objet de cet exercice était de créer une application java qui implante
CARPE. Documentation Informatique S E T R A. Version 2.00. Août 2013. CARPE (Documentation Informatique) 1
CARPE (Documentation Informatique) 1 CARPE Version 2.00 Août 2013 Documentation Informatique S E T R A Programme CARPE - Manuel informatique de l'utilisateur CARPE (Documentation Informatique) 2 Table
Les chaînes de caractères
Les chaînes de caractères Dans un programme informatique, les chaînes de caractères servent à stocker les informations non numériques comme par exemple une liste de nom de personne ou des adresses. Il
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
Réparer un disque dur passé en RAW
Réparer un disque dur passé en RAW Vous branchez comme d habitude votre disque dur externe à votre ordinateur afin de récupérer son contenu ou de lui ajouter des fichiers quand Windows vous propose de
Premiers Pas en Programmation Objet : les Classes et les Objets
Chapitre 2 Premiers Pas en Programmation Objet : les Classes et les Objets Dans la première partie de ce cours, nous avons appris à manipuler des objets de type simple : entiers, doubles, caractères, booléens.
Éléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if
Éléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if Pierre Boudes 28 septembre 2011 This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike
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
Projet L1, S2, 2015: Simulation de fourmis, Soutenance la semaine du 4 mai.
Projet L1, S2, 2015: Simulation de fourmis, Soutenance la semaine du 4 mai. 1 Introduction On considère une grille de 20 lignes 20 colonnes. Une case de la grille peut être vide, ou contenir une et une
Cours Base de données relationnelles. M. Boughanem, IUP STRI
Cours Base de données relationnelles 1 Plan 1. Notions de base 2. Modèle relationnel 3. SQL 2 Notions de base (1) Définition intuitive : une base de données est un ensemble d informations, (fichiers),
Cours d Algorithmique-Programmation 2 e partie (IAP2): programmation 24 octobre 2007impérative 1 / 44 et. structures de données simples
Cours d Algorithmique-Programmation 2 e partie (IAP2): programmation impérative et structures de données simples Introduction au langage C Sandrine Blazy - 1ère année 24 octobre 2007 Cours d Algorithmique-Programmation
Resolution limit in community detection
Introduction Plan 2006 Introduction Plan Introduction Introduction Plan Introduction Point de départ : un graphe et des sous-graphes. But : quantifier le fait que les sous-graphes choisis sont des modules.
Définition des Webservices Ordre de paiement par email. Version 1.0
Définition des Webservices Ordre de paiement par email Version 1.0 Rédaction, Vérification, Approbation Rédaction Vérification Approbation Nom Date/Visa Nom Date/Visa Nom Date/Visa Historique du document
Encryptions, compression et partitionnement des données
Encryptions, compression et partitionnement des données Version 1.0 Grégory CASANOVA 2 Compression, encryption et partitionnement des données Sommaire 1 Introduction... 3 2 Encryption transparente des
Programmer en JAVA. par Tama ([email protected]( [email protected])
Programmer en JAVA par Tama ([email protected]( [email protected]) Plan 1. Présentation de Java 2. Les bases du langage 3. Concepts avancés 4. Documentation 5. Index des mots-clés 6. Les erreurs fréquentes
Introduction à MATLAB R
Introduction à MATLAB R Romain Tavenard 10 septembre 2009 MATLAB R est un environnement de calcul numérique propriétaire orienté vers le calcul matriciel. Il se compose d un langage de programmation, d
GOL502 Industries de services
GOL502 Industries de services Conception d un service Partie IIb Version 2013 Introduction Conception d un service partie IIb Nous verrons dans ce chapitre Modélisation d un service; Langage de modélisation
Certificat Big Data - Master MAthématiques
1 / 1 Certificat Big Data - Master MAthématiques Master 2 Auteur : Sylvain Lamprier UPMC Fouille de données et Medias Sociaux 2 / 1 Rich and big data: Millions d utilisateurs Millions de contenus Multimedia
V- Manipulations de nombres en binaire
1 V- Manipulations de nombres en binaire L ordinateur est constitué de milliards de transistors qui travaillent comme des interrupteurs électriques, soit ouverts soit fermés. Soit la ligne est activée,
Définitions. Numéro à préciser. (Durée : )
Numéro à préciser (Durée : ) On étudie dans ce problème l ordre lexicographique pour les mots sur un alphabet fini et plusieurs constructions des cycles de De Bruijn. Les trois parties sont largement indépendantes.
J2SE Threads, 1ère partie Principe Cycle de vie Création Synchronisation
J2SE Threads, 1ère partie Principe Cycle de vie Création Synchronisation Cycle Ingénierie 2e année SIGL Dernière mise à jour : 19/10/2006 Christophe Porteneuve Threads Principes Cycle de vie Création java.lang.thread
Réparer un disque dur passé en RAW
Réparer un disque dur passé en RAW Vous branchez comme d habitude votre disque dur externe à votre ordinateur afin de récupérer son contenu ou de lui ajouter des fichiers quand Windows vous propose de
Programmation système en C/C++
Programmation système en C/C++ Jean-Baptiste Vioix ([email protected]) 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
ASR1 TD7 : Un microprocesseur RISC 16 bits
{Â Ö Ñ º ØÖ Ý,È ØÖ ºÄÓ Ù,Æ ÓÐ ºÎ ÝÖ Ø¹ ÖÚ ÐÐÓÒ} Ò ¹ÐÝÓÒº Ö ØØÔ»»Ô Ö Óº Ò ¹ÐÝÓÒº Ö» Ö Ñ º ØÖ Ý»¼ Ö½» ASR1 TD7 : Un microprocesseur RISC 16 bits 13, 20 et 27 novembre 2006 Présentation générale On choisit
Cours d introduction à l informatique. Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions
Cours d introduction à l informatique Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions Qu est-ce qu un Une recette de cuisine algorithme? Protocole expérimental
1 Recherche en table par balayage
1 Recherche en table par balayage 1.1 Problème de la recherche en table Une table désigne une liste ou un tableau d éléments. Le problème de la recherche en table est celui de la recherche d un élément
TP1 : Initiation à l algorithmique (1 séance)
Université de Versailles Vanessa Vitse IUT de Vélizy - Algorithmique 2006/2007 TP1 : Initiation à l algorithmique (1 séance) 1 Prise en main de l environnement Unix : rappels et compléments Le but de la
Unix/Linux I. 1 ere année DUT. Université marne la vallée
Unix/Linux I 1 ere année DUT Université marne la vallée 1 Introduction 2 Fonctions et spécifité d Unix Architecture 3 4 5 Fichier Unix Arborescence de fichiers Quelques commandes sur les fichiers Chemins
ET 24 : Modèle de comportement d un système Boucles de programmation avec Labview.
ET 24 : Modèle de comportement d un système Boucles de programmation avec Labview. Sciences et Technologies de l Industrie et du Développement Durable Formation des enseignants parcours : ET24 Modèle de
Installation / Sauvegarde Restauration / Mise à jour
Installation / Sauvegarde Restauration / Mise à jour SPIP version 1.8.x Serveur (Linux) Jean Sébastien BARBOTEU [email protected] Introduction Nous allons aborder tous les aspects techniques liés à la
Cours: Administration d'une Base de Données
Bases de Données Avancées Module A IUT Lumière, License CE-STAT 2006-2007 Pierre Parrend Cours: Administration d'une Base de Données Table of Contents Principes...1 Structure d'un Base de Données...1 Architecture...1
Exercices types Algorithmique et simulation numérique Oral Mathématiques et algorithmique Banque PT
Exercices types Algorithmique et simulation numérique Oral Mathématiques et algorithmique Banque PT Ces exercices portent sur les items 2, 3 et 5 du programme d informatique des classes préparatoires,
modules & compilation
Programmation fonctionnelle avec OCaml 3ème séance, 19 mars 2015 modules & compilation [email protected] http ://www.loria.fr/ shornus/ocaml/ Modules Un module regroupe un ensemble de définitions
Session 8: Android File System
Session 8: Android File System LO52 - Automne 2014 Fabien BRISSET 2 mai 2014 [email protected] www.utbm.fr Droits de reproduction Copyright 2013-2014, Fabien Brisset, Copyright 2004-2014, Free Electrons
Introduction à l informatique en BCPST
Introduction à l informatique en BCPST Alexandre Benoit BCPST L informatique en BCPST «L enseignement de l informatique en classes préparatoires de la filière BCPST a pour objectif d introduire puis de
INTRODUCTION 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
données en connaissance et en actions?
1 Partie 2 : Présentation de la plateforme SPSS Modeler : Comment transformer vos données en connaissance et en actions? SPSS Modeler : l atelier de data mining Large gamme de techniques d analyse (algorithmes)
introduction Chapitre 5 Récursivité Exemples mathématiques Fonction factorielle ø est un arbre (vide) Images récursives
introduction Chapitre 5 Images récursives http ://univ-tln.fr/~papini/sources/flocon.htm Récursivité http://www.poulain.org/fractales/index.html Image qui se contient elle-même 1 Exemples mathématiques
KL5121. Pour activer des sorties en fonction de la position d'un codeur
KL5121 Pour activer des sorties en fonction de la position d'un codeur VERSION : 1.0 / PH DATE : 07 Février 2006 Sommaire Ce manuel explique de manière pratique les étapes successives pour mettre en œuvre
Chapitre 2. Classes et objets
Chapitre 2: Classes et Objets 1/10 Chapitre 2 Classes et objets Chapitre 2: Classes et Objets 2/10 Approche Orientée Objet Idée de base de A.O.O. repose sur l'observation de la façon dont nous procédons
Travaux Dirigés n 1 : chaînes de caractères
UE LE315 Travaux Dirigés n 1 : chaînes de caractères Exercice 1 Ecrire une fonction int nombre_caract(char *chaîne) qui retourne la taille d une chaîne de caractères. Exercice 2 Ecrire la fonction void
1. Systèmes d entrée/sortie 2. Systèmes de fichiers 3. Structure de mémoire de masse (disques)
Chapitre 4 Le système de Gestion de Fichiers 1. Systèmes d entrée/sortie 2. Systèmes de fichiers 3. Structure de mémoire de masse (disques) 1 Systèmes d entrée/sortie Concepts importants : Matériel E/S
Tp 1 correction. Structures de données (IF2)
Tp 1 correction Structures de données (IF2) Remarque générale : compilez et exécutez le code au-fur-et-à mesure de son écriture. Il est plus facile de corriger une petite portion de code délimitée que
Introduction à MapReduce/Hadoop et Spark
1 / 36 Introduction à MapReduce/Hadoop et Spark Certificat Big Data Ludovic Denoyer et Sylvain Lamprier UPMC Plan 2 / 36 Contexte 3 / 36 Contexte 4 / 36 Data driven science: le 4e paradigme (Jim Gray -
Date M.P Libellé Catégorie S.Catégorie Crédit Débit Solde S.B
Excel : Réalisation d un classeur Compta Saisir les étiquettes Renommer la première feuille Compta Laisser la première ligne vide et sur la deuxième ligne saisir les étiquettes Se placer sur A2 et saisir
Bases de programmation. Cours 5. Structurer les données
Bases de programmation. Cours 5. Structurer les données Pierre Boudes 1 er décembre 2014 This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License. Types char et
Sécurité et fiabilité des SI : Chiffrement de disques durs
Facultés Universitaires Notre Dame de la Paix Namur Sécurité et fiabilité des SI : Chiffrement de disques durs Décembre 2011 BENATS Pol JEANJOT Arno MAES Jerome Cours : INFO-M115 Professeur : J-N Colin
Dans le chapitre 1, nous associions aux fichiers ouverts des descripteurs de fichiers par lesquels nous accédions aux fichiers.
I Présentation : Dans le chapitre 1, nous avons vu comment utiliser les appels-systèmes de bas niveau pour créer et accéder à des fichiers sur le disque. Nous avons notamment mis en évidence leur dépouillement
STAGE IREM 0- Premiers pas en Python
Université de Bordeaux 16-18 Février 2014/2015 STAGE IREM 0- Premiers pas en Python IREM de Bordeaux Affectation et expressions Le langage python permet tout d abord de faire des calculs. On peut évaluer
Atelier C TIA Portal CTIA04 : Programmation des automates S7-300 Opérations numériques
Atelier C TIA Portal CTIA04 : Programmation des automates S7-300 Opérations numériques CTIA04 Page 1 1. Les types de données sous S7 300 Il existe plusieurs types de données utilisées pour la programmation
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
Cours d Algorithmique et de Langage C 2005 - v 3.0
Cours d Algorithmique et de Langage C 2005 - v 3.0 Bob CORDEAU [email protected] Mesures Physiques IUT d Orsay 15 mai 2006 Avant-propos Avant-propos Ce cours en libre accès repose sur trois partis pris
Présentation du langage et premières fonctions
1 Présentation de l interface logicielle Si les langages de haut niveau sont nombreux, nous allons travaillé cette année avec le langage Python, un langage de programmation très en vue sur internet en
TP 1. Prise en main du langage Python
TP. Prise en main du langage Python Cette année nous travaillerons avec le langage Python version 3. ; nous utiliserons l environnement de développement IDLE. Étape 0. Dans votre espace personnel, créer
