0% ont trouvé ce document utile (0 vote)
30 vues8 pages

Gestion des processus et fichiers Unix

Transféré par

Emma Djomo
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
30 vues8 pages

Gestion des processus et fichiers Unix

Transféré par

Emma Djomo
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

hiérarchie de processus,

processus
recouvrement
● un programme: un fichier sur disque
● un processus (processus fils) est toujours
créé par un autre processus (processus
● un processus: un programme en cours père):
d'exécution – fork: création d'une copie du processus père
– le code exécutable du programme – exec: recouvrement par le processus fils
– les données de l'instance en train de s'exécuter bash fork bash
PID=708 PID=917
PPID=432 PPID=708
● programme réentrant:
– deux instances du même programme partagent
exec
le même code exécutable
bash bash
– elles ont par contre chacune leurs données PID=708 ls
PID=708
PPID=432 PID=917
PPID=708
● processus système (daemon)/utilisateur PPID=708

Hiérarchie de processus pstree


● tout processus a un processus parent sauf le
processus initial
● processus initial : init (pid 1)
● arrêter la machine: demander à init d'arrêter
tous ses processus fils

caractéristiques des processus commande ps


● statiques ● 2 syntaxes (Linux):
– PID – syntaxe Systeme V: option précédées de -
– PPID – syntaxe BSD: options NON précédées de -
– propriétaire réel (UID, GID)
– quelques options SysV:
– terminal d'attache pour les entreés-sorties
● -e ou -A: tous les processus
● dynamique

● -a: tous les processus associés à un terminal
propriétaire effectif (EUID, EGID)
– priorité
● -H: représentation hiérarchique (forêt)
– nice
● -f: format complet;-l: format long (encore plus détaillé)
– consommation cpu/mémoire ● -o: pour modifier le format de sortie (cf manuel)
– dossier de travail ● -g, -p, -t, -u: n'affiche que les processus des groupe
(-g), processus (-p), terminaux (-t) ou utilisateurs (-u)
listés.
commande ps: exemple Etat d'un processus
● R: exécution
● Z: zombi: il est mort mais son père ne le sait
pas
● D: le processus ne peut être interrompu
● S: suspendu
● T: terminé

gestion de processus & shell Signaux


● commande & : lancement de commande en ● permettent au système de communiquer
tâche de fond avec les processus
● bg: reprise de commande en tâche de fond ● signaux utiles
● fg: reprise de commande en avant plan – STOP: suspendre
– CONT: reprendre
● jobs: liste des commandes lancées
– HUP (1): souvent: relecture configuration
● Ctrl-C: arrêt (SIGTERM) du processus
– KILL(9): tuer sans possibilité de traitement
● Ctrl-Z: suspension (SIGSTOP) du processus – INT(2): équivalent à Ctrl-C: interruption gérable.
permet au processus de gérer son interruption
● kill -signal PID

priorité des processus code de retour


● l'exécution des divers processus est gérée ● valeur à laquelle le processus père peut
par un ordonnanceur (scheduler) accèder
● une priorité est définie dynamiquement ● 0: terminaison normale
● but: que chaque processus puisse avancer
son exécution tout en respectant des
● autre valeur: situation anormale
priorités
● nice/renice: permet d'influer sur la priorité
des processus
– de 0 à 19 pour un utilisateur
– de -20 à 19 pour root
– plus le chiffre est élevé, moins le processus est
prioritaire
systèmes de fichiers acl POSIX
● différents systèmes de fichiers: ● dans une version ultérieure de ce document
– exemples ● cas particuliers:
– journalisation – linux debian
– création d'un système de fichier – FreeBSD
– exemple sous linux
● partition
– associée à un système de fichier et un point de
montage
– de swap
● gestionnaire de volume logique
– développer LVM sous Linux

Systèmes de gestion de fichiers


SGF (suite)
(SGF)
● SGF: mode d'organisation et de stockage ● Les SGF unix fournissent un sous-ensemble
des données sur disque; commun de fonctionnalités: celui dont nous
● Exemples: FAT32, NTFS, ext2fs, ext3fs, parlerons.
reiserfs, UFS, ... ● Chaque SGF peut fournir plus que ce sous-
● Les SGF ont des propriétés et fournissent ensemble
des services variés ● Fichier unix: fichier disque mais aussi
● Exemple: ressource du système (pilote de
périphérique, terminal, mémoire, ...)
– les SGF Unix (ext2fs, UFS, ...) : droits sur les
– /dev/hda1 : partition 1 du disque 1 (Linux)
fichiers.
– /dev/kmem: mémoire virtuelle du noyau
– FAT32: pas de droits d'accès aux fichiers

Fichiers SGF : inode


contenu d'un dossier: Inode
●(4257, fichier)

●(15065,fichier2)

●uid, gid,rwxr-xr-x

taille, nb liens, [acm]time


● Inode: attributs + localisation des blocs
●(20435, dossier2)
●adresse des blocs données

Inode
contenant les données du fichier
●uid, gid,rwxr-xr-x ● Inode:
●taille, nb liens, [acm]time
●adresse des blocs données – Id. du disque logique où est le fichier,
– numéro du fichier sur ce disque
Inode – Type de fichier et droits d'accès
●uid, gid,rwxr-xr-x
– Nombre de liens physiques
●taille, nb liens, [acm]time
●adresse des blocs données
– Propriétaire, groupe propriétaire
– Taille
– Dates :
● De dernier accès (y compris en lecture): atime
●Contenu de fichier Contenu de fichier2 Contenu de dossier2 ● Date de dernière modification des données: mtime
bla bla bla bla ●(1234, fichier3)

bla bla bla bla ●(...) ● Date de dernier modification de l'inode: ctime
bli bli bli bli
Dossier/répertoire Inodes/Nom: conséquences
● Deux grandes classes de fichiers : ● Créer/détruire un fichier: ajouter/retirer un
– Fichier ayant un contenu sur disque : fichiers couple dans le dossier
réguliers, dossiers, liens symboliques, tubes
● opération nécessitant un droit au niveau du
– Ressources : Fichiers spéciaux (pilotes de
dossier pas du fichier
périphériques, ràf, ...)
● Le système travaille avec des No d'inode,
l'utilisateur avec les noms de fichiers :
● Dossiers: listes de couples (nom, No inode) – Ce sont les dossiers qui permettent de faire le lien
● Un couple est appelé « lien physique » entre les deux
– On trouve le coupe (nom, inode) du dossier où est le
(hardlink)
fichier
● Du point de vue de l'utilisateur, un dossier – Pour trouver ce dossier, on applique le même
contient des fichiers (fichiers réguliers, principe (pour Unix, un dossier est aussi un fichier)
– voir plus loin Arborescences/algo de recherche
dossiers, ...).

Fichiers: résumé: Droits d'accès aux fichiers


● 3 types d'accès: lecture (R), écriture (W) et
● ce que l'utilisateur perçoit comme un fichier exécution (X)
identifié par un nom peut se décomposer en trois Objet/Droit R (lecture)
fichier régulier lire le contenu
W (écriture)
modifier le fichier
X (exécuter)
exécuter le fichier
notions sous unix : modifier le contenu du utiliser le dossier
lister le contenu du dossier (y compris dans un chemin ou s'y
– un inode: informations (taille, dates, uid, gid, droits) dossier dossier destruction de fichier) positionnner

et localisation des données sur disque


– le contenu du fichier: les données qui y sont stockées
● 3 classes d'utilisateurs: le propriétaire du
fichier, le Groupe du propriétaire du fichier,
– un lien physique: associe un nom à un inode. Un
même inode peut avoir plusieurs lien.
les Autres utilisateurs.
type fichier Propriétaire Groupe du proprio Autres utilisateurs
- R W X R - X R - X

● informations dans l'inode, affichage avec


« ls », changement avec chmod, chgrp et
chown

Droits d'accès (2): suid, sgid,


Commandes de base: chmod
sticky bit
● 3 autres « droits » spéciaux:
● chmod [-R] mode fichier ...
– bit SUID: le programme s'exécute avec les droits
de son propriétaire (au lieu de ceux de ● -R: fichier est un dossier, chmod agit
l'utilisateur qui le lance) récursivement sur fichier et sur son contenu
– bit SGID: le programme s'exécute avec les droits ● mode:
du groupe propriétaires du fichier
– forme numérique: 644
– sticky bit :
● pour u: 400 (r), 200 (w) et 100 (x)
● sur un fichier exécutable : (obsolète) maintient le
fichier en mémoire après l'exécution pour diminuer le
● pour g: 40 (r), 20 (w) et 10 (x)
temps de la prochaine invocation ● pour o: 4 (r), 2 (w) et 1 (x)
● sur un dossier: seul le propriétaire du fichier a le droit – forme symbolique: [ugo][+-=][rwxXstguo]
de le supprimer. Exemple: /tmp/
chmod: exemples commande de base: umask
● chmod ràf ● définit les droits d'accès par défaut d'un
fichier
● les droits sont le complément du paramètre
d'umask: on laisse tout sauf les droits
précisés
● Exemple:
– umask 002 : mode par défaut: RWXRWXR-X (tout sauf
002)
– umask 026: mode par défaut: RWXR-X--X (tout sauf
026)
– umask a=rx,gu+w: mode par défaut: RWXRWXR-X
– umask -S : affiche le l'état courant sous forme
symbolique : u=rwx,g=rwx,o=rw dans notre exemple.

Commandes de base: chown,


chown/chgrp: exemples
chgrp
● chown -R [-H | -L | -P] proprio[:groupe] fichier
● chgrp -R [-H | -L | -P] groupe fichier ...

Commandes de base: ls Commandes de base: cat


Commande de base: stat Exemples
● Stat fichier (noter ctime, mtime et atime)
● Cat fichier
● Stat fichier (atime a changé)
● Chmod fichier
● Stat fichier (ctime a changé)
● Modif fichier
● Stat fichier (mtime a changé)

Arborescence arborescence
● Sous unix, on a une arborescence unique /
2
(donc pas de C:\, D:\, ...comme sous
windows)
usr home var
● Le disque système contient la racine absolue 1432 2 728
/
● toute l'arborescence est sous cette racine
absolue bin local petit spool log
4562 3721 708 1823 1127
● Les systèmes de fichiers des autres
partitions s'intègrent dans l'arborescence en
prenant la place d'un dossier existant
● la racine d'un système de fichier a 2 comme stat
7812
find
634
numéro d'inode

monter un système de fichier


algo de recherche
● commande mount/umount
● /etc/fstab
● /usr/bin/stat
– des associations système de fichier/point de
● algo de localication:
– examiner le contenu du dossier d'inode 2 pour
montage

trouver le No d'inode du dossier usr : 1432 par
notamment: les partitions à monter au démarrage
exemple.
du système
– examiner le contenu de dossier d'inode 1432
– l'ordre des lignes est important pour mount, umount pour trouver le No d'inode du dossier bin. 4562
et fsck par exemple
– syntaxe: periph pointDeMontage typeSGF options – examiner le contenu de dossier d'inode 4562
fsfreq fspassNo pour trouver le No d'inode du fichier stat. 7812
– demo: exemple de fstab par exemple
● fsck, df, du – exécuter le fichier d'inode 7812
Chemin Commandes de base:
● /usr/bin/stat: chemin absolu du fichier stat ● pwd : indique le dossier courant
● chemin absolu: chemin depuis la racine ● cd : changer de dossier courant
absolue ● mkdir: pour créer un dossier
● notion de dossier courant ● rmdir: détruit les dossiers vides
● chemin relatif: chemin depuis le dossier
courant

commande de base: cp Commandes de base: cp


● copie des données d'un fichier (source) dans
lien
Inode Données un autre (cible) :
(1234, fichier1)
– la cible n'existe pas : création d'un nouvel inode
cp et recopie des données du fichier
– la cible existe: inode destination inchangée,
lien recopie des données du fichier dans la cible
(2317, fichier2) Inode Données

cp fichier1 fichier2

cp (2) cp et liens physiques


● gnu cp: en standard sous Linux, installable
facilement ailleurs lien
Inode Données
(1234, fichier1)
● fournit des options non standard mais
pratiques cp
lien
● ràf (2317, fichier2)

Inode Données
lien
(2317, fichier3)

cp fichier1 fichier2
Commandes de base: rm ● rm :exemples
● suppression d'un lien d'un fichier ou plusieurs
fichiers: rm [-fiRr] fichier1 ...
● options:
 -i: demande de confirmation pour tout fichier à
supprimer (aff sur stderr et lecture sur stdin)
 -f: supprime les messages d'erreur lorsqu'un
fichier n'existe pas et supprime la demande
d'acquittement si l'utilisateur de rm n'a pas les
droits d'écriture sur le fichier à supprimer
 -R ou -r: supprime récursivement le contenu d'un
dossier avant d'appliquer rmdir au dossier.

Commandes de base: mv mv: exemples


● mv [-fi] source destination ● mv [-fi] source destination
– renomme un lien. Source et fichier sont des – renomme un lien. Source et fichier sont des
fichiers réguliers fichiers réguliers
● mv [-fi] source1 ... destination ● mv [-fi] source1 ... destination
– renomme les sources en les déplaçant dans le – renomme les sources en les déplaçant dans le
dossier destination dossier destination
● la commande fonctionne aussi si sources et ● la commande fonctionne aussi si sources et
destinations sont dans des systèmes de destinations sont dans des systèmes de
fichiers différents. fichiers différents.
● la seconde forme est utilisée si la destination ● la seconde forme est utilisée si la destination
est un dossier existant est un dossier existant

Commandes de base: ln
● ln fichier nouveau_lien_physique
● ln -s fichier lien_symbolique
● options:
– -s: crée un lien symbolique
– -f: force la création même si la destination existe
déjà
– --: fin des options (pour permettre le traitement
d'un fichier dont le nom commence par « « - »

Vous aimerez peut-être aussi