1.1 Fichiers et systèmes de fichiers Fichiers et Systèmes de fichiers.

Slides:



Advertisements
Présentations similaires
Formation - Fedora et VMware
Advertisements

Module Systèmes d’exploitation
Stockage de données.
La gestion des vidages de crash et des fichiers core.
Cours n° 2 Les entrées-sorties Biliothèque C++ (iostream) –
GEF 435 Principes des systèmes dexploitation Concepts des Systèmes dexploitation (Tanenbaum 1.5)
GEF 243B Programmation informatique appliquée Types dérivés, structures et tableaux §
Gestion de FICHIERS.
Systèmes d’Exploitation
13 – 16 Décembre 2005 Laurence Viry Introduction à MPI MPI_2.
Suite à de nombreuses remarques concernant le projet de structures de données 'Gestion d'un Aéroport' , voici un polycopié de cours concernant la gestion.
Introduction : Compilation et Traduction
FLSI602 Génie Informatique et Réseaux
Systèmes d’exploitation
Le système d’exploitation
Systèmes d'exploitations Les redirections d'entrées/sorties GRARI Mounir ESTO Année 2011.
SYSTEME D’EXPLOITATION
Systèmes d'exploitations GRARI Mounir ESTO Année 2011.
CPI 2005 Théorie des systèmes d’exploitation
Structures de données linéaires
Mémoire périphérique Stockage primaire: Mémoire principale (RAM)
8PRO100 Éléments de programmation Allocation dynamique de la mémoire.
Accès aux données généralisé SQL est presque une solution! Le problème: Le SQL n'est pas une langue complète, et doit être intégré dans un langage de programmation.
Système d’exploitation
1 GPA435 Systèmes dexploitation et programmation de système Copyright, 2001 © Julie Dufort, M. Ing. Chapitre 3 - ajout Systèmes de fichiers.
Systèmes d'exploitations
Les Classes les structures en C (struct) regroupent des variables : structuration de l'analyse mais problèmes de cohérence problèmes de sécurité d'accès.
FICHIERS.
LES FICHIERS Un exemple : Unix.
Etude de cas : buffer clavier
Les fichiers binaires en C++
FICHIERS : Définition : Algorithme général:
Les pointeurs Modes d’adressage de variables. Définition d’un pointeur. Opérateurs de base. Opérations élémentaires. Pointeurs et tableaux. Pointeurs et.
IFT Structures de données
Sixième cours Les chaînes de caractères et le passage de paramètres par référence Passage de paramètres par référence String.h.
Operations de Base en C++ sur les Fichiers
CSI3531 – Labo 1 Lobservation du comportement de processus.
ÉLÉMENTS DE BASE UNIX.
Les fichiers texte en C++
Jean-Michel ILIE - novembre SIL - module M12 Programmation Internet en PHP SIL module M12 Jean-Michel Ilié IUT Paris 5 - département informatique.
Les pointeurs L'opérateur &.
Sécurité des Systèmes Informatique
Sécurité des Systèmes Informatique
Mémoire périphérique Stockage primaire: Mémoire principale (RAM)
SYSTÈME D’EXPLOITATION I
Créer des packages.
SYSTÈME D’EXPLOITATION I
Un survol du language C.
1 Structures des données. 2  Le tableau permettait de désigner sous un seul nom un ensemble de valeurs de même type, chacune d'entre elles étant repérée.
Système d’exploitation 2 Unix User
Maria Malek - EISTI - CPI11 Présentation d’UNIX –1969, laboratoire Bell –Systèmes multi-tâches multi-utilisateurs –Architecture Le noyau –Gestion de la.
SYSTÈME D’EXPLOITATION I
Classe 1 CSI2572 Autres modificateurs de déclaration de variables: & volatile & register & static & auto & extern & const volatile Indique au compilateur.
Les fichiers 1ère partie
Systèmes d’exploitation
Les variables fichiers. Le type fichier On manipule les fichiers par l’intermédiaire de structures FILE décrites dans stdio.h FILE *monFichier; –Nom physique.
COMPARAISON DES SYSTEMES DE GESTION DE FICHIERS LINUX / WINDOWS NT
Système de fichiers Ahmed Serhrouchni.
Système de gestion fichiers
LE SYSTEME DE GESTION DE FICHIERS
Structures de données avancées : Introduction D. E ZEGOUR Institut National d ’Informatique.
1 PHP 5 Notions fondamentales (niveau 1 cours #3) Formation continue – Cégep de Sainte-Foy François G Couillard.
Chaînage et LSC : motivation et principe Manipuler la LSC : exemples Variantes : LDC, liste circulaire, …  Etude de cas : réalisation d’un buffer clavier.
3ième Classe (Mardi, 23 Septembre) CSI2572. O jourd'8: E Allocation de mémoire E Déallocation de mémoire E Tableaux (n dimensions) E Arithmetique des.
Algorithmique et langage C
Plan… -Introduction et motivations : -Qu'est-ce que le traitement de fichiers ? -Terminologie et définitions fondamentales des structures de fichiers :
Client/Server Socket. Client/Serveur.
1 G ÉNÉRALITÉS Notions et caractéristiques générales.
1 UNIX AVANCE Yves PAGNOTTE – Janvier – LES PROCESSUS SOUS UNIX.
1 UNIX AVANCE Yves PAGNOTTE – Janvier – COMMUNICATION INTER PROCESSUS : TUBES.
Transcription de la présentation:

1.1 Fichiers et systèmes de fichiers Fichiers et Systèmes de fichiers

1.2 Fichiers et systèmes de fichiers interface de programmation système ouverture et fermeture : #include int fd = open("nom symbolique", options, mode); option = O_RDONLY, O_WRONLY ou O_RDWR O_CREAT, O_EXCL O_TRUNC, O_APPEND mode = droit d'accès au fichier si création int close (fd);

1.3 Fichiers et systèmes de fichiers interface de programmation système lecture et écriture : cr = read(fd, adresse, taille); cr = write(fd, adresse, taille);  fd = descripteur du fichier rendu par open  adresse = adresse de la zone mémoire où écrire les données  taille = nombre de caractères à lire  cr = nombre de caractères réellement lus par le système positionnement du pointeur de fichier lseek(fd, offset, whence); SEEK_SET La tête est placée à offset octets depuis le début du fichier. SEEK_CUR La tête de lecture/écriture est avancée de offset octets. SEEK_END La tête est placée à la fin du fichier plus offset octets. destruction d'un fichier unlink("nom symbolique"); reduction de la taille d'un fichier ftruncate(fd, longueur); truncate("nom", longueur);

1.4 Fichiers et systèmes de fichiers interface de programmation LIBC Interface bufferisée, permettant d'éviter des appels système à chaque opération #include FILE * fopen("nom fichier", mode) ouvre un fichier fclose (FILE *) ferme le fichier fread/fwrite(void *ptr, size_t size, size_t nmemb, FILE * fd); lit/écrit dans le fichier int getc(FILE *) lit un caractère dans le tampon. int putc(char c, FILE *) écrit un caractère dans le tampon. int fscanf(char *, lit un ensemble de variables suivant un format. int fprintf(char *, écrit un ensemble de variables suivant un format. int fseek(FILE *, long, int) effectue un déplacement dans le fichier. fflush(FILE *) vide le tampon dans le système.

1.5 Fichiers et systèmes de fichiers aspects système Le système gére les processus actifs par l'intermédiaire de structures de données –task_struct sous LINUX –U + PROC sur UNIX system V l'ouverture d'un fichier correspond à l'allocation d'une structure FILE, qui sera reférencée par un pointeur stocké dans la structure U cette structure FILE contient le pointeur de position sur appel à fork, les structures U + PROC (task_struct) sont dupliquées, mais pas la structure FILE –les processus père et fils partagent les fichiers ouverts AVANT le fork(), –mais ils accèdent indépendement aux fichiers ouverts après.

1.6 Fichiers et systèmes de fichiers stockage permanent : les disques 1 disque = 1 ensemble de blocs (secteurs) numérotés de 0 à n, et accessibles en lecture/écriture de façon indivisible : –1 lecture ou écriture disque opère sur 1 à s secteurs entiers –la taille d'un secteur est typiquement 512 octets (1024 dans certains cas)

1.7 Fichiers et systèmes de fichiers les objets d'un système de fichiers fichiers –contenant des données, des programmes, des librairies de fonctions… répertoires –entité logique utilisée pour grouper des références vers des fichiers et/ou répertoires –les répertoires permettent d'organiser les fichiers sous forme arborescente –la racine de cet arbre est un répertoire désigné par le caractère / / R1R2 F1F2F3F4R3 cette structure est appelée système de fichiers

1.8 Fichiers et systèmes de fichiers Structure FAT FAT = File Allocation Table le disque est divisé en 2 zones : –la table d'allocation, en début de disque –la zone des blocs de données (clusters sous Windows) –La table d'allocation contient autant d'entrées qu'il y a de cluster 1 répertoire = n bloc de données contenant des entrées structurées en : –le nom symbolique de l'objet (fichier ou répertoire) et son type, –les informations sur l'objet (taille en octets, dates, droits d'accès…) –le numéro du premier bloc de donnée (sur disque) de cet objet pour accéder aux données d'un fichier : –le numéro du premier bloc se trouve dans le répertoire (ex : 100) –le numéro du bloc suivant se trouve dans l'entrée 100 de la FAT (ex : 110) –le numéro du bloc suivant se trouve dans l'entrée 110 de la FAT….

1.9 Fichiers et systèmes de fichiers Structure INODE Chaque objet d'un système de fichier UNIX correspond une structure de donnée "inode" stockée sur disque un inode est repéré par un numéro unique (dans le système de fichier) l'inode contient toutes les informations qui décrivent l'objet : –type de l'objet : Répertoire, Fichier,... –propriétaire, groupe, –droits d'accès –dates de création et dernière modification –taille de l'objet en octet –nombre de liens sur l'objet –...

1.10 Fichiers et systèmes de fichiers Structure inode

1.11 Fichiers et systèmes de fichiers Exemple : structures sysv LINUX /* SystemV/Coherent inode data on disk */ struct sysv_inode { u16 i_mode; u16 i_nlink; u16 i_uid; u16 i_gid; u32 i_size; u8 i_data[3*( )]; u8 i_gen; u32 i_atime;/* time of last access */ u32 i_mtime;/* time of last modification */ u32 i_ctime;/* time of creation */ }; /* SystemV/Coherent directory entry on disk */ #define SYSV_NAMELEN 14 /* max size of name in struct sysv_dir_entry */ struct sysv_dir_entry { sysv_ino_t inode; char name[SYSV_NAMELEN]; /* up to 14 characters, the rest are zeroes */ };

1.12 Fichiers et systèmes de fichiers lister les numéros d’inode alpha12.couveep$ ls -il total rwxr-xr-x 1 couveep frec 657 Jan Approve rwxr--r-- 1 couveep frec 36 Jun colog rwxr-xr-x 1 couveep frec 501 Feb escale rw-r--r-- 1 couveep frec Nov gsv22w32.exe rwxr--r-- 1 couveep frec 85 Mar infoServer rwxr-xr-x 1 couveep frec 95 Mar lanoffice rwxr-xr-x 1 couveep frec 423 Feb wnc2checkb rwxr-xr-x 1 couveep frec 646 Feb wnc2doc rwxr-xr-x 1 couveep frec 1070 Feb wnc2waitb rwxr-xr-x 1 couveep frec 9164 Mar 27 12:55 xd rwxr--r-- 1 couveep frec 73 Apr xemacs

1.13 Fichiers et systèmes de fichiers Fichier de type répertoire alpha12.couveep$ xd : 08152E : 00022E2E : D xemacs : E 666F infoServer : F 6C6F colog : C escale : 081A E gsv22w32.exe : 081B776E F wnc2doc : 081C776E wnc2waitb : 081D776E B wnc2checkb A0: 081E6C61 6E6F lanoffice B0: 081F xd C0: 082A F *Approve

1.14 Fichiers et systèmes de fichiers Lien sur un fichier alpha12.couveep$ ln xd hexadump alpha12.couveep$ ls -il total rwxr-xr-x 1 couveep frec 657 Jan Approve rwxr--r-- 1 couveep frec 36 Jun colog rwxr-xr-x 1 couveep frec 501 Feb escale rw-r--r-- 1 couveep frec Nov gsv22w32.exe rwxr-xr-x 2 couveep frec 9164 Mar 27 12:55 hexadump rwxr--r-- 1 couveep frec 85 Mar infoServer rwxr-xr-x 1 couveep frec 95 Mar lanoffice rwxr-xr-x 1 couveep frec 423 Feb wnc2checkb rwxr-xr-x 1 couveep frec 646 Feb wnc2doc rwxr-xr-x 1 couveep frec 1070 Feb wnc2waitb rwxr-xr-x 2 couveep frec 9164 Mar 27 12:55 xd rwxr--r-- 1 couveep frec 73 Apr xemacs

1.15 Fichiers et systèmes de fichiers Contenu du répertoire alpha12.couveep$ xd -c : E : E 2E : D xemacs : E 66 6F infoServer : F 6C 6F colog : C escale : 08 1A E gsv22w32.exe : 08 1B 77 6E F wnc2doc : 08 1C 77 6E wnc2waitb : 08 1D 77 6E B wnc2checkb A0: 08 1E 6C 61 6E 6F lanoffice B0: 08 1F xd C0: 08 2A F *Approve D0: 08 1F D hexadump......

1.16 Fichiers et systèmes de fichiers Création d’un système de fichiers alpha12.couveep$ man mkfs mkfs Command Purpose Makes a file system. Syntax mkfs [ -b Boot ] [ -l Label ] [ -i i-Nodes ] [ -o Options ] [ -p Prototype ] [-s Size ] [ - v VolumeLabel ] [ -V VfsName ] Device Description The mkfs command makes a new file system on a specified device. The mkfs command initializes the volume label, file system label, and startup block. dev Device name -v vol Volume ID -s size File system size -b boot Program to be installed in the startup block -V vfs Definition of the virtual file system -b Boot Names the program to be installed in block 0 of the new file system. -i i-Nodes Specifies the initial number of i-nodes on the file system. -l Label Specifies the file system label for the new file system. -o Options Specifies a comma-separated list of virtual file system implementation-specific options.

1.17 Fichiers et systèmes de fichiers Sous Windows

1.18 Fichiers et systèmes de fichiers Le même sous UNIX...

1.19 Fichiers et systèmes de fichiers Le lien symbolique alpha12.couveep$ ln -s /tmp/toto tata alpha12.couveep$ ls -il total rwxr-xr-x 1 couveep frec 657 Jan Approve rwxr--r-- 1 couveep frec 36 Jun colog rwxr-xr-x 1 couveep frec 501 Feb escale rw-r--r-- 1 couveep frec Nov gsv22w32.exe rwxr--r-- 1 couveep frec 85 Mar infoServer rwxr-xr-x 1 couveep frec 95 Mar lanoffice 2091 lrwxrwxrwx 1 couveep frec 9 Mar 27 14:12 tata -> /tmp/toto rwxr-xr-x 1 couveep frec 423 Feb wnc2checkb rwxr-xr-x 1 couveep frec 646 Feb wnc2doc rwxr-xr-x 1 couveep frec 1070 Feb wnc2waitb rwxr-xr-x 1 couveep frec 9164 Mar 27 12:55 xd rwxr--r-- 1 couveep frec 73 Apr xemacs alpha12.couveep$ ls -il /tmp/toto 62 -rw-r--r-- 1 couveep frec 5 Mar 27 14:12 /tmp/toto alpha12.couveep$ xd -b tata : 74 6F 74 6F 0A titi.