Systèmes d’exploitation et programmation de systèmes
-GPA435-
Cours #2: Systèmes d’exploitation UNIX / Linux
Enseignant: Jean-Philippe Roberge
Jean-Philippe Roberge - Mai 2014
Planification du cours #2
Petite révision du cours #1: Évolution des systèmes d’exploitation (S.E.)
Historique des S.E. Structure des S.E. modernes Tendance des S.E. modernes (aujourd’hui)
Vos intérêts et attentes Théorie du cours #2 - Systèmes d’exploitation UNIX /
Linux Terminal de commande et syntaxe des commandes Documentation standard Structure des fichiers Quelques (petits) exercices 2
Jean-Philippe Roberge - Mai 2014
Jean-Philippe Roberge - Mai 20143
Introduction à la matière (1)
Système d’exploitation:
Une suite de programmes qui gère l’utilisation des ressources d’un ordinateur (ou système ordiné) et qui fournit des services aux applications.
Famille de systèmes d’exploitation:
Unix, Linux, Windows NT, Mac OS
Exemples de S.E.:
Ubuntu 10.04, Mac OS X v10.5, Windows Vista…
Systèmes d’exploitation mobiles:
Android Vx.x (Noyau Linux), iOS Vx.x, Windows Phone 7, etc…
http://upload.wikimedia.org/wikipedia/commons/thumb/e/e1/Operating_system_placement.svg/165px-Operating_system_placement.svg.png
Jean-Philippe Roberge - Mai 20144
Évolution de S.E. (1)
1-Traitement en série: Un programme à la fois, généralement écrit en langage machine. Inefficace car l’ordinateur est monopolisé par un seul programmeur.
2-Traitement par lots: Concept de « moniteur »: un programme qui veille sur les
programmes (jobs) des utilisateurs. Chaque utilisateur soumet leur tâche à l’opérateur de
l’ordinateur: cartes perforées, rubans magnétiques; regroupement des tâches; exécution séquentielle des regroupements.
Par contre, une tâche peut monopoliser longtemps le processeur. Attendre la fin des opérations E/S; Les rubans magnétiques avaient un temps d’accès très long.
Pour augmenter le rendement de l’ordinateur récupérer ce temps perdu!
Jean-Philippe Roberge - Mai 20145
Évolution de S.E. (5)
3-Traitement par lots multiprogrammé: Multiprogrammation exécuter une autre tâche dans les portions de
temps où le processeur est inactif. (Plus d’un programmes) Exige cependant la coopération du matériel:
Coopération du matériel interruptions matérielles. Création d’un module MM (Memory Management). Création d’un module d’ordonnancement des tâches.
4-Traitement en temps partagé: Exemple: le CTSS (Compatible Time-Sharing System) de MIT Idée de base le blocage et le redémarrage périodique des tâches à
l’aide d’une interruption cadencée par une source stable. Tour à tour, le moniteur passe le contrôle à chacune des tâches en
mémoire. Chaque tâche bénéficie alors du même temps d'utilisation du processeur.
Permet à plusieurs utilisateurs de démarrer des tâches sur un même ordinateur, au moyen de terminaux, et réduit le temps de réponse interactive.
Jean-Philippe Roberge - Mai 20146
Évolution de S.E. (9) 5- Systèmes multi-tâches et multi-utilisateurs:
Environnement multiprogrammé + l’interactivité des systèmes en temps partagé. Multitâche multiprogrammation & Multi-utilisateur temps
partagé. MULTICS (MULTiplexed Information and Computer Service) du MIT,
Bell, General Electric en 1969. MULTICS avait introduit plusieurs innovations: découplage entre le S.E. et le matériel mémoire virtuelle: Pagination de la mémoire; liaison dynamique. système de fichiers hiérarchique. MULTICS avait introduit le concept de
processus: 1) programme exécutable; 2) données associées au
programme; 3) contexte d’exécution du
programme.
Structure des systèmes d’exploitation modernes (1)
Jean-Philippe Roberge - Mai 20147
D’abord, cette structure est organisé en couches hiérarchiques:
M atériel
P ro cessus p rim itif s
M ém o ire seco n d aire
M ém o ire v irtuelle
C o m m un icatio n in ter- p ro cessus
Systèm e d e fi ch iers
G estio n d es p érip h ériques
G estio n d es p ro cessus u tilisateurs
I n terp réteur d e co m m an d es
R o utin es d e gestio n d es o b jets
D isques reliés lo calem en t
P ip es, m ém o ire p artagée, etc.
T erm in al, im p rim an te, etc.
ex : liste d es p ro cessus, etc.
Nous allons approfondir ces couches dans les transparents qui suivent…
Structure des systèmes d’exploitation modernes (2)
Jean-Philippe Roberge - Mai 20148
1 -Composants matériels (Processeur, mémoire, périphériques, écran, etc…):
Processeurs instructions privilégiées;
adressage segmenté;
système de signaux.
2- Mémoire virtuelle:
Donner l’illusion au programme, qu’il travaille avec de la mémoire contigüe.
Protection contre la corruption des données
Interruption logicielle
Jean-Philippe Roberge - Mai 20149
Structure des systèmes d’exploitation modernes (3)
3- Système de fichiers
organisation cohérente de la mémoire secondaire;
système de fichiers hiérarchique arbre inversé;
sous-répertoires sont des enfants d’un répertoire racine;
système de fichiers hiérarchique un répertoire peut contenir d’autres répertoires.
R ép erto ire racin e
So us- rép erto ireR ép erto ire co uran t
So us- rép erto ire sp écial(L ien v irtuel)
chemin absoluchemin absoluchemin relatifchemin relatifparcours non linéaireparcours non linéaire
Pi Pn
Jean-Philippe Roberge - Mai 201410
Structure des systèmes d’exploitation modernes (6)
4- Communication inter-processus
Trois points importants:
C onsom m ateurP roducteur
T uyau
L a lecture en lèv eles d o n n ées d utuyau . L a lectured 'un tuyau v id em et en atten te lep ro cessusim p liqué
L 'écriture p laceles d o n n ées
d an s le tuyau .L 'écriture à untuyau p lein m et
en atten te lep ro cessusim p liqué
P ro to co le F I F O
11
mémoire partagée; tuyaux (pipes); messages.
Structure des systèmes d’exploitation modernes (8)
Une plage de mémoire (physique ou virtuelle) partagée entre plusieurs processus
Structure de données FIFO. Leurs accès sont gérés par le S.E.
Sans liens de communication permanents. Les messages sont déposés dans la queue de message des processus. Peuvent donc réaliser des protocoles autres que le FIFO.
4a - Transfert des données entre processus:
Jean-Philippe Roberge - Mai 2014
12
4b Synchronisation des processus: fonctions attendre() et signal(); variables sémaphores; instructions atomiques.
Fonctions de synchronisation qui modifient une variable sémaphore
Variable entière n’admettant que trois opérations: i) initialisation à une valeur non négative; ii) incrémentation de sa valeur; iii) décrémentation de sa valeur. Opérations réalisées par des instructions atomiques.
Des instructions exécutées en séquence sans interruption par aucune autre instruction du processeur.
Structure des systèmes d’exploitation modernes (9)
Jean-Philippe Roberge - Mai 2014
13
5 - Modèle des processus:
N o uv eau P rêt E x écutio n So rtie
B lo qué
T em p s écou lé
R ép a rti tion
E n a tten te
libérat
ionA d m ission R etra i t
Processus créé mais pas encore exécutable
Processus prêt pour l’exécution
Processus en exécution dans le processeur
Processus en suspension: attendant l’arrivée d’un événement ou la fin d’une opération
Arrêt du processus: fin de son exécution ou causé par une condition d’erreur
Structure des systèmes d’exploitation modernes (11)
Jean-Philippe Roberge - Mai 2014
14
6 - Interpréteur de commandes
Un processus utilisateur;
Permet l’exécution de programmes;
Manipulation des fichiers;
Accéder aux périphériques de l’ordinateur;
Automatisation des procédures par fichiers de commandes;
Langages de programmation « shell ».
Jean-Philippe Roberge - Mai 2014
Structure des systèmes d’exploitation modernes (12)
Jean-Philippe Roberge - Mai 201415
Cours #2
16
Tendances des S.E. modernes (1)
Tendances des systèmes d’exploitation modernes:
Architecture micro-noyau (microkernel);
Exécution multifilaire (multithreading);
Traitement parallèle symétrique (symmetric multiprocessing);
Système d’exploitation pour processeurs multi-cœurs.
Jean-Philippe Roberge - Mai 2014
17
1 - Architecture micro-noyau:
changement important dans l’organisation interne du S.E.;
Réduire le noyau: seulement quelques processus importants sont assignés au noyau;
les autres services processus utilisateurs appelés « serveurs »;
séparation explicite entre le noyau d’un S.E. et le développement des serveurs;
Jean-Philippe Roberge - Mai 2014
Tendances des S.E. modernes (2)
Noyau: Partie fondamentale du système d’exploitation, il s’agit de la base, c’est-à-dire l’ensemble des processus qui gèrent les ressources de l’ordinateur. Il permet au matériel et au logiciel de communiquer ensemble.
Jean-Philippe Roberge - Mai 201418
Comparaison entre noyau « monolithic » et micro-noyau:
Tendances des S.E. modernes (3)
19
Exemple du concept de micro-noyau:
M icro - n o yauO rd in ateur A
Serv eur d u systèm ed e fi ch iers
(O rd in ateur B )
Serv eur d u systèm ed e fi ch iers
(O rd in ateur A )
M icro - n o yauO rd in ateur B
Serv eur d 'in terfacegrap h iq ue
(O rd in ateur A )
Serv eur d 'in terfacegrap h iq ue
(O rd in ateur B )
Jean-Philippe Roberge - Mai 2014
Tendances des S.E. modernes (4)
20
2 - Exécution multi-fils:
un processus est divisé en plusieurs chemins d’exécution simultanée;
fil d’exécution unité de travail interruptible et séquentielle;
fil d’exécution ne possède pas de contexte d’exécution mais utilise celui du processus père;
Mémoire utilisée, l’état de la pile programme, les ports d’E/S associés, l’état des registres du processeur, etc.
Modèle de programmation concourante
Jean-Philippe Roberge - Mai 2014
Tendances des S.E. modernes (5)
21
2 - Exécution multi-fils (suite) : un processus est une collection de fils d’exécution; fil d’exécution principal père de tous les fils d’exécution
créés;
F il p rin cip al
F il # 1 F il # 3
F il # 2 F il # 4 F il # 5
F il # 6
F il # 7
F in d e l'ex écu tio n d u fi l d 'ex écu tio n
Syn ch ro n isatio n d es fi ls d 'ex écu tio n
P ro cessus
Jean-Philippe Roberge - Mai 2014
Tendances des S.E. modernes (6)
22
3 - Traitement parallèle symétrique: réalisation utilisant l’exécution multifilière; système à n processeurs (n 256); mémoire commune accessible par tous les processeurs; tous les processeurs sont gérés de la même façon et jouent le même
rôle; ordonnancement des fils d’exécution dans tous les processeurs libres.
Jean-Philippe Roberge - Mai 2014
Tendances des S.E. modernes (7)
23
3 - Traitement parallèle symétrique (suite) :
Nouvelle exigence «extensibilité» du S.E.;
Application du concept de micro-noyau;
S.E. décentralisé;
Ordonnancement des fils d’exécution réalisé localement par chacun des processeurs;
Collaboration entre les processeurs;
Une réalisation plus complexe du S.E.
Jean-Philippe Roberge - Mai 2014
Tendances des S.E. modernes (8)
24
4 - Système d’exploitation réparti:
Système d’exploitation qui gère une grappe d’ordinateurs
Complexe, doit gérer la communication et l’allocation des ressources
Méta-SE: Système d’exploitation qui gère d’autres SE, sur des machines locales
5 - Conception orientée des SE: Profiter des avantages de la programmation orienté-objet
Concept d’héritage et de spécialisation
Jean-Philippe Roberge - Mai 2014
Tendances des S.E. modernes (9)
Jean-Philippe Roberge - Mai 201425
En parlant d’une grappe d’ordinateurs: http://www.directioninformatique.com/luniversite-mcgill-presente-son-superordinateur-en-grappe/11638
Tendances des S.E. modernes (10)
Génie de la production automatiséeGénie de la production automatisée
GPA435 Système d’exploitation et GPA435 Système d’exploitation et programmation de systèmeprogrammation de système
Systèmes d’exploitation LinuxSystèmes d’exploitation Linux20142014
Systèmes d’exploitation Linux (1)Systèmes d’exploitation Linux (1)
• Commandes LINUXCommandes LINUX• Des programmes écrits en C;Des programmes écrits en C;• Des fonctions internes à l’interpréteur de Des fonctions internes à l’interpréteur de
commandes.commandes.
• Pourquoi les apprendre?Pourquoi les apprendre?• Elles représentent un système logique Elles représentent un système logique
rigoureux;rigoureux;• Elles exigent une démarche systématique tout Elles exigent une démarche systématique tout
comme la maîtrise d’une langue;comme la maîtrise d’une langue;• À travers elles, nous solutionnerons des À travers elles, nous solutionnerons des
problèmes en ingénierie d’une façon logique et problèmes en ingénierie d’une façon logique et systématique.systématique.
27
Terminal LinuxTerminal Linux• Habitat pour l’interpréteur de commande.Habitat pour l’interpréteur de commande.
28
L’invite affichée par l’interpréteur de
commande.
Représentation graphique d’un
terminal.
Terminal de commande (1)Terminal de commande (1)
Format des commandesFormat des commandes• Une convention bien établie.Une convention bien établie.
twong@tony-ubuntu-12:~$ commande [—option] twong@tony-ubuntu-12:~$ commande [—option] [paramètre][paramètre]
29
L’invite affichée par l’interpréteur de commande.
L’historique des commandes
lancées.
Une commande peut avoir des options et paramètres. Les options sont toujours précédées d’un tiret (—). Les crochets ([]) signifient qu’ils ne sont pas obligatoires.
Syntaxe des commandes (1)Syntaxe des commandes (1)
Comment connaître les options et Comment connaître les options et paramètres des commandes?paramètres des commandes?• L’aide enligne est divisée en sections:L’aide enligne est divisée en sections:
30
Section Sujets
1 Commandes et programmes
2 Interfaces de programmation (API)
3 Fonctions des bibliothèques du langage C
4 Interfaces des périphériques et du réseau
5 Formats de fichiers
6 Jeux et application de démonstration
7 Divers (ensemble de macros, etc.)
8 Commandes pour l’administration du système
GPA435GPA435
Documentation standard (1)Documentation standard (1)
http://www.linuxmanpages.com/
Certains noms de commande Certains noms de commande apparaissent dans plus d’une sectionapparaissent dans plus d’une section• Par exemple la commande Par exemple la commande rmdirrmdir (remove (remove
directory) apparaît dans la section 1 et dans la directory) apparaît dans la section 1 et dans la section 2 de l’aide enligne;section 2 de l’aide enligne;o rmdirrmdir de la section 1 est une commande de de la section 1 est une commande de
l’interpréteur de commande;l’interpréteur de commande;o rmdirrmdir de la section 2 est une fonction de l’interface de la section 2 est une fonction de l’interface
de programmation du système LINUX.de programmation du système LINUX.• Pour pouvoir faire la distinction, on écrira Pour pouvoir faire la distinction, on écrira
parfois:parfois:o rmdir(1)rmdir(1) pour indiquer la commande rmdir expliquée pour indiquer la commande rmdir expliquée
dans section 1;dans section 1;o rmdir(2)rmdir(2) pour indiquer la fonction de programmation pour indiquer la fonction de programmation
rmdir expliquée dans la section 2.rmdir expliquée dans la section 2. 31
Documentation standard (2)Documentation standard (2)
Utiliser l’aide enligne via Utiliser l’aide enligne via manman• manman est elle-même une commande! est elle-même une commande!• Il existe une page d’aide enligne sur Il existe une page d’aide enligne sur man;man;• manman possède donc des options et des possède donc des options et des
paramètresparamètres
man [—option] [paramètre] nom_commandeman [—option] [paramètre] nom_commande
Quelques options:Quelques options:o——s num_sections num_section
num_section est le numéro de section (1 à 8)num_section est le numéro de section (1 à 8)o——M cheminM chemin
Indique le chemin du répertoire contenant les pages Indique le chemin du répertoire contenant les pages d’aide enligned’aide enligne
32
Démonstration de la Démonstration de la commandecommande
Analo
gie
: le
mot
« d
icti
onn
air
e »
est
exp
liqu
é d
ans
un
dic
tion
nair
eDocumentation standard (3)Documentation standard (3)
ExemplesExemples• Changement de mot de passe par la commande Changement de mot de passe par la commande passwdpasswd..
33
passwd —q
L’option —q signifie silencieux (quiet). On demande à la commande passwd de réduire au minimum son affichage à l’écran.
Syntaxe des commandes (2)Syntaxe des commandes (2)
ExemplesExemples• Effacer l’écran du terminal par la commande Effacer l’écran du terminal par la commande clearclear..
34
clear
Cette commande n’a pas d’option. Note: clear n’efface pas vraiment l’écran du terminal. Elle ne fait que défiler vers le haut les lignes affichées en dehors de la région visible de l’écran.
Démonstration de la Démonstration de la commandecommande
Syntaxe des commandes (3)Syntaxe des commandes (3)
Les fichiers sont des éléments Les fichiers sont des éléments importants de tout système importants de tout système informatiqueinformatique
Linux étend le concept des fichiers aux Linux étend le concept des fichiers aux éléments périphériques d’un éléments périphériques d’un ordinateurordinateur• Linux traite les imprimantes, les ports USB, les Linux traite les imprimantes, les ports USB, les
ports réseaux, les caméras WEB, etc. comme ports réseaux, les caméras WEB, etc. comme des fichiers.des fichiers.
Caractéristiques d’un fichierCaractéristiques d’un fichier• Il possède un nomIl possède un nom
o Linux distingue les caractères majuscules et Linux distingue les caractères majuscules et minuscules. Ainsi, minuscules. Ainsi, MonDoc.texteMonDoc.texte et et mondoc.textemondoc.texte représentent deux fichiers différents.représentent deux fichiers différents.
35
Fichiers et répertoires (1)Fichiers et répertoires (1)
Caractéristiques d’un fichierCaractéristiques d’un fichier• Il possède un chemin de répertoireIl possède un chemin de répertoire
o Un fichier est toujours entreposé sur un support Un fichier est toujours entreposé sur un support (disque, clé USB, mémoire flash, etc.);(disque, clé USB, mémoire flash, etc.);
o L’emplacement d’un fichier est son chemin de L’emplacement d’un fichier est son chemin de répertoire;répertoire;
o En voici quelques example:En voici quelques example:/usr/bin/passwd/usr/bin/passwd/bin/ls/bin/ls/etc/rc0.d/S90halt/etc/rc0.d/S90halt
o Remarques:Remarques:Il n’existe pas d’unité de disque comme préfix (pas de Il n’existe pas d’unité de disque comme préfix (pas de c:c:, , d:d:, , e:e:, etc.), etc.)Les répertoires menant vers le fichier sont séparés par Les répertoires menant vers le fichier sont séparés par la barre oblique « / »la barre oblique « / »Le répertoire de base (racine) est représenté par « / »Le répertoire de base (racine) est représenté par « / »
36
Fichiers et répertoires (2)Fichiers et répertoires (2)
Caractéristiques d’un fichierCaractéristiques d’un fichier• Il possède un chemin de répertoireIl possède un chemin de répertoire
o Enfin, l’organisation des répertoires peut être Enfin, l’organisation des répertoires peut être schématisée graphiquement:schématisée graphiquement:
/usr/bin/passwd/usr/bin/passwd/bin/ls/bin/ls/etc/rc0.d/S90halt/etc/rc0.d/S90halt
37
Fichiers et répertoires (3)Fichiers et répertoires (3)
Caractéristiques d’un fichierCaractéristiques d’un fichier• Il possède des permissions d’accèsIl possède des permissions d’accès
o Un fichier peut être Un fichier peut être lulu, , écritécrit et et exécutéexécuté;;o Un fichier peut posséder une combinaison de ces Un fichier peut posséder une combinaison de ces
permissions;permissions;o On attribue ces permissions en fonction de nos On attribue ces permissions en fonction de nos
besoins.besoins.o Par exemple:Par exemple:
Un document text peut avoir les permissions de lecture Un document text peut avoir les permissions de lecture (read) et écriture (write);(read) et écriture (write);La permission d’exécution (execute) à un document La permission d’exécution (execute) à un document text est possible – il peut être un document contenant text est possible – il peut être un document contenant des commandes Linux; des commandes Linux; Le fichier représentant un port USB peut avoir les Le fichier représentant un port USB peut avoir les permissions de lecture et écriture;permissions de lecture et écriture;Il est superflu et illogique d’attribuer la permission Il est superflu et illogique d’attribuer la permission d’exécution à un fichier représentant un port USB.d’exécution à un fichier représentant un port USB.
38
Fichiers et répertoires (4)Fichiers et répertoires (4)
ParParcours des chemins de répertoirecours des chemins de répertoire• Utiliser la commande Utiliser la commande cd(1)cd(1) (change directory) (change directory)• DeuxDeux types de chemins types de chemins
o AbsoluAbsoluIl faut donner le chemin complet incluant tous les Il faut donner le chemin complet incluant tous les répertoires menant vers le répertoire de destination.répertoires menant vers le répertoire de destination.
o RelatifRelatifÀ partir du répertoire courant donner la portion du chemin À partir du répertoire courant donner la portion du chemin menant vers le répertoire de destination.menant vers le répertoire de destination.
39
Démonstration de la Démonstration de la procédureprocédure
Fichiers et répertoires (5)Fichiers et répertoires (5)
Contenu d’un répertoireContenu d’un répertoire• Utiliser la commande Utiliser la commande ls(1)ls(1) (list directory (list directory
content) pour voir le contenu d’un répertoirecontent) pour voir le contenu d’un répertoire
40
La signification des couleurs• Bleu: répertoire• Bleu pâle: lien (raccourci)• Vert: fichier exécutable ou répertoire standard• Rose: fichier image
Note: Ces couleurs sont générées par l’option --color de la commande ls. Voir man dircolors pour les couleurs
utilisées.
Fichiers et répertoires (6)Fichiers et répertoires (6)
Contenu d’un répertoireContenu d’un répertoire• ls –lls –l (format détaillé)(format détaillé), , ls –Rls –R (fouille récursive)(fouille récursive), , ls -ls -lRlR
41 Démonstration de la Démonstration de la commandecommande
Fichiers et répertoires (7)Fichiers et répertoires (7)
Permissions des fichiers et répertoiresPermissions des fichiers et répertoires
42
drwxr-xr-x 2 twong twong 4096 Dec 17 20:13 Desktopdrwxr-xr-x 2 twong twong 4096 Dec 17 20:13 Documentsdrwxr-xr-x 2 twong twong 4096 Dec 17 20:13 Downloads-rw-r--r-- 1 twong twong 8445 Dec 17 19:56 examples.desktopdrwxr-xr-x 2 twong twong 4096 Dec 17 20:13 Musicdrwxrwxr-x 2 twong twong 4096 Dec 18 22:52 MySharedrwxr-xr-x 2 twong twong 4096 Dec 17 20:13 Picturesdrwxr-xr-x 2 twong twong 4096 Dec 17 20:13 Publicdrwxr-xr-x 2 twong twong 4096 Dec 17 20:13 Templatesdrwxr-xr-x 2 twong twong 4096 Dec 17 20:13 Videos
Permissions d’accès
Propriétaire (créateur)
Groupe LinuxLe c
ara
ctère
« d
» d
e la p
rem
ière
co
lon
ne indiq
ue q
u’il s’
agit
d’u
n
répert
oir
e (
dir
ect
ory
)Fichiers et répertoires (8)Fichiers et répertoires (8)
Permissions des fichiers et répertoiresPermissions des fichiers et répertoires
43
rw-r--r-- 1 twong twong 8445 Dec 17 19:56 examples.desktop
Quelles sont les permissions de ce fichier pour les trois types d’utilisateur?
Fichiers et répertoires (9)Fichiers et répertoires (9)
Changement des permissions d’accèsChangement des permissions d’accès• Utilisation de la commande Utilisation de la commande chmod(1)chmod(1) (change (change
mode)mode)o Par valeurs octalesPar valeurs octales
chmod 664 exemples.desktopchmod 664 exemples.desktop
o Par symbolesPar symbolesou (propriétaire), g (groupe Linux), o (autres), a (all, u u (propriétaire), g (groupe Linux), o (autres), a (all, u et g et o)et g et o)
chmod u+r+w-x,g+r+w-x.o+r-w-x exemples.desktopchmod u+r+w-x,g+r+w-x.o+r-w-x exemples.desktop
44
Démonstration de la Démonstration de la commandecommande
Fichiers et répertoires (10)Fichiers et répertoires (10)
Création et destruction de répertoiresCréation et destruction de répertoires• Utilisation de la commande Utilisation de la commande mkdir(1)mkdir(1) (make (make
directory)directory)o L’option L’option —p—p permettre la création de tous les permettre la création de tous les
répertoires contenu dans le chemin de répertoire.répertoires contenu dans le chemin de répertoire.
• Utilisation de la commande Utilisation de la commande rmdir(1)rmdir(1) (remove (remove directory)directory)
45
Démonstration de la Démonstration de la commandecommande
Fichiers et répertoires (11)Fichiers et répertoires (11)
Affichage du contenu des fichiersAffichage du contenu des fichiers• Utilisation de la commande Utilisation de la commande cat(1)cat(1)
(concaténation)(concaténation)o Afficher, sans interruption, le contenu des fichiers Afficher, sans interruption, le contenu des fichiers
spécifiés en paramètres.spécifiés en paramètres.
• Utilisation de la commande Utilisation de la commande more(1)more(1) • Afficher, page par page, le contenu des fichiers spécifiés Afficher, page par page, le contenu des fichiers spécifiés
en paramètres.en paramètres.
46
Démonstration de la Démonstration de la commandecommande
Fichiers et répertoires (12)Fichiers et répertoires (12)
Manipulation des fichiersManipulation des fichiers• Utilisation de la commande Utilisation de la commande cp(1)cp(1) (copy) (copy)
o Copier le contenu des fichiers (ou répertoires)Copier le contenu des fichiers (ou répertoires)
• Utilisation de la commande Utilisation de la commande mv(1)mv(1) (move) (move)o Déplacer (renommer) des fichiersDéplacer (renommer) des fichiers
• Utilisation de la commande Utilisation de la commande rm(1)rm(1) (remove) (remove)o Effacer des fichiersEffacer des fichiers
• Utilisation de la commande Utilisation de la commande touch(1)touch(1) (touch) (touch)o Créer un fichier de taille zéro;Créer un fichier de taille zéro;o Mettre à jour la date de modification d’un fichier.Mettre à jour la date de modification d’un fichier.
47
Fichiers et répertoires (13)Fichiers et répertoires (13)
Connaître le nom des utilisateurs Connaître le nom des utilisateurs connectés à un poste Linuxconnectés à un poste Linux• who(1)who(1)• who am iwho am i
Connaître le nom et la version du Connaître le nom et la version du système d’exploitationsystème d’exploitation• uname –auname –a
Connaître l’espace disque du systèmeConnaître l’espace disque du système• df(1)df(1)
Connaître l’espace disque utilisé par Connaître l’espace disque utilisé par différents fichiersdifférents fichiers• du(1)du(1)
48
Informations utiles (1)Informations utiles (1)
Connaître le nom du répertoire courantConnaître le nom du répertoire courant• pwd(1)pwd(1)
Connaître la structure du système de Connaître la structure du système de stockagestockage• lsblklsblk
49
Ce système possède:20 Go de disque rigide1 CD-ROM
Informations utiles (2)Informations utiles (2)
Connaître les commandes lancéesConnaître les commandes lancées• history(1)history(1)
• Exécuter une commande déjExécuter une commande déjà lancéeà lancée!5!5
50
Exécuter la 5e commande de la liste historique
Informations utiles (3)Informations utiles (3)
Jean-Philippe Roberge - Mai 201451
Informations utiles (4)
Fin de la présentation du Fin de la présentation du chapitre 4 – début des chapitre 4 – début des exercices en classesexercices en classes
53
Exercices (1)Exercices (1)
54
Exercices (2)Exercices (2)
Références
[1] Présentations PowerPoint du cours GPA435, Tony Wong.
[2] Notes de cours, GPA435
[3] Levasseur, Yan, Wiki GPA435: http://bash.leyan.org/Accueil , consulté en avril 2014.
[4] Tanenbaum, A.S., Systèmes d’exploitation. Pearson Education France, 2008.
[5] Stallings, W., Operating Systems : Internals and Design Principals. Upper Saddle River, NJ : Prentice Hall, 1998.
[6] Références citées dans le premier chapitre des notes de cours.
55 Jean-Philippe Roberge - Avril 2014