Gestion des fichiers. Telecom-ParisTech BCI Informatique

Dimension: px
Commencer à balayer dès la page:

Download "Gestion des fichiers. Telecom-ParisTech BCI Informatique"

Transcription

1 319

2 Gestion des fichiers 1 Généralités Définitions Organisation logique, organisation physique 2 Organisation physique UNIX : i-list et i-node rappels sur le fonctionnement d'un disque 3 Organisation logique L'arborescence UNIX, Différents types de fichiers Modes et droits d'accès 4 Organisation logique/physique : illustration par quelques commandes : cp, mv, rm, ln, ln -s 5 Processus et fichiers, Annexe: la bibliothèque d'entrées-sorties du langage C 320

3 321

4 Qu'est-ce qu'un fichier? Définition : ensemble d'informations regroupées en vue de leur conservation et de leur utilisation dans un système informatique. Type des informations : - Programmes : fichier binaire exécutable, «script», byte code,, - Données : fichiers ASCII, binaires, images, son, fichiers d administration (/etc/passwd),, Caractéristiques d un fichier : - il possède un nom qui permet de l'identifier de manière unique (unicité), - il est rangé sur un support permanent (disques), 322

5 Sécurité et intégrité : La sécurité concerne la résistance aux attaques (gestion correcte des droits d'accès aux informations), l'intégrité concerne la résistance aux pannes (duplication des données, par exemple). Stockage des données et leur représentation : Le format de représentation des données pose le problème de la portabilité. Par exemple, quel format choisir pour un fichier contenant des données du type "flottants", c'est à dire des réels, si on veut échanger ces données entre deux machines d'architectures différentes (un PC et un MacIntosh)? Si on range les données sous forme de suite de caractères ASCII, pas de problème, les données seront lues correctement par toutes les machines, mais le volume de stockage pourra être très important, en particulier si les nombres ont une grande dynamique et une précision de plusieurs décimales. Inversement, le rangement en binaire est moins consommateur de surface disque, mais pose le problème de la compatibilité des représentations internes (IEEE ou non). Pour les applications qui utilisent plusieurs machines simultanément (client/serveur, par exemple) on adopte des représentations normalisées (format XDR des RPC, CDR de CORBA, ou primitives hton() et ntoh() de la bibliothèque des sockets). 323

6 Services assurés par le SGF Le Système de Gestion de Fichiers (SGF) ou File System doit fournir les services suivants : - intégrité (non altération des informations rangées dans les fichiers), - sécurité (contrôle d accès aux fichiers), - permanence (pérennité des informations : rôle de conservation des informations), - datation (mémorisation des dates des actions effectuées : mise à jour, ), Lorsque les fichiers sont utilisés comme support de communication (par transfert ou partage), se pose la question de la représentation des informations (données, programmes) : - représentation suivant un format «local», propre à une architecture (cf. : exécutable, entiers de 8 à 64 bits, little endians et big endians ) qui permet seulement l échange d informations entre machines ayant la même architecture, - représentation adoptant un format normalisé (ASCII, bytecode java, gif, doc, mp3, XDR, CDR ) qui autorise l échange d informations entre différents types d architectures, 324

7 325

8 Place du SGF Place du SGF (file system) dans Unix (qui comporte seulement deux couches K et U) : Compilateurs Interfaces utilisateur Editeurs... Gestion mémoire Matériel Gestion fichiers Gestion processus Le SGF (comme d'autres gestionnaires de ressources) peut être déporté à l'extérieur du noyau, ou ne pas exister (systèmes embarqués) 326

9 Le répertoire permet de passer du stockage " à plat" des fichiers sur le disque à l'organisation en arbre vue par les utilisateurs. Les fichiers répertoires servent uniquement à l'organisation de l'arbre et aux déplacements dans celui-ci. 327

10 Rôle du SGF (aspect système) Assurer la correspondance entre l'organisation logique (hiérarchie) des fichiers (celle que voit l'utilisateur) et l'organisation physique (organisation "à plat") des fichiers (leur implantation physique sur les mémoires de masse) Organisation logique : toujours une arborescence. Par exemple, sous UNIX : root etc bin usr dev util1 dupont dupond melon melon Les fichiers qui ont des successeurs dans l'arbre s'appellent les répertoires (directories), un répertoire est donc un fichier qui contient la liste de ses fils. Les répertoires sont des annuaires qui assurent la correspondance et la séparation entre organisation logique et physique, au même titre qu un annuaire réseau, qui associe nom de machine et adresse IP 328

11 329

12 Plan 1 Généralités Définitions Organisation logique, organisation physique 2 Organisation physique UNIX : i-list et i-node rappels sur le fonctionnement d'un disque 3 Organisation logique L'arborescence UNIX, Différents types de fichiers Modes et droits d'accès 4 Organisation logique/physique : illustration par quelques commandes : cp, mv, rm, ln, ln -s 5 Processus et fichiers, Annexe: la bibliothèque d'entrées-sorties du langage C 330

13 La i-list d un file system UNIX, comme ses équivalents sur d autres systèmes, est dupliquée sur le disque : en effet la destruction d'une partie de la i-list signifie que les fichiers qui y sont décrits sont inaccessibles, mêmes s'ils sont parfaitement intègres sur le disque. De plus, chacun des exemplaires de la i-list est réparti aléatoirement sur le disque pour limiter les pertes en cas de destruction partielle du support physique. 331

14 Organisation physique des fichiers Sur chaque disque, un fichier spécial décrit l'ensemble des fichiers implantés sur ce disque. Citons : - la MFT (Master File Table) de NTFS (NT File System) sous Windows, - la i-list de UFS (Unix File System) sous UNIX, - la FAT (File Allocation Table) de MicroSoft DOS, Il existe différentes techniques pour gérer l omplantation des fichiers sur un disque : - chaînage de blocs à partir de la FAT pour MS-DOS, - le HFS (Hierarchical File System) de Mac OS est basé sur le concept de b-tree (balanced tree, b-arbre), - UFS (Unix File System) des familles Unix utilise un mélange d accès direct et de chaînage, - le NTFS (NT File System) de Windows conjugue b-arbre, compression et journalisation, 332

15 333

16 Organisation physique, exemple : UNIX La i-list est une table qui décrit l'ensemble des fichiers implantés sur un disque. Sa taille, qui détermine le nombre de ses entrées, est fixée à l'initialisation du disque. Elle doit être proportionnelle au nombre maximum de fichiers que l in autorise sur ce disque. Chaque entrée de la i-list s'appelle un i-node et occupe 64 octets. Comment calculer T, la taille de la i-list? On peut choisir : - T grand, pour permettre la création d un grand nombre de fichiers : une grande surface disque est alors confisquée par la i- list, peut-être de façon inutile, - T petit, donc gain de place, mais risque de ne pas pouvoir créer un fichier bien qu'il reste de la place sur le disque. 334

17 - On donne ici la structure fonctionnelle du disque. Dans la réalité des implantations, la i-list est dupliquée et dispersée sur le disque, pour des raisons de sécurité. Un disque peut être divisé en plusieurs file systems, c'est à dire être structuré en plusieurs disques logiques. 335

18 Organisation générale des file systems sous UNIX Si ce file system permet le démarrage du système, alors le boot-bloc contient les informations de démarrage (bootstrap) Le super-bloc contient, entre autres, les informations suivantes : - La taille en blocs de la i-list, celle du volume, - La liste des blocs libres, - Le nom du système de fichiers. La commande "df." donne l'occupation de la surface disque : Filesystem 512-blocks Used Avail Capacity Mounted /dev/disk0s % / 336

19 Le i-node contient TOUTES les informations concernant un fichier : droits d'accès, adresses d'implantation sur le disque, taille, date de création, etc. 337

20 La i-list de Unix : Un i-node Format d'un i-node : Commentaire sur les champs du i-node : - «Protections» : droits d accès sur le fichier (cf. umask plus loin) - «uid, gid» : (user identifier, group identifier), paire qui identifie le créateur (cf. /etc/passwd) - «taille» : taille, en octets, du fichier. (Remplacée par les numéros de majeur et de mineur pour les fichiers de/dev: périphériques). - «Adresse disque» : chacune de ces entrées peut contenir un numéro de bloc sur le disque. (Détails page suivante), - «Nombre de liens» : initialisé à 1 lors de la création du fichier, c'est le nombre d'arcs qui arrivent sur le fichier dans l arborescence, 338

21 Les 13 adresses de blocs sur le disque contenues dans un i-node sont séparées en deux catégories : - 10 adresses de blocs dits «d'information» (sur lesquelles sont rangés les 10 premiers blocs du fichier), - 3 adresses de blocs dits «d'index» (qui contiennent des adresses de blocs d'information). Les accès à un fichier qui se font en utilisant les 10 premières adresses sont plus rapides (directs!) et plus sûrs (la perte d'un de ces blocs signifie perte des seules informations qu'il contient) que les accès utilisant les trois dernières adresses. Les accès qui se font par l intermédiaire de ces 3 dernières sont moins rapides (une ou plusieurs indirections, ces blocs contiennent des pointeurs) et moins sûrs (la perte d'un de ces blocs signifie perte des informations contenues dans tous les blocs dont il contient les adresses). Mais cette organisation, qui permet d'avoir une taille fixe pour les i-nodes, convient dans la plupart des cas : un bloc UNIX peut faire jusqu'à 8Ko, ce qui permet des accès directs aux blocs d informations pour tous les fichiers dont la taille est inférieure à 80 Ko. Concevoir des applications modulaires organisées en petits fichiers permet de respecter le dicton : small is beautiful et la consigne KISS (keep it simple and stupid), où stupid veut dire que le programme inclus dans chaque module doit fait des opérations élémentaires Cette inégalité entre les accès aux premiers et derniers blocs d'un fichier est résolue par l'utilisation d'un cache par le système de gestion de fichiers d'unix. Remarque : la taille du bloc était fixée à 512 octets sur les premiers systèmes UNIX, elle est maintenant souvent beaucoup plus grande (4 K octets). Nous avons choisi cette taille de 512 octets, taille "historique", pour faciliter l'exposé. 339

22 Du i-node aux blocs alloués sur disque Dans chaque i-node on trouve13 adresses de blocs (à l origine, 1 bloc = 512 octets) : - les 10 premières pointent sur les 10 premiers blocs du fichier (B 0,..., B 9 ), - la 11ème pointe sur un bloc de 128 pointeurs qui adressent les 128 blocs de données suivants (B 10 à B 137 ), - la 12ème pointe sur un bloc de 128 pointeurs donnant chacun l'adresse d'un autre bloc de 128 pointeurs vers les blocs de données suivants. Ces blocs sont donc au nombre de : (B 138 à B ), - la 13ème pointe sur un bloc de 128 pointeurs donnant chacun l'adresse d'un bloc de 128 pointeurs vers des blocs de 128 pointeurs vers des blocs de données. Ces blocs sont donc au nombre de : (B à B ). 340

23 Les pointeurs contenant les adresses de blocs sur le disque sont rangés sur 4 octets. Les 10 pointeurs sur les 10 premiers blocs (accès direct) et les trois suivant (de plus en plus d indirections) occupent donc (13*4) octets quelle que soit la taille du fichier. Le jeu des indirections permet d avoir des i-node de taille fixe, au prix d une légère perte de place dans le cas des petits fichiers. Ce style de gestion favorise les petits fichiers : le temps d accès à une information n est pas le même suivant qu ell e se trouve dans les 10 premiers blocs ou dans les suivants. Ce travers est compensé par l utilisation d un cache disque en mémoire (cf. chapitre sur la hiérarchie de mémoire). 341

24 Du i-node aux blocs alloués sur disque : illustration Sur UNIX originel : 1 bloc = 512 octets 342

25 343

26 Du i-node aux blocs alloués sur disque : Exemple avec des blocs de 4 Ko : Nombre maximum de fichiers que l'on peut ranger sur un disque de 800 Mo (on ne tient pas compte de la place pour ranger le super bloc et la i- list) en supposant que la taille de chacun des fichiers est de 600 Ko : - Pour un fichier, il faut 600/4 (=150) blocs d information, - Les 10 premières adresses d un i-node sont donc utilisées (elles donnent un accès direct aux premiers 40 Ko des fichiers), - La 11 ème pointe sur un bloc d index qui contient 4K/4 (= 1K) adresses de blocs de données. - Il faut donc (=151) blocs par fichiers. Or y a 800M/4K (=200K) blocs sur le disque, donc on range 200K/151 fichiers, environ Cette organisation est un compromis entre accès direct pur (plus rapide, plus sûr, mais qui demanderait des i-nodes de taille variable) et accès indexé, Cette organisation favorise les petits fichiers : le temps d'accès à une information est différent selon que cette information est en fin ou en début de fichier Le cache rend équitable (en terme de latence) l'accès aux informations 344

27 On remarquera que le répertoire UNIX reflète parfaitement la séparation organisation logique / organisation physique. La première organisation concerne l'utilisateur et la seconde le système. Chacune des entrées du répertoire comporte deux champs : l'un contient le i-node qui décrit complètement le fichier, l'autre contient le nom du fichier, information fondamentale pour l'utilisateur mais qui intéresse peu UNIX. Le répertoire est un annuaire qui assure la correspondance entre adresse physique et nom logique de l'information. On pourra faire le rapprochement avec le fichier /etc/hosts qui associe nom de machine et adresse IP, la table de pages qui associe adresse virtuelle et adresse physique, etc. L'implantation historique décrite ci-contre a été améliorée. Dans les versions actuelles d'unix, la taille du champ «nom de fichier» est variable, ce qui élimine la contrainte sur la taille des noms de fichiers. 345

28 Répertoire Unix Structure "historique" du répertoire UNIX : le répertoire fait correspondre organisation logique et physique qui sont complètement séparées exemples de commandes concernant les répertoires : cd (simple déplacement dans l arbre) ls (simple affichage du contenu du répertoire courant) ls-l (pour chaque fichier du répertoire courant, on ouvre le i-node correspondant, le nombre d accès disque est beaucoup plus grand que dans le cas de ls) 346

29 L'exemple ci-contre montre comment le SGF navigue dans les répertoires pour retrouver l'information cherchée. On suppose que tous les droits d'accès sont suffisants. La commande donnée peut échouer si celui qui l'a émise n'a pas le droit de traverser un répertoire menant vers le fichier, s'il n'a pas les droits de lecture sur le fichier, ou s'il n'a pas le droit d'utiliser la commande, ici cat

30 Exemple d'accès à un fichier Rappel : format d'une entrée d'un répertoire : 2 octets No d'i-node 14 octets Nom du fichier Entrée d'un répertoire UNIX Effet de la commande cat /usr/dep/titi : 348

31 Un disque est divisé en pistes (tracks) ; 75 à 500 pistes par surface de disque. Une piste est divisée en secteurs ; 32 à 4096 octets par secteur, 4 à 32 secteurs par piste. Les secteurs sont l'unité de base. Le SGF manipule des blocs qui correspondent aux secteurs. Un disque peut comprendre plusieurs plateaux chacun ayant deux surfaces. Un cylindre est un ensemble des pistes qui ont la même position sur les disques. Les accès se font en précisant un numéro de piste (ou de cylindre), un numéro de surface, un numéro de secteur. Soit un disque qui possède les caractéristiques suivantes : - longueur d'une piste : octets, - temps d'une rotation : ms, - temps moyen de déplacement du bras : 30 ms. Le temps moyen de lecture d'un bloc quelconque de k octets est : ,3 + (k / 32768) x 16,67 ms 349

32 Rappel : fonctionnement d'un disque Les têtes de lecture/écriture sont déplacées jusqu'à la piste, positionnées sur la surface, puis attendent que le secteur voulu arrive jusqu'à elles par rotation : Plateau Rotation Secteur Tête de lecture/écriture Piste Cylindre Bras Remarque : les blocs dits "contigus" sont ceux qui ont les mêmes adresses de secteur sur des pistes différentes (lecture simultanée); 350

33 L'unité d'échange d un disque se comporte comme le fait le système : elle doit ordonnancer les accès aux pistes, comme le système ordonnance l'accès au processeur. Les algorithmes utilisés pour gérer les disques présentent les mêmes propriétés que les algorithmes d ordonnancement. Dans l'exemple ci-contre, l'unité d'échange a mémorisé cet ensemble de pistes à lire : 110, 190, 30, 120, 10, 122, 60, 65. Si on utilise SCAN à partir de 50, on classe les pistes à lire en deux suites : l'une décroissante à partir de 50 vers la piste 0 : (30,10), l'autre croissante vers la fin du disque : (60, 65, 110, 120, 122, 190). Il peut y avoir famine si la liste est modifiée dynamiquement et si de nombreuses demandes d'accès sont faites vers des pistes voisines de la piste courante et quelques unes vers des pistes "lointaines". 351

34 Gestion des déplacements de la tête Algorithmes disponibles (à rapprocher de ceux qui décident de l'ordonnancement des processus) : FIFO (First In First Out), accès dans l ordre des demandes, SSF (Shortest Seek First ), accès à la piste la plus proche, optimal, mais possibilité de famine, SCAN (ou ascenceur, ou chasse neige)le plus utilisé en pratique. Exemple : la tête est sur la piste 50, l'unité d'échange a mémorisé les demandes d accès sur les pistes suivantes : (110, 190, 30, 120, 10, 122, 60, 65) FIFO SSF SCAN

35 353

36 Plan 1 Généralités Définitions Organisation logique, organisation physique 2 Organisation physique UNIX : i-list et i-node rappels sur le fonctionnement d'un disque 3 Organisation logique L'arborescence UNIX, Différents types de fichiers Modes et droits d'accès 4 Organisation logique/physique : illustration par quelques commandes : cp, mv, rm, ln, ln -s 5 Processus et fichiers, Annexe: la bibliothèque d'entrées-sorties du langage C 354

37 355

38 Organisation logique : l'arborescence On prendra celle d UNIX comme exemple d organisation logique. Commentaires sur quelques répertoires d administration : /dev pour les fichiers spéciaux (périphériques) : les périphériques sont BANALISES et vus comme des fichiers /etc pour les fichiers d'administration comme passwd, group, hosts,... /bin et /usr/bin pour les commandes du shell,..., /usr/include pour les fichiers.h /var/spool/mail pour la messagerie Un répertoire bien pratique : - /tmp dans lequel tout le monde peut lire et écrire 356

39 357

40 Les différents types de fichiers Plusieurs catégories : - fichiers ordinaires (exécutables, données, ) : ce sont des sommets pendants dans l arbre), - fichiers répertoires (les nœuds qui ont un successeur dans l'arbre), - fichiers spéciaux (sommets pendants dans l arbre) : périphériques, liens symboliques, tubes,... Exemple. On obtient le type d'un fichier grâce à la commande ls l : $ls l drwxr-xr-x 56 dupont 3072 May 14 09:04.. -rw-r dupont 5 May 14 09:05 fic1 lrwxrwxrwx 1 dupont 4 May 14 09:05 fic2 -> fic1 les fichiers de /dev sont en mode bloc (b) ou caractère (c) : crw dupont 28, 128 Feb audio brw-rw-rw- 1 root 36, 0 Feb fd0 crw-rw-rw- 1 root 11, 0 Jul tcp En mode bloc, on utilise le cache, pas en mode caractère. 358

41 Fonction lseek : lseek(int file,int Offset,int From); From : début, fin ou position courante Offset : nombre d'octets à partir de Depuis Redirection des entrées/sorties : ls > fichier ls > /dev/ptty2 cat bark.au > /dev/audio ls -lr > /dev/audio mail dupont -s "fichier.c" < fichier.c 359

42 Structure des fichiers et modes d'accès sous UNIX Contrairement à d'autres systèmes, Unix ne propose pas de format de fichier : un fichier Unix est une simple suite d'octets. - avantages : o portabilité et faible encombrement du SGF, o banalisation : les périphériques étant traités comme des fichiers, ceci permet la redirection des entrées/sorties, exemples : ls > fichier ls > /dev/ptty2 cat bark.au > /dev/audio mail le_prof -s "TP 1" < fichier.c - inconvénients : nombreuses fonctions à réaliser par l'utilisateur (exemple : développer une base de données!). Accès aux fichiers : - l'accès par défaut est séquentiel : une fonction d'accès (read, write, etc) à un fichier reprend le curseur dans le fichier là où l'avait laissé le traitement précédent. - Pour faire un accès direct, il faut utiliser la fonction lseek 360

43 Pour lire un fichier, il faut avoir le droit de lecture (r) sur ce fichier et le droit de traverser (x) le, ou les, répertoires qui y conduisent. Exemple : Pour créer un répertoire privé, c'est à dire qui peut être lu seulement si on en donne le nom : $mkdir private $chmod 711 private $cd private $mkdir dir1 $chmod 755 dir1 Personne ne peut lire dans private, (par exemple faire : ls private) c'est à dire voir qu'il contient dir1, mais on peut accéder aux informations contenues dans dir1 (cd dir1). En effet : pour faire cd il faut x sur le répertoire visé pour faire ls il faut r sur le répertoire visé 361

44 Les droits d'accès aux fichiers A la création du fichier, le SGF : - copie les uid et gid (trouvés dans /etc/passwd) du créateur dans le i-node, - initialise les droits d'accès, aussi dans le i-node, en utilisant le umask (trouvé dans le fichier qui définit l'environnement), Ces droits d accès sont codés sur 10 bits : user group others r w x r w x r w x Exemple : droits d accès pour le fichier fic.c : -rw-r dupont 8229 Mar 20 10:08 fic.c umask renvoie (ou initialise) les accès interdits par défaut sur les fichiers créés. Par exemple, un umask 022 signifie écriture interdite pour group et others. 362

45 La commande chmod permet de positionner le bit s : Commandes ls -l ma_commande chmod u+s ma_commande ls -l ma_commande Résultats affichés à l'écran -rwxr--r-- 1 dupont ma_commande -rwsr--r-- 1 dupont ma_commande Lorsqu'un utilisateur quelconque exécutera le fichier ma_commande il prendra l'identité "dupont" et aura donc accès à tous les fichiers appartenant à dupont comme s'il était dupont. Dans /etc/passwd, un utilisateur peut modifier son mot de passe (et son shell ) par défaut, pourtant, il n'a pas l'accès en écriture sur ce fichier, qui appartient à root! Mais il utilise la commande passwd qui appartient à root, sur laquelle le bit s est positionné à 1, il prend ainsi l'identité "root" et peut écrire sur les fichiers appartenant à root, en particulier il peut modifier /etc/passwd. 363

46 Droits d'accès : le bit s Si le bit s est positionné sur un fichier : l'utilisateur U du fichier prend l'identité du PROPRIETAIRE P du fichier : - on parle de real uid et gid pour ceux de U, - on parle de effective uid et gid pour ceux de P, Exemple, les droits sur/bin/passwd sont positionnés comme suit par root pour que les utilisateurs puissent accéder à /etc/passwd : -r-sr-sr-x 1 root -rw-r--r-- 1 root 7728 Jul /bin/passwd 559 Jul /etc/passwd ici le bit s est positionné sur l'exécutable /bin/passwd, celui qui utilise cette commande prend donc l'identité de root pendant cette utilisation. Il pourra donc mettre à jour le fichier /etc/passwd, bien qu'il n'ait pas le droit d'y écrire

47 365

48 Plan 1 Généralités Définitions Organisation logique, organisation physique 2 Organisation physique UNIX : i-list et i-node rappels sur le fonctionnement d'un disque 3 Organisation logique L'arborescence UNIX, Différents types de fichiers Modes et droits d'accès 4 Organisation logique/physique : illustration par quelques commandes : cp, mv, rm, ln, ln -s 5 Processus et fichiers, Annexe: la bibliothèque d'entrées-sorties du langage C 366

49 Commande cp Cette commande copie un fichier dans un autre, le SGF enchaîne les actions suivantes : chercher un i-node libre dans la i-liste, s'il en existe un, chercher de la place libre sur le disque, si il y en a assez, copier les blocs, mettre à jour le i-node trouvé, Un fichier peut ne pas être créé pour plusieurs raisons : pas le droit d'écrire dans le répertoire visé, de lire dans le rép. source, pas le droit de lire le fichier source, pas de i-node libre, bien qu'il y ait de la place sur disque, i-node libre, plus de place sur disque, 367

50 Commande cp dupont fait : cp f1 f2 dans son home directory Etats de l arborescence et du répertoire dupont avant l exécution de cette commande: f1 dupont util g1 martin Catalogue dupont f1 Catalogue martin g1 Etats de l arborescence et du répertoire dupont après l exécution de cette commande: f1 dupont f2 util g1 martin Catalogue dupont f1 62 f2 Catalogue martin g1 368

51 Note : Si on passe un fichier d un file system à un autre par mv, il y copie puis destruction (équivalent de cp suivi de rm). 369

52 Commande mv dupont fait maintenant : mv f2 f50 Etats de l arborescence et du répertoire dupont avant l exécution de cette commande: f1 dupont f2 util g1 martin Catalogue dupont f1 62 f2 Catalogue martin g1 Etats de l arborescence et du répertoire dupont après l exécution de cette commande: f1 dupont f50 util g1 martin Catalogue dupont f1 62 f50 Catalogue martin g1 Très peu de travail sur le disque pour le SGF : seul le nom du fichier dans le répertoire change, pas de gestion d'espace disque. 370

53 Commande ln (lien) Appels système : - link (Origine, Destination); Pas de ln entre file system différents 371

54 Commande ln Cette commande s appelle hard link dans le jargon UNIX : - Le fichier n'est pas dupliqué - ln augmente de 1 le nombre de liens sur le fichier Exemple, martin fait : ln../dupont/f50 g2 Etats de l arborescence et du répertoire dupont avant l exécution de cette commande : f1 dupont f50 util g1 martin Catalogue dupont f1 62 f50 Catalogue martin g1 Etats de l arborescence et du répertoire dupont après l exécution de cette commande : f1 dupont f50 util g2 g1 martin Catalogue dupont f1 62 f50 Catalogue martin g1 62 g2 372

55 373

56 Commande ln -s Cette commande (symbolic link) crée un fichier, donc alloue un i-node qui contient la chaîne de caractère entrée et marque ce fichier comme étant de type l, Exemple, la commande : ln -s../dupont/f50 g3 va donc créer dans dupont un fichier g3 dont le contenu est../dupont/f50 et dont le type est l. un lien symbolique est donc un pointeur, 374

57 375

58 Commande ln -s martin fait : ln -s../dupont/f50 g3 Etats de l arborescence et du répertoire avant l exécution : f1 dupont f50 util g2 g1 martin Catalogue dupont f1 62 f50 Catalogue martin g1 62 g2 Etats de l arborescence et du répertoire après l exécution : f1 dupont f50 util g2 g1 martin g3 Catalogue dupont f1 62 f50 Catalogue martin g1 62 g2 101 g3 Contenu du fichier g3 :../dupont/f50 attention si dupont fait : mv f50 f60, alors cat g3 donnera file not found! 376

59 377

60 Commande ln et ln s (différence) Depuis le répertoire courant, faire : Commande Commentaire mkdir dir1 dir2 créer deux répertoires cd dir1 aller dans le répertoire dir1 echo abc > fic1 créer fic1 cd../dir2 aller dans dir2 ln../dir1/fic1 fic2 fic2 est un synonyme de fic1 ln -s /dir1/fic1 fic3 fic3 est un pointeur vers fic1 Contenu du répertoire dir2, obtenu par ls -il : rw-r--r-- 2 dupont fic lrwxrwxrwx 1 dupont fic3 ->../dir1/fic1 Contenu du répertoire dir1, obtenu par ls -il : rw-r--r-- 2 dupont fic1 - Les fichiers fic2 dans dir2 et fic1 dans dir1 ont le même numéro de i-node. : 23117, - fic3 est de type l, c est à dire un lien symbolique, un pointeur, c est un autre fichier : il a un numéro de i-node différent :

61 C'est ainsi que l'on peut récupérer les fichiers détruits. En fait, ils sont détruits dans l'organisation logique, mais pas forcément dans l'organisation physique. 379

62 Situation initiale : Commande rm f1 dupont f50 util g2 g1 martin g3 Catalogue dupont f1 62 f50 Catalogue martin g1 62 g2 101 g3 Effet de rm /util/martin/g1: f1 dupont f50 util g2 martin g3 Catalogue dupont f1 62 f50 Catalogue martin g1 62 g2 101 g3 La commande rm (remove) porte bien son nom (contrairement à de nombreuses commandes Unix), elle ne veut pas dire delete : seul l'arc conduisant au fichier est détruit : nbre de liens =nbre de liens - 1 Mais, il peut y avoir plusieurs arcs (links) conduisant à ce fichier! Le fichier n'est détruit, c'est à dire le i-node considére comme libre, seulement quand le dernier lien sur le fichier est détruit ; 380

63 381

64 Nom de fichier et i-node : récapitulatif l'utilisateur s'intéresse aux noms des fichiers, les PATHNAMES ou nom des arcs, Unix gère les i-nodes, noms des nœuds : dupont util 12 martin Catalogue dupont f1 62 f50 f1 29 f g g3 101 Catalogue martin g1 62 g2 101 g3 Le répertoire assure la correspondance pathname/i-node ; sous Unix il peut y avoir plusieurs chemins (pathnames) pour accèder au même fichier (i node) Le répertoire assure l'indépendance des organisation logiques et physiques : Unix gère des i-nodes, les véritables fichiers, l'utilsateur construit l'arbre des pathnames Un fichier n'est détruit que si le dernier arc (link) qui y conduit disparaît 382

65 383

66 Plan 1 Généralités Définitions Organisation logique, organisation physique 2 Organisation physique UNIX : i-list et i-node rappels sur le fonctionnement d'un disque 3 Organisation logique L'arborescence UNIX, Différents types de fichiers Modes et droits d'accès 4 Organisation logique/physique : illustration par quelques commandes : cp, mv, rm, ln, ln -s 5 Processus et fichiers, Annexe: la bibliothèque d'entrées-sorties du langage C 384

67 385

68 Processus et fichiers : Table des fichiers Descripteur/ nom de fichier : - Pour accéder à un fichier, un processus ne le désigne pas directement par son nom, mais il passe par un intermédiaire, appelé descripteur, qui peut être un simple numéro, - Cette association se fait en utilisant les fonctions du type «open». Table des fichiers ouverts (User Open File Table, UOFT) - Sous UNIX, le mécanisme repose sur l utilisation d un table appelée User Open File Table. Elle contient une entrée par fichier ouvert pour le processus. (Pas forcément ouvert par lui). Il y a une telle table par processus. - Chaque entrée de cette UOFT contient un pointeur sur une table appelée System Open File Table, commune à tous les processus. Chaque ouverture de fichier ajoute une entrée dans cette table. Les entrées de la SOFT contiennent le nom du fichier et la valeur courante du pointeur dans celui-ci. 386

Gestion des fichiers. ENST BCI Informatique

Gestion des fichiers. ENST BCI Informatique 275 Gestion des fichiers 1 Généralités Définitions Organisation logique, organisation physique 2 Organisation physique UNIX : i-list et i-node rappels sur le fonctionnement d'un disque 3 Organisation logique

Plus en détail

Le système de gestion des fichiers, les entrées/sorties.

Le 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étail

Cours 6 : Tubes anonymes et nommés

Cours 6 : Tubes anonymes et nommés Cours 6 : Tubes anonymes et nommés Mécanisme de communications du système de fichiers I-node associé. Type de fichier: S_IFIFO. Accès au travers des primitives read et write. Les tubes sont unidirectionnels

Plus en détail

Programmation système I Les entrées/sorties

Programmation système I Les entrées/sorties Programmation système I Les entrées/sorties DUT 1 re année Université de Marne La vallée Les entrées-sorties : E/O Entrées/Sorties : Opérations d échanges d informations dans un système informatique. Les

Plus en détail

Chapitre 3 Systèmes de gestion de fichiers

Chapitre 3 Systèmes de gestion de fichiers Chapitre 3 Systèmes de gestion de fichiers Jean Privat Université du Québec à Montréal INF3172 Principes des systèmes d exploitation Automne 2011 Jean Privat (UQAM) 03 SGF INF3172 Automne 2011 1 / 1 Plan

Plus en détail

Programmation impérative

Programmation impérative Programmation impérative Cours 4 : Manipulation des fichiers en C Catalin Dima Organisation des fichiers Qqs caractéristiques des fichiers : Nom (+ extension). Chemin d accès absolu = suite des noms des

Plus en détail

Programmation système de commandes en C

Programmation système de commandes en C Programmation système de commandes en C Cours de Programmation système Tuyêt Trâm DANG NGOC Université de Cergy-Pontoise 2012 2013 Tuyêt Trâm DANG NGOC Programmation système de commandes

Plus en détail

Dans le chapitre 1, nous associions aux fichiers ouverts des descripteurs de fichiers par lesquels nous accédions aux fichiers.

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

Plus en détail

Cours de Système : Gestion de Fichiers

Cours de Système : Gestion de Fichiers Cours de Système : Gestion de Fichiers Bertrand Le cun et Emmanuel Hyon bertrand.le cun{at}u-paris10.fr et Emmanuel.Hyon{at}u-paris10.fr Université Paris Ouest Nanterre 25 octobre 2011 B.L.C. & E.H. (UPO)

Plus en détail

GESTION DES FICHIERS C/UNIX

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

Plus en détail

SYSTÈME DE GESTION DE FICHIERS SGF - DISQUE

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

Plus en détail

SYSTÈME DE GESTION DE FICHIERS

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

Plus en détail

Traducteur mot à mot

Traducteur mot à mot Traducteur mot à mot CORRECTION Ce document, ainsi que le programme C et un exemple de programme trad-fr-us, peut être trouvé en ligne à l'addresse suivante : http ://www.lifl.fr/hauspie/hauspie/teaching.

Plus en détail

Cours Programmation Système

Cours 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étail

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

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

Plus en détail

3IS - Système d'exploitation linux - Programmation système

3IS - Système d'exploitation linux - Programmation système 3IS - Système d'exploitation linux - Programmation système 2010 David Picard Contributions de : Arnaud Revel, Mickaël Maillard picard@ensea.fr Environnement Les programmes peuvent être exécutés dans des

Plus en détail

UNIX COMMUNICATION INTERNE ENTRE PROCESSUS. C. Crochepeyre Cnam - Diapason Unix: communications internes 1

UNIX COMMUNICATION INTERNE ENTRE PROCESSUS. C. Crochepeyre Cnam - Diapason Unix: communications internes 1 UNIX COMMUNICATION INTERNE ENTRE PROCESSUS C. Crochepeyre Cnam - Diapason Unix: communications internes 1 1. GÉNÉRALITÉS Communications internes: entre processus sur une même machine: exec() fichiers moyens

Plus en détail

6 - Le système de gestion de fichiers F. Boyer, UJF-Laboratoire Lig, Fabienne.Boyer@imag.fr

6 - Le système de gestion de fichiers F. Boyer, UJF-Laboratoire Lig, Fabienne.Boyer@imag.fr 6 - Le système de gestion de fichiers F. Boyer, UJF-Laboratoire Lig, Fabienne.Boyer@imag.fr Interface d un SGF Implémentation d un SGF Gestion de la correspondance entre la structure logique et la structure

Plus en détail

Les systèmes de fichiers

Les systèmes de fichiers Les systèmes de fichiers I Généralités Fichiers : motivation Un disques est une collection de blocs adressables qui peuvent être lus et écrits. Pour utiliser un disque, il faut décider où y placer l information

Plus en détail

Fonctions de gestion de fichiers

Fonctions de gestion de fichiers Fonctions de gestion de fichiers 1. Ouverture et fermeture d un fichier Le C offre la possibilité de lire et d'écrire des données dans un fichier. Pour des raisons d'efficacité, les accès à un fichier

Plus en détail

GESTION DES FICHIERS. Plan

GESTION DES FICHIERS. Plan Chapitre 10 GESTION DES FICHIERS Objectif: Connaître et manipuler les différentes primitives de gestion de fichier de niveau haut. Pré requis: Les fonction d'entrées sorties Les pointeurs Les structures

Plus en détail

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

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

Plus en détail

Cours de Système : Les processus

Cours de Système : Les processus Cours de Système : Les processus Bertrand Le cun et Emmanuel Hyon bertrand.le cun{at}u-paris10.fr et Emmanuel.Hyon{at}u-paris10.fr Université Paris Ouest Nanterre 29 novembre 2011 B.L.C. et E.H. (UPO)

Plus en détail

Introduction Les arguments de main() Passons aux choses serieuses. Formation Linux. Adrien Chardon. Novembre 2014

Introduction Les arguments de main() Passons aux choses serieuses. Formation Linux. Adrien Chardon. Novembre 2014 Novembre 2014 1 Introduction 2 3 1 Introduction 2 Les deux prototypes possibles de main() Deux exemples pour comprendre 3 Exemples simples Explorateur de fichiers Connexion à distance Redirection et pipe

Plus en détail

Cours de système. Le système de gestion de fichiers. Sébastien Paumier

Cours de système. Le système de gestion de fichiers. Sébastien Paumier Cours de système Le système de gestion de fichiers Sébastien Paumier paumier@univ-mlv.fr Illustrations provenant du site http://tux.crystalxp.net/ 1 Rôle gérer l'organisation des fichiers et de l'arborescence

Plus en détail

A. L opérateur ET logique

A. L opérateur ET logique IV.5 Les Opérateurs A. L opérateur ET logique cmd1 && cmd2 On exécutera cmd2 uniquement si la commande cmd1 se termine correctement Exemple : $ pwd /usr/c1 $ mkdir tmp $ test d $HOME/tmp && cd $HOME/tmp

Plus en détail

Cours de Systèmes d'exploitation (Unix)

Cours de Systèmes d'exploitation (Unix) Cours de Systèmes d'exploitation (Unix) H.Bourzoufi Université de Valenciennes - ISTV -1- H.Bourzoufi Caractéristiques d'unix q Portabilité (écrit en C) q Multi-utilisteurs Plusieurs utilisateurs peuvent

Plus en détail

Architecture des Ordinateurs & Systèmes d Exploitation TP 9

Architecture des Ordinateurs & Systèmes d Exploitation TP 9 Objectifs : Architecture des Ordinateurs & Systèmes d Exploitation TP 9 Comparer le système de chiers de 2 SE (Windows 98 et Linux). Manipuler des commandes de gestion de chiers sous Unix. Création de

Plus en détail

Programmation C++ (débutant)/les fichiers

Programmation C++ (débutant)/les fichiers Programmation C++ (débutant)/les fichiers 1 Programmation C++ (débutant)/les fichiers Généralité sur les fichiers La règle générale pour créer un fichier est la suivante : il faut l'ouvrir en écriture.

Plus en détail

Introduction à UNIX et Windows

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

Plus en détail

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

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

Plus en détail

UE GLSE 301 Outils informatique

UE GLSE 301 Outils informatique UE GLSE 301 Outils informatique Responsable : Andrea CHERUBINI andrea.cherubini@univ-montp2.fr 1 Présentation générale But Ce module vous permettra de vous perfectionner sur les différents logiciels que

Plus en détail

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

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

Plus en détail

La mémoire. Un ordinateur. L'octet. Le bit

La mémoire. Un ordinateur. L'octet. Le bit Introduction à l informatique et à la programmation Un ordinateur Un ordinateur est une machine à calculer composée de : un processeur (ou unité centrale) qui effectue les calculs une mémoire qui conserve

Plus en détail

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

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

Plus en détail

Questions à choix multiples Page 1 de 11

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

Plus en détail

synchronisation et communication entre processus Synchronisation et communication entre processus

synchronisation et communication entre processus Synchronisation et communication entre processus 1 Synchronisation et communication entre processus Accès à des ressources communes 2 Exemple: compte bancaire dont montant en A sur disque programme pour ajouter 100: lire(n,a) N := N+100 écrire(n,a) 2

Plus en détail

Système d exploitation

Système d exploitation Chapitre 2 Système d exploitation 2.1 Définition et rôle Un ordinateur serait bien difficile à utiliser sans interface entre le matériel et l utilisateur. Une machine peut exécuter des programmes, mais

Plus en détail

Introduction au système d exploitation Linux Linux / Emacs / Scilab / L A TEX

Introduction au système d exploitation Linux Linux / Emacs / Scilab / L A TEX Introduction au système d exploitation Linux Linux / Emacs / Scilab / L A TEX Jean-Philippe Chancelier et Michel De Lara 7 septembre 2009 Table des matières 1 Introduction 2 2 Le système de fichiers 3

Plus en détail

Structure arborescente de fichiers. Fichiers. Types de fichiers. Systèmes de fichiers. Wieslaw Zielonka. October 2, 2014 media

Structure arborescente de fichiers. Fichiers. Types de fichiers. Systèmes de fichiers. Wieslaw Zielonka. October 2, 2014 media Structure arborescente de fichiers / bin dev home etc Fichiers bash bunzip tar sda tty3 tom mike peter postgresql python Wieslaw Zielonka enseignement Systemes 9 93 October, 04 media courspdf courstex

Plus en détail

exemples de SGF Exemples de SGF

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

Plus en détail

Système de Gestion de Fichiers

Système de Gestion de Fichiers Chapitre 2 Système de Gestion de Fichiers Le système de gestion de fichiers est un outil de manipulation des fichiers et de la structure d arborescence des fichiers sur disque et a aussi le rôle sous UNIX

Plus en détail

Cours de Réseau et communication Unix n 4

Cours de Réseau et communication Unix n 4 Cours de Réseau et communication Unix n 4 Edouard THIEL Faculté des Sciences Université d Aix-Marseille (AMU) Septembre 2014 Les transparents de ce cours sont téléchargeables ici : http://pageperso.lif.univ-mrs.fr/~edouard.thiel/ens/rezo/

Plus en détail

Formation Unix/Linux (3) Le Shell: gestion des processus, redirection d entrée/sortie

Formation Unix/Linux (3) Le Shell: gestion des processus, redirection d entrée/sortie Formation Unix/Linux (3) Le Shell: gestion des processus, redirection d entrée/sortie Olivier BOEBION Mars 2004 1 Définition Un programme se compose d un ou plusieurs fichiers composés d instructions.

Plus en détail

TP N o 2 - Utilisateurs et droits

TP N o 2 - Utilisateurs et droits IUT de Villetaneuse E. Viennet GTR 2ème année Introduction au Système UNIX 22/09/03 TP N o 2 - Utilisateurs et droits Vous rédigerez un compte rendu, sur lequel vous indiquerez la réponse à chaque question,

Plus en détail

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

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

Plus en détail

Langage C et programmation système

Langage C et programmation système Langage C et programmation système DUT Informatique Villetaneuse Module : Système d'exploitation christophe.cerin@iutv.univ-paris13.fr Variables d environnement Votre problème : vous développez une application

Plus en détail

Semestre 6 2012-2013. Licence miage Université Lille 1 Pour toutes remarques : Alexandre.Sedoglavic@univ-lille1.fr. Systèmes d exploitation :

Semestre 6 2012-2013. Licence miage Université Lille 1 Pour toutes remarques : Alexandre.Sedoglavic@univ-lille1.fr. Systèmes d exploitation : V-2 (29-01-2010) de Nœud s Ensemble de de Licence miage Université Lille 1 Pour toutes remarques : Alexandre.Sedoglavic@univ-lille1.fr Semestre 6 2012-2013 de Nœud s Ensemble de Notion de bloc physique

Plus en détail

Commandes et scripts Bash. 1 Commandes de gestion des fichiers et répertoires

Commandes et scripts Bash. 1 Commandes de gestion des fichiers et répertoires Commandes et scripts Bash Seules certaines options sont indiquées. Pour plus de détails voir les pages de manuel (cf commande man). Si une commande est indiquée comme étant interne, cela signifie qu elle

Plus en détail

1. Eléments de base du langage C

1. Eléments de base du langage C 1 1. Eléments de base du langage C Généralités Programme et sous-programme Fonction C Structure d un programme C Vocabulaire de base et syntaxe Exemples 2 Généralités Crée en 1972 par D. Ritchie pour écrire

Plus en détail

Processus. Les processus, à quoi ça sert? Une définition d'un processus. La vie intime des processus. Allocation du processeur

Processus. Les processus, à quoi ça sert? Une définition d'un processus. La vie intime des processus. Allocation du processeur 1 sur 9 Processus Les processus, à quoi ça sert? Une définition d'un processus La vie intime des processus Quelques caractéristiques des processus Le contexte et la commutation de contexte Les processus

Plus en détail

Interfaçage de programmation. c Olivier Caron

Interfaçage de programmation. c Olivier Caron Interfaçage de programmation 1 Le SGBD est-il suffisant? (1/2) Les pour : La puissance du langage de requêtes. 1 Le SGBD est-il suffisant? (1/2) Les pour : La puissance du langage de requêtes. L aspect

Plus en détail

Département de génie informatique et génie logiciel

Département de génie informatique et génie logiciel INF2610 Chapitre 2 : Processus Département de génie informatique et génie logiciel Hiver 2014 Chapitre 2 - Processus Qu est ce qu un processus? États d un processus Hiérarchie des processus Processus UNIX-Linux

Plus en détail

TP 1 Linux : Commandes de base & utilitaires. I. Introduction : Rappel & révision

TP 1 Linux : Commandes de base & utilitaires. I. Introduction : Rappel & révision TP 1 Linux : s de base & utilitaires I. Introduction : Rappel & révision Nous prenons l'exemple du système d'exploitation Linux pour s'initier aux tâches d'administration système. Un des atouts de ce système

Plus en détail

Unix et Programmation Shell

Unix et Programmation Shell Unix et Programmation Shell Philippe Langevin départment d informatique UFR sciences et technique université du sud Toulon Var Automne 2013 Philippe Langevin (imath/ustv) Unix et Programmation Shell Automne

Plus en détail

La Gestion des Fichiers

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

Plus en détail

Langage C. Chapitre 2. 2.1 Le langage C, un langage non interprété. 2.1.1 L écriture du programme. 2.1.2 La compilation

Langage C. Chapitre 2. 2.1 Le langage C, un langage non interprété. 2.1.1 L écriture du programme. 2.1.2 La compilation Chapitre 2 Langage C 2.1 Le langage C, un langage non interprété Le C est un langage de programmation comme il en existe beaucoup d autres (C++, Fortran, Python, Matlab, IDL, ADA...). Il existe deux grandes

Plus en détail

Systèmes d Exploitation - ENSIN6U3. Aix-Marseille Université

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 Leonardo.Brenner@univ-amu.fr 2 Jean-Luc.Massat@univ-amu.fr Aix-Marseille Université Faculté

Plus en détail

EPREUVE OPTIONNELLE d INFORMATIQUE

EPREUVE OPTIONNELLE d INFORMATIQUE EPREUVE OPTIONNELLE d INFORMATIQUE A) QCM Les réponses au QCM doivent être portées directement sur la feuille de sujet de QCM. Ne pas omettre de faire figurer votre numéro de candidat sur cette feuille

Plus en détail

LA GESTION DE FICHIERS

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

Plus en détail

TP N o 5 - Shell scripts, Codage, compression, archivage

TP N o 5 - Shell scripts, Codage, compression, archivage IUT de Villetaneuse E. Viennet GTR 2ème année Introduction au Système UNIX 8/10/01 TP N o 5 - Shell scripts, Codage, compression, archivage EXERCICE 1 - On reprend les deux dernières questions du TP précédent,

Plus en détail

Initiation à Unix. Cours 1 - Présentation

Initiation à Unix. Cours 1 - Présentation Initiation à Unix Cours 1 - Présentation Université Henri Poincaré Master Génomique et Informatique Automne 2008 1/ 41 Plan Introduction Introduction L interpréteur de commande Le système de fichiers Les

Plus en détail

Programmation impérative

Programmation impérative Programmation impérative Cours 1 Catalin Dima Objectifs du cours Rappels de C : Structure d un programme C. Types de variables, tableaux, structures. Fonctions. Approfondissement de la programmation en

Plus en détail

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

TD séances n 5 Gestion avancée de Fichiers sous Unix

TD séances n 5 Gestion avancée de Fichiers sous Unix Ce TP est destiné à vous familiariser avec les droits d'accès et les liens sous l'environnement Unix. 1 Droits d accès Comme nous l'avons vu précédemment, les systèmes Unix sont multi utilisateurs, ceci

Plus en détail

Introduction à la ligne de commande

Introduction à la ligne de commande Introduction à la ligne de commande Xerox Park 1981 Apple Macintosh 1984 Last login: Mon Nov 15 20:16:58 on ttys000 computer:~ jerome$ Last login: Mon Nov 15 20:16:58 on ttys000 computer:~ jerome$ Archaïque?

Plus en détail

PLAN DU COURS ENTRÉE SORTIE FONCTION PRINTF. Fonction de la bibliothèque stdio.h. Affichage d'un texte:

PLAN DU COURS ENTRÉE SORTIE FONCTION PRINTF. Fonction de la bibliothèque stdio.h. Affichage d'un texte: PLAN DU COURS Introduction au langage C Notions de compilation Variables, types, constantes, Tableaux, opérateurs Entrées sorties de base Structures de contrôle Algorithmes de recherche Algorithmes de

Plus en détail

Fonctions de base d'un système d exploitation

Fonctions de base d'un système d exploitation Chapitre 2 Durée : 12 Heures Type : Théorique Introduction Fonctions de base d'un système d exploitation Ce chapitre s'intéresse aux fonctionnalités de base d'un OS comme : La gestion des processus La

Plus en détail

Le langage C. Séance n 4

Le langage C. Séance n 4 Université Paris-Sud 11 Institut de Formation des Ingénieurs Remise à niveau INFORMATIQUE Année 2007-2008 Travaux pratiques d informatique Le langage C Séance n 4 But : Vous devez maîtriser à la fin de

Plus en détail

Chapitre 10 : Gestion des périphériques d E/S & Systèmes de fichiers. Chapitre 10 - Gestion des périphériques d E/S

Chapitre 10 : Gestion des périphériques d E/S & Systèmes de fichiers. Chapitre 10 - Gestion des périphériques d E/S INF2610 Chapitre 10 : Gestion des périphériques d E/S & Systèmes de fichiers Département de génie informatique et génie logiciel Hiver 2014 Chapitre 10 - Gestion des périphériques d E/S Introduction Structure

Plus en détail

Les chaînes de caractères

Les chaînes de caractères Les chaînes de caractères Comme déjà précisé dans les premiers chapitres de ce cours, il n existe pas de type chaîne de caractères prédéfinit en C. Il existe deux façons pour déclarer une chaîne de caractères

Plus en détail

Programmation Shell. Table des matières. Programmation Shell

Programmation Shell. Table des matières. Programmation Shell Programmation Shell Table des matières Programmation Shell...1 I- Introduction...2 Shell?...2 Le Bash...2 II- Premiers scripts Shell...3 Syntaxe des scripts Shell...3 Bonjour!...3 Exécuter un script...3

Plus en détail

Chapitre 3 : Système de gestion de fichiers

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

Plus en détail

1 Hello world. 2 Sorties en C. DUT Informatique M3101 Système S3 2015 / 2016. Travaux Pratiques n o 0 : Rappels de programmation C

1 Hello world. 2 Sorties en C. DUT Informatique M3101 Système S3 2015 / 2016. Travaux Pratiques n o 0 : Rappels de programmation C DUT Informatique 2015 / 2016 Travaux Pratiques n o 0 : Rappels de programmation C Nom(s) : Groupe : Date : Objectifs : renouer avec les notions, la manipulation et l écriture de programmes C, en particulier

Plus en détail

Module ITC33 - Informatique

Module ITC33 - Informatique Module ITC33 - Informatique TDs UNIX / Shell (deux séances) Benoît Darties - benoit.darties@u-bourgogne.fr Univ. Bourgogne Franche-Comté Année universitaire 2015-2016 Avant-propos : Support de Travaux

Plus en détail

Système de gestion de fichiers

Système de gestion de fichiers Système de gestion de fichiers Table des matières 1. Introduction...2 2. Formatage et Partitionnement...2 2.1. Le partitionnement...2 2.2. Le formatage...2 3. Le concept de fichier...3 4. La notion de

Plus en détail

Systèmes de fichiers. Didier Verna

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

Plus en détail

Le système de fichiers

Le système de fichiers Le système de fichiers Le système de gestion de fichiers (SGF) Présentation générale Les i-nodes Les fonctions de base : open, close, read, write L'outil make pour la gestion des dépendances L'éditeur

Plus en détail

Gestion des Processus

Gestion des Processus Plan Gestion des Processus Concept de processus Ordonnancement Ryan Cassel cassel@limsi.fr Synchronisation Université Paris XI 2 de Tanenbaum Pour préparer un gateau: Recette Programme Ingrédients

Plus en détail

UE1 - Langage C Fiche TP1

UE1 - Langage C Fiche TP1 1 UE1 - Langage C Fiche TP1 Objectifs 1. Connaître quelques commandes linux 2. Savoir manipuler les outils de compilation tels que gcc, make 3. Ecrire des algorithmes, les coder en C, et les exécuter 1.

Plus en détail

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

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

Plus en détail

EPITA - Spé: C: Entrée - Sortie.

EPITA - Spé: C: Entrée - Sortie. EPITA - Spé: C: Entrée - Sortie. Marwan BURELLE 1 Manipulations élémentaires Nous commencerons ce TP avec des manipulations simples sur les descripteurs de fichiers à l aide des fonctions read(), write(),

Plus en détail

Introduction aux systèmes d'exploitation Examen de 2 heures Tous documents autorisés (sauf PC)

Introduction aux systèmes d'exploitation Examen de 2 heures Tous documents autorisés (sauf PC) Introduction aux systèmes d'exploitation Examen de 2 heures Tous documents autorisés (sauf PC) Nicolas Gibelin 30 novembre 2004 1 Synchronisation (6 Points - 50 Minutes) 1.1 Question (3 points) Soit deux

Plus en détail

Bases de programmation. Cours 5. Structurer les données

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

Plus en détail

TP1 - Introduction au langage C

TP1 - Introduction au langage C ENS Lyon L-Info PROJ1 2014-2015 TP1 - Introduction au langage C Sujet à terminer pour le dimanche 20 à 2h59, sous forme d une archive.zip contenant votre code source, par email à aurelien.cavelan@ens-lyon.fr.

Plus en détail

ASR2-S ASR2. Gestion des disques : plan et illustrations. 2 Pour l utilisateur 4 FAT. 3 Catalogue de fichiers. 2.

ASR2-S ASR2. Gestion des disques : plan et illustrations. 2 Pour l utilisateur 4 FAT. 3 Catalogue de fichiers. 2. ASR2-S ASR2-Système Département Informatique IUT Bordeaux 1 ASR2 1 Définition 2 Pour l utilisateur nom du position du fichier premier bloc taille CLIENTS 10 50 PRODUITS 60 500 FACTURES 560 2000 pour l

Plus en détail

Structure fonctionnelle d un SGBD

Structure fonctionnelle d un SGBD Fichiers et Disques Structure fonctionnelle d un SGBD Requetes Optimiseur de requetes Operateurs relationnels Methodes d acces Gestion de tampon Gestion de disque BD 1 Fichiers et Disques Lecture : Transfert

Plus en détail

Introduction aux commandes de base sous UNIX

Introduction aux commandes de base sous UNIX Introduction aux commandes de base sous UNIX -- Atelier DNS AfTLD Yaoundé 2004 - Exemple d un session (se logger, exécuter des commandes, se délogger) - Les commandes de base 1. Une session avec un "shell"

Plus en détail

Le Shell. Chapitre 3. 3.1.1 Conventions typographiques

Le Shell. Chapitre 3. 3.1.1 Conventions typographiques Chapitre 3 Le Shell 3.1 Généralités 3.1.1 Conventions typographiques Dans ce chapitre, les noms des fichiers et des commandes UNIX seront écrits dans la fonte que voici. Lorque cette même fonte sera utilisée

Plus en détail

EPREUVE OPTIONNELLE d INFORMATIQUE

EPREUVE OPTIONNELLE d INFORMATIQUE EPREUVE OPTIONNELLE d INFORMATIQUE A) QCM Les réponses au QCM doivent être portées directement sur la feuille de sujet de QCM. Ne pas omettre de faire figurer votre numéro de candidat sur cette feuille

Plus en détail

TP : commande awk. D'après le cours en ligne de Isabelle Vollant http://www.shellunix.com/awk.html

TP : commande awk. D'après le cours en ligne de Isabelle Vollant http://www.shellunix.com/awk.html TP : commande awk D'après le cours en ligne de Isabelle Vollant http://www.shellunix.com/awk.html Nous reprenons dans ce TP une grande partie du cours de Isabelle Vollant en simplifiant quelques informations.

Plus en détail

Cours de système d'exploitation TD numéro 4

Cours de système d'exploitation TD numéro 4 Cours de système d'exploitation TD numéro 4 Jean Méhat 10 novembre 2015 Merci de traiter les questions dans l'ordre. Les réponses sont à envoyer de la façon usuelle à l'adresse jm@ai.univ-paris8.fr (l'adresse

Plus en détail

Annexe : Le système UNIX

Annexe : Le système UNIX Annexe : Le système UNIX Présentation UNIX est le nom d'un système d'exploitation et de programmes utilitaires qui y sont inclus. Le système d'exploitation est le logiciel qui contrôle le fonctionnement

Plus en détail

Bases de données. Cours 2 : Stockage

Bases de données. Cours 2 : Stockage Bases de données Polytech Paris-Sud Apprentis 4 ème année Cours 2 : Stockage kn@lri.fr http://www.lri.fr/~kn Plan 1 Rappels 2 Stockage 2.1 Introduction 2.2 Aspects bas-niveau 2.3 Stockage pour les SGBD

Plus en détail

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

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

Plus en détail

Introduction au langage C

Introduction 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étail

LIF1 : ALGORITHMIQUE ET PROGRAMMATION IMPÉRATIVE, INITIATION

LIF1 : ALGORITHMIQUE ET PROGRAMMATION IMPÉRATIVE, INITIATION Licence STS Université Claude Bernard Lyon I LIF1 : ALGORITHMIQUE ET PROGRAMMATION IMPÉRATIVE, INITIATION 1 COURS 7 : Structures et Fichiers OBJECTIFS DE LA SÉANCE Deux notions abordées dans ce cours Celle

Plus en détail

L3 d Informatique. Examen terminal EI51 Systèmes avancés et réseaux

L3 d Informatique. Examen terminal EI51 Systèmes avancés et réseaux Université de Caen U.F.R. de Sciences L3 d Informatique Année 2010/2011 1ère session / Décembre Date : 15 décembre 2010 Examen terminal EI51 Systèmes avancés et réseaux Chaque candidat doit, au début de

Plus en détail

Interface des sockets

Interface des sockets Interface des sockets IUT Bordeaux I 08/12/2008 Interface des Sockets 1 A quoi servent les sockets? Applications client/serveur Transfert de fichiers, Connexion à distance, Courrier électronique, Groupe

Plus en détail

Les fichiers. Chapitre 4

Les fichiers. Chapitre 4 Chapitre 4 Les fichiers Jusqu à maintenant tous les programmes que nous avons conçus travaillaient sur des données qui étaient perdues après chaque session de travail. On peut cependant, c est bien naturel,

Plus en détail