Home

Plan de la séance

image

Contents

1. access permet plusieurs tests simultan s rwx la fois Les _0k sont des bits que l on peut associ s I De l int r t de lire les fichiers d ent te On trouve dans le fichier unistd h la plupart des informations n cessaires l utilisation de cet appel Values for the second argument to access These may be OR d together define R_OK 4 Test for read permission define W_OK 2 Test for write permission define X_OK 1 Test for execute permission define F_OK O Test for existence Test for access to NAME using the real UID and real GID extern int access __const char __name int __type __ THROW __nonnull 1 Le code source de cette fonction est disponible dans les sources du noyau IT Appels syst me d entr es sorties Afin de pouvoir g rer les fichiers plusieurs tables sont maintenues en relation avec POS Gestion dans le noyau il existe une table des fichiers ouverts par l ensemble des processus et contenant le d placement offset courant dans le fichier un mode d ouverture lecture lecture criture etc Gestion d un fichier dans un processus il existe une table dite des descripteurs associ es chaque processus un descripteur est un entier identifiant unique d une ouverture de fichier dans le processus un m me fichier peut tre ouvert plusieurs fois par un seul processus et ou par des proces
2. en cas de r ussite les ombres deviennent valides NTFS Microsoft et ext3 OSS sont bas s sur ce principe aqui seront explicit es dans la seconde partie du cours sur les FS
3. et lui associe le flot point par stream Le fichier associ stream est pr alablement ferm Retourne stream en cas de succ s NULL si chec int fflush FILE xstream proc de au vidage des buffers associ s au flot de sortie stream Comportement ind termin si stream est un flot d entr e Retourne 0 en cas de succ s EOF si chec V Librairie d entr es sorties une couche de plus 17 size_t fread void ptr size_t size size_t nitems FILE stream place dans le tableau point par ptr jusqu nitems l ments lus sur le flot point par stream La taille d un item est sp cifi e par size Retourne le nombre d l ments lus size_t fwrite void xptr size_t size size_t nitems FILE stream crit partir du tableau point par ptr jusqu nitems l ments sur le flot point par stream La taille d un item est sp cifi e par size Retourne le nombre d l ments crits V Librairie d entr es sorties criture avec format 18 int fprintf FILE xstream const char format crit sur le flot point par stream au format sp cifi par la cha ne format format peut contenir des caract res ordinaires recopi s tels quels et des sp cifications de conversion L instruction printf est d riv e de fprintf en indiquant comme flot le flot pr d fini stdout associ la sortie standard V Librairie d entr es sorties criture avec format 19 Ces sp cificat
4. par le File System FAT File Allocation Table cf la suite Il est possible de la monter sur une arborescence de type unix et d acc der ces fichiers Le m me principe s applique aux cdroms aux FS accessibles par r seaux etc Illustration du montage 29 gt e Arborescence utilisateur avant montage Autre arborescence o sur une autre machine Autre arborescence G ess a a sur une disquettee Arborescence utilisateur apres montage On ne peut pas monter n importe quel r pertoire mais seulement une unit de base nomm e volume cf seconde partie du cours sur les FS Montage automatique stockage de l information associ e 30 Des fichiers contiennent les informations relatives aux montages etc fstab d crit ce qui peut tre automatiquement mont par le syst me en indiquant le p riph rique utilis dans le r pertoire dev si besoin est le r pertoire de montage dans l arborescence le type du syst me de fichier ainsi mont des options concernant les droits Ainsi sur ma machine de bureau ce fichier ressemble dev hda9 ext3 rw 0 O none proc proc rw 0 O dev hda8 local ext3 rw 0 O none mnt cdrom supermount ro dev dev hdc fs auto iocharset iso8859 1 etc dev hda2 mnt windows ntfs ro iocharset iso8859 1 umask 0 0 0O livinus vol home calforme home calforme nfs rw soft addr 134 206 10 24 O O etc mtab est un fichier classique q
5. par un fichier Cette organisation des fichiers est bas e sur un type de fichier les r pertoires codant les ar tes constituant le graphe Les r pertoires tant des fichiers ils ont les m mes attributs droits etc 7 Quelques r pertoires classiques de l arborescence de type UNIX 26 boot contient le noyau et le gestionnaire de d marrage bin contient les ex cutables des programmes basiques dev contient les fichiers p riph riques etc contient les fichiers de configurations home contient les fichiers utilisateurs vos donn es lib contient les librairies partag es du langage C par exemple swap est l espace utilis pour d charger la m moire proc est l image de l ex cution du noyau voir la suite root contient les fichiers du super utilisateur sbin contient les ex cutables des fichiers d administration tmp est de l espace r serv pour les donn es temporaires var contient les donn es fr quemment modifi es journaux etc local contient ce que les utilisateurs partagent et qui n est pas standard au syst me Il convient de s parer ce qui propre POS de ce qui l est aux applications 7 Remarques sur ce type d abstraction 27 L abstraction arborescence des r pertoires h rite des propri t s de l abstraction fichier sans travail suppl mentaire droits etc Il s agit de la premi re occurrence d un principe g n
6. sur le disque Certains fichiers servent d abstraction aux acc s des p riph riques d entr e sortie et seul POS devraient les manipuler Ainsi puisque les p riph riques sont sp cifiques chaque mat riel on se sert de la notion de fichier pour standardiser leurs acc s Un des avantages est de disposer des mesures de protections implant es par le FS droits d acc s etc Il existe deux type de fichiers p riph riques bloc dont l unit d change est le bloc b dans les droits et caract res dont l atome est l octet c dans les droits Dans les syst mes de type UNIX ces fichiers se trouvent dans le r pertoire dev dev null est utilis pour supprimer des flux dev random est un g n rateur physique d octets al atoires dev mem donne acc s la m moire vive physique etc TIT Un syst me de fichier sp cial le r pertoire proc 39 Le contenu du r pertoire proc n est jamais stock sur un support physique il est engendr par le noyau sur requ te de l utilisateur less proc mounts par exemple Chaque sous r pertoire de proc correspond un processus actif et porte comme nom le num ro d identification de ce dernier Lespoir lifl fr sedoglav proc ps PID TTY TIME CMD 22356 pts 1 00 00 00 csh Lespoir lifl fr sedoglav proc cd 22356 ls binfmt cmdline cwd environ exe fd maps mem mounts root stat statm status Les fichiers ci dessus do
7. Plan de la s ance Qu est ce qu un syst me de gestion de fichiers Notion de fichier et informations utilisateur relatives Appels syst me d entr es sorties Librairie d entr es sorties une couche de plus Organisation hi rarchique des fichiers en arbre La notion de montage Outils de manipulation des fichiers au niveau de l interpr teur de commandes Format de fichiers et fichiers sp ciaux Du cot de Microsoft New Technologie File System u est ce qu un syst me de gestion de fichiers q y g La m moire persistante r pond plusieurs besoins conserver des donn es au del de la dur e de vie d un processus m moriser une quantit de donn es sup rieure aux capacit s de la m moire vive partager des donn es Le syst me de gestion de fichiers est un ensemble de structures de donn es et de proc dures les manipulant qui doit assurer la d finition et la manipulation de l abstraction fichier l organisation logique de ces abstractions hi rarchie arborescence bas e sur la notion de r pertoire le liens entre cette abstraction et son implantation mat riel la p r nit des informations stock es confidentialit tol rance aux pannes robustesse etc I Notion de fichier et informations utilisateur relatives Un fichier est consid r comme un flux lin aire d octets Aucune information sur l organisation
8. ations de conversion Les r sultats des conversions sont stock s dans les variables point es par les arguments suivant format fscanf reconna t toujours la plus longue cha ne correspondant format Une sp cification d bute par un suivi de supprime l affectation un nombre donnant la largeur maximum du champ une lettre h 1 ou L idem fprintf un caract re indiquant le type de la conversion V Librairie d entr es sorties lecture format e 22 Seul le dernier caract re de conversion est obligatoire d i entier sous forme d cimale ou octale ou hexa int o entier sous forme octale int entier sous forme hexad cimale int entier non sign sous forme d cimale unsigned int caract re espacement compris char uU a EE y cha ne de caract res char espacement supprim au d but qui doit tre assez grand pour contenir le r sultat f e nombre en virgule flottante float p pointeur void plus longue cha ne compos e de caract res plac s entre char plus longue cha ne compos e de caract res ne faisant pas partie de l ensemble entre char V Exemple d utilisation include lt stdio h gt include lt errno h gt int main void FILE xfd fopen fichierquinexistepas r if fd NULL perror L erreur suivante est survenue return 1 for i 0 i lt Ma
9. de l espace du support ce niveau d abstraction Pour manipuler les fichiers il faut juste pouvoir les identifier par leurs caract ristiques nom type taille du fichier propri taire du fichier date de cr ation date de derni re modification protection qui a droit de le lire et de le manipuler sans s occuper de l implantation de ces derni res Dans un shell de type unix la commande 1s al nom de fichier permet d obtenir ces informations quelquepart dans le grand univers 0OS Exam ls al Juin2006 tex rw r r 1 sedoglav calforme O Aug 19 05 09 Juin2005 tex Ces informations correspondent droits nb_liens proprietaire son_groupe taille date_creation nom I Notion de fichier et informations utilisateur relatives Dans les OS d riv s d UNIX le codage des droits se fait sur 10 bits qui sont dans l ordre le type du fichier d pour r pertoire 1 pour un lien c et b pour un p riph rique p pour un tube pour un fichier classique r le fichier est lisible par le propri taire dans le cas contraire w le fichier est modifiable par le propri taire sinon x le fichier est ex cutable par le propri taire sinon Le groupe suivant de 3 bits reprend le m me principe mais d finit les droits pour les membres du groupe auquel appartient le propri taire Le dernier groupe reprend le m me principe mais concernant les autres utilisa
10. ichier est atteinte en cours de lecture ssize t write int fd const void buf size t nbyte essaie d crire nbyte octets provenant de buf dans le fichier associ au descripteur fd partir de l offset courant La valeur retourn e est le nombre d octets crits et 1 en cas d erreur Le nombre d octets effectivement crits peut tre inf rieur nbyte si le disque est plein IT Exemple d entr es sorties par appels syst me 13 L appel off _t lseek int fd off t offset int whence d place l offset courant du fichier associ au descripteur fd sans lire ni crire offset entier long donne le nombre d octets sauter Le param tre whence permet de donner une origine SEEK_SET par rapport au d but du fichier SEEK_CUR par rapport l offset courant SEEK END par rapport la fin du fichier Il est possible de d passer la fin du fichier fichier creux V Librairie d entr es sorties une couche de plus 14 Il est possible d ajouter une couche suppl mentaire de stockage dans la gestion des entr e sortie ce niveau est g r au niveau du processus En cons quence on peut avoir une lecture criture par bloc dans le buffer il y a moins d appels syst me pour des acc s sur de petites zones et de vidage des buffers si il survient une interruption du processus Pour ce faire on utilise un identificateur d ouverture de fichier flot de type FILE poi
11. ions utilisent un ou plusieurs des arguments pass s la suite de format Une sp cification d bute par un suivi de drapeaux de remplissage justification justification gauche impression syst matique du signe 0 remplit le d but du champ avec des z ros un nombre donnant la largeur minimum du champ un caract re s parateur un nombre donnant la pr cision une lettre h pour un short 1 pour un long L pour un long double un caract re indiquant le type de conversion V Librairie d entr es sorties criture avec format 20 La pr cision ou la largeur minimum peuvent tre remplac es par un ast risque leur valeur sera alors prise dans la liste des arguments Seul le dernier caract re de conversion est obligatoire d i int en notation d cimale sign e x X o int en notation hexad cimale octale non sign e u int en notation d cimale non sign e c int converti en caract re non sign f double en notation d cimale sign e dd ddd e E double en notation scientifique sign e d ddde dd p void en format pointeur hexa en g n ral V Librairie d entr es sorties lecture format e 21 int fscanf FILE xstream const char format lit sur le flot point par stream au format sp cifi par la cha ne format format peut contenir des caract res ordinaires lus comme tels dans stream ou des sp cific
12. lignes des fichiers contenant une cha ne donn e de caract res stopper un processus afficher le contenu d un fichier Cr er un r pertoire d placement de fichier d truire un fichier supprimer un r pertoire TIT Format de fichiers et fichiers sp ciaux 33 Le format d un fichier est la signification que l utilisateur donne la suite d octets le constituant pour le FS tout fichier n est qu une suite d octets seul le traitement diff re Les types de fichiers sont les fichiers ordinaires non ex cutable fichiers textes dont les octets codent des caract res ascii iso unicode ou tout autre standard fichiers binaires qui ne sont pas cens s tre d cod par un format du type ci dessus mais par une application utilisateur les fichiers ordinaires ex cutables que OS peut interpr ter qui commencent par acces interpreteur ou ex cuter directement au niveau du microprocesseur format elf etc les fichiers sp ciaux associ s aux p riph riques ou aux processus les r pertoires ces fichiers d finissent les chemins d acc s aux fichiers Les liens permettent le partage de fichiers sans duplication Le format est souvent d finit par un postfixe accol au nom du fichier apr s un point les ex cutables n cessitent un droit d ex cution TIT Fichiers sp ciaux les fichiers d entr e sortie 34 Un fichier n est pas seulement un paquet d octets stock
13. nnent acc s des informations environ des statistiques sur le processus status ou un p riph rique mem On peut modifier les arguments de l OS en crivant directement les valeurs ASCII correspondantes dans les fichiers ad quats dans le r pertoire proc conditions d avoir les droits suffisants X Du cot de Microsoft New Technologie File System Un nouveau FS rempla e l ancien bas sur la FAT Un volume contient Partition Boot Sector Master File Table Fichiers syst me L espace des fichiers Les modifications en r sultant sont l apparition de droits propri taires montage au sein d une arborescence cryptage des fichiers base de donn es pour la recherche et la tol rance aux pannes 36 X New Technologie File System amp ext3 linux 37 Le syst me de fichiers de Windows NT est bas sur une base de donn e Une des faiblesses des FS est la d t rioration des structures de donn es repr sentant les fichiers lors de leurs manipulations Par exemple on peut endommager les structures de donn es permettant de manipuler des fichiers Dans ce cas on utilise la commande fsck qui examine l ensemble des blocs d un disque et essaye de recomposer le tout Id e mettre une couche suppl mentaire et faire des transactions on utilise des copies des structures les ombres on fait des transactions avec les ombres
14. nteur sur une structure de ce nom Les d clarations sont dans lt libio h gt et lt stdio h gt pour les curieux On d crit dans la suite les fonctions de la librairie C correspondantes ce ne sont pas des appels au syst me mais des fonctions qui n cessitent une dition de liens et utilisent des appels V Librairie d entr es sorties une couche de plus 15 FILE fopen const char name const char mode ouvre le fichier dont le nom est donn par name Le mode d ouverture est sp cifi par mode r ouverture en lecture seule y ouverture en criture seule Cr ation ventuelle du fichier Efface le contenu si le fichier existe a ouverture en mode ajout Cr ation ventuelle du fichier Positionnement en fin de fichier si il existe r ouverture en lecture criture Positionnement en d but de fichier w ouverture en lecture criture avec cr ation ventuelle Efface le contenu si le fichier existe a ouverture en mode mise jour avec cr ation ventuelle Positionnement en fin de fichier Renvoie un pointeur sur le flot ou NULL si chec V Librairie d entr es sorties une couche de plus 16 int fclose FILE xstream ferme le fichier associ au flot stream Vidage des buffers Renvoie 0 en cas de succ s EOF si chec FILE xfreopen const char name const char mode FILE xstream ouvre le fichier dont le nom est donn par name dans le mode sp cifi par mode
15. ral On pr sente souvent les r pertoires suivant la m taphore d un dossier contenant les fichiers dans les interfaces graphiques Il est important de distinguer la m taphore de l abstraction Remarquez que la taille d un r pertoire n est pas celle des fichiers qu il contient mais celle n cessaire pour coder l ensemble des liens Par exemple Lespoir lifl fr sedoglav home calforme ls al drwxr xr x 45 sedoglav calforme 126976 Aug 19 10 47 sedoglav Certains syst mes de fichiers permettent l acc s des fichiers stock s sur des supports distincts de l ordinateur local cf la notion de montage par le biais de r pertoire Il convient de garder l esprit qu un r pertoire ne contient pas les fichiers auxquels il donne acc s La notion de montage 28 Dans les FS de type unix le r pertoire mnt est utilis pour les points de montage cdrom floppy etc Certains FS NTFS par exemple distinguent les arborescences situ es physiquement sur des supports diff rents disquettes cdrom disques durs clefs USB r seaux etc D autres ne font pas cette distinction gr ce la notion de montage Il s agit d associer un r pertoire une arborescence de fichiers cod e par un FS pouvant tre diff rent de celui auquel ce r pertoire appartient Ainsi une disquette format e sur un ordinateur utilisant un OS de type Windows aura une arborescence de fichiers cod es
16. sus diff rents descripteur index dans la table des descripteurs du processus pointe dans la table des fichiers ouverts du noyau IT Descripteurs de fichier Lorsqu un processus doit manipuler un fichier il le d signe par un entier appel descripteur de fichier Il s agit d une clef dans une table dont l entr e est une structure contenant notamment l in ud d un fichier L association de ce descripteur avec l inombre d signant le fichier se fait par lors de l appel open Chaque processus UNIX dispose de 20 descripteurs de fichiers Par convention les trois premiers sont toujours ouverts au d but de vie du processus 0 est l entr e standard clavier 1 est la sortie standard cran 2 est la sortie erreur standard cran aussi acf seconde partie du cours sur les FS bibidem Bien qu ils s agissent de p riph rique ce sont bien des fichiers cf la suite IT Exemple d entr es sorties par appels syst me 10 Les appels syst me les plus utilis s sont open read write close lseek les d claration se trouvent dans lt fcntl1 h gt int open char name int mode int perml ouvre le fichier name suivant le mode et les permissions sp cifi s et retourne le descripteur correspondant 1 en cas d erreur name peut tre relatif ou absolu perm est un entier repr sentant les permissions du fichier en octal la Unix et n es
17. t utilis qu en cr ation mode est un entier formant un drapeaux bit bit de lecture criture O_RDONLY ouverture en lecture seule O_WRONLY ouverture en criture seule O RDWR ouverture en lecture criture IT Exemple d entr es sorties par appels syst me 11 O_APPEND positionne l offset la fin du fichier avant chaque criture O_CREAT cr e le fichier s il n existe pas O_EXCL en combinaison avec O_CREAT provoque une erreur si le fichier existait O_ TRUNC si le fichier existe l ouverture il est tronqu 0 caract res O_NONBLOCK ouverture non bloquante pour pipes et fichiers sp ciaux Ces drapeaux se combine par un ET bit bit par exemple O_WRONLY O_CREAT O_TRUNC L appel int close int fd ferme le fichier associ au descripteur fd ses fichiers ouverts sont ferm s Cet appel retourne 0 si l op ration est un succ s et 1 si le fichier est d j ferm IT Exemple d entr es sorties par appels syst me 12 Le fichier d ent te fournissant les prototypes des fonctions suivantes est unistd h ssize t read int fd void buf size_t nbyte essaie de lire nbyte octets partir de l offset courant dans le fichier associ au descripteur fd et stocke les octets lus dans buf La valeur retourn e est le nombre d octets lus 0 en fin de fichier 1 en cas d erreur Le nombre d octets lus peut tre inf rieur nbyte si la fin du f
18. teurs Ainsi le fichier Juin2005 tex n est pas un r pertoire il n est ex cutable par personne il est lisible par tout le monde et n est modifiable que par son propri taire Appels syst me associ s aux droits d acc s L appel access permet la v rification de ces droits ls 1 Cours tex rw r r 1 sedoglav users 38145 Jan 15 20 14 Cours tex access rw Cours tex echo O access x Cours tex echo 1 L appel chmod permet de changer ces droits man S2 chmod Ces appels syst me sont disponibles sous la forme de fonctions C include lt unistd h gt int access const char pathname int mode include lt sys types h gt include lt sys stat h gt int chmod const char path mode_t mode mais aussi depuis le shell man chmod I Un d but d implantation d une commande shell quivalente access En s ance de travaux pratiques nous crirons ce genre de code include lt stdio h gt include lt unistd h gt include lt errno h gt pour d efinir EINVAL int main int argc char argv int mode switch argv 1 1 case r mode R_OK break case w mode W_OK break case x mode X_OK break default printf access Invalid MODE return EINVAL return access argv 2 mode implique un appel au syst eme afin de comprendre le fonctionnement de l OS Ce code est incomplet car un seul appel
19. ui indique ce qui est effectivement mont le fichier proc mounts pr sente le m me type d information mais il est g r par le noyau TI Outils de manipulation des fichiers au niveau de l interpr teur de commandes 31 L outil fondamental est le manuel d utilisation man et la premi re chose faire est de lire l aide sur le manuel en utilisant la commande gt man man dans votre interpr teur de commandes shell favori man a mount affiche l ensemble des pages d aide contenant le mot mount Entre autre mount 2 mount and unmount filesystems mount 8 mount a file system man S8 mount affiche l aide sur mount issue de la section 8 du manuel On peut aussi utiliser l utilitaire info mais bien que plus volu liens hypertext il n est pas forcement complet Ceci fait les commandes shell n auront plus de secrets pour vous ls affichage des informations relatives au contenu d un r pertoire cd d placement dans l arborescence mount montage de syst me de fichier dans l arborescence des fichiers TI Quelques commandes utiles 32 passwd ps pwd cd chmod cp date find grep kill less mkdir mv rm rmdir cr er ou changer de mot de passe afficher la liste des processus de l utilisateur afficher le nom du r pertoire courant changer de r pertoire changer les droits d un fichier copie de fichier afficher la date rechercher un fichier afficher les
20. x i fprintf fd d n tablil fclose fd x fclose ferme le flot return 23 Organisation hi rarchique des fichiers en arbre 24 La communaut des fichiers est organis e en arbre i e en un ensemble de n uds reli s par des ar tes orient es chaque n ud a exactement une ar te pointant vers lui l exception de la racine qui est un n ud sans pr d cesseur Les feuilles sont les noeuds sans successeur Les feuilles correspondent aux fichiers et les autres n uds sont des r pertoires On peut ainsi d finir un chemin d acc s un fichier absolu depuis la racine relatif notion de r pertoire courant Le fichier juin2005 tex est localis par le chemin d acc s racine gt home gt sedoglav gt 0S gt Les r pertoires sont des fichiers flux lin aire d octets contenant l information li e aux ar tes les quittant 7 Organisation en graphe 25 Ce type de repr sentation de la communaut des fichiers est assoupli en autorisant plusieurs ar tes pointer sur un m me l ment et en faisant pointer chaque r pertoire sur son pr d cesseur On obtient ainsi un graphe qui permet de remonter l arborescence depuis n importe quel r pertoire sans repar tir syst matiquement de la racine de permettre l acc s depuis le r pertoire sedoglav un fichier r f renc dans un autre r pertoire lien symbolique cod

Download Pdf Manuals

image

Related Search

Related Contents

User Manual-ENZ-42421-100 - Rev 1.1.0 April 2010.pub  Operation - Safety  Crystal Clear Manual  Lenovo 7358 Personal Computer User Manual  LUBE EZ User Manual  Trend Micro Deep Security 7.5 SP2 User's Guide  Manual de utilização série c em portugês  EUROLITE PAR-46 CDM-70 E-27 Spot User Manual  Operating and Installation Instructions  Modbus® RTU Serial Communication User Manual  

Copyright © All rights reserved.
Failed to retrieve file