-
SE Bref aperu sur les systmes
dexploitation
Notes de cours
ZOUARI Moez Ecole Prive dIngnieurs de Sousse 2014/2015
3me anne Gnie Civil
Cycle Ingnieur Cours de soir
Principes des systmes dexploitation Les systmes Linux et Unix
-
[Titre du document]Bref aperu sur les systmes dexploitation
1. Dfinition du systme dexploitation
2. Evolution historique des systmes dexploitation
3. Fonctions dun systme dexploitation
4. Architecture dun systme dexploitation
1. Dfinition du systme dexploitation
Il est assez difficile de donner une dfinition prcise de ce quest un systme
dexploitation. En effet, un systme dexploitation peut tre utilis sur micro-ordinateur comme
sur les plus grosses machines, aussi bien en ce qui concerne la complexit quen ce qui concerne
les fonctions offertes. On peut toutefois caractriser un systme dexploitation en mettant en
vidence un certain nombre de fonctions quil doit assurer.
Si on considre les programmes excuts sur une machine, ils se repartissent
schmatiquement en deux classes :
Les programmes dapplications : crits et mis en uvre par des utilisateurs.
Les programmes utilitaires, gnralement fournies par les constructeurs pour faciliter
lutilisation de la machine.
Ces programmes se droulent pour les comptes des divers utilisateurs devant progresser
en parallle. Il est ncessaire, alors, davoir un programme charg de grer directement les
ressources matrielles et de rpartir aux mieux entre les diffrents utilisateurs. Cette rpartition
constitue un des rles du systme dexploitation (le systme dexploitation est un gestionnaire
de ressources). Mais ce ci nest pas le seul rle du systme dexploitation .Sa prsence doit
aussi servir facilit la tache des utilisateurs, il simule donc pour eux, partir de la machine
relle une machine virtuelle plus facile utiliser.
Donc le systme dexploitation peut donc tre caractris par les deux fonctions
suivantes :
Rpartition des ressources matrielles.
-
SE Bref aperu sur les systmes
dexploitation
Z-M 2012-2013 Page 3
Simulation pour lutilisateur dune machine virtuelle.
Dune faon simplifi, on peut dfinir le systme dexploitation comme un ensemble de programmes qui
permettent dutiliser et dexploiter les ressources matrielles de lordinateur dune faon optimale afin doffrir linterface
adquate lutilisateur pour pouvoir excuter tous ces programmes dune faon transparence sans tenir compte de
toute complexit matrielle.
2. Fonctions dun systme dexploitation
La conception dun systme dexploitation implique la ralisation de plusieurs types de
fonctions, en particulier celle des services communs. La structuration de ces fonctions peut
mener une description du systme sous une forme monolithique en couche ou mieux encore
en clients/serveurs avec comme base un micro-noyau.
Sans rentrer dans les dtails des mthodes structurantes quon peut adopter pour raliser
un systme dexploitation, on peut dgager un certain nombre de fonctions essentielles. Il sagit
des fonctions suivantes.
3.1. Fonction utilitaires
Tout systme dexploitation comprend des programmes chargs de raliser des travaux
dexploitation standards de programmation ( diteur de texte, diteur de lien, configurateur,
metteur de point, gestionnaire de version,..), de gestion des fichiers ( formatage de
volumes, copie de volumes et de fichiers, tris de fichiers, conversion de support, archivage de
support, ), de gestion des tches dadministration du systme (gestion des mots de passe,
gestion des contrles daccs, installation de nouvelles applications ou version de logiciels,
outils dvaluation de performances,.), de gestion de tches dun bureau ( outils de
communication, outils bureautique tel que quun traitement de texte,)etc.
3.2. Mise en uvre du dialogue Homme/Machine
Une commande lance par un utilisateur peut tre formule de diverses manires : (un
texte saisir, un choix dans un menu, un double clic sur un icne prsent dans une fentre
dapplication, etc.). Pour tre traite par lordinateur, cette commande transite par un processeur
-
(logiciel) spcialise dans linterprtation des commandes. Son analyse par linterprteur peut
correspondre soit laffichage dun message derreur, soit au lancement du programme
correspondant. Lorsque le traitement dfinitif de la commande est termin, lordinateur est de
nouveau prt recevoir un nouvel ordre (une autre commande), cest ce qui est souvent indiqu
par un message prcis du systme, appel souvent prompt(invite) systme.
3.3. Gestion des donnes et des fichiers
Un fichier peut se dfinir comme un ensemble (une collection) de donnes de mme
nature codes et mmorises, pour les besoins de lutilisateur, sur un disque ou sur un autre
support de sauvegarde. Dun point de vue pratique, le fichier constitue le seul et unique moyen
pour sauvegarder des informations contenues dans la mmoire centrale de lordinateur et qui
autrement seraient perdues lors de larrt de cet ordinateur. Selon la nature des informations
contenues dans les fichiers, on distingue :
Les fichiers programmes : les informations quils contiennent sont des ordres utilisables
par lordinateur : ces ordres sont exprims dans un langage volu ou dans un langage
symbolique (on parle dans ces cas des fichiers sources), ou encore dans le langage (de la)
machine (on parle dans ce cas des fichiers binaires).
Les fichiers de donnes : ils contiennent des informations que lordinateur ne peut pas les
utilises directement. Ces donnes sont exploites, en gnral, par un fichier programme
associ. Les documents crs avec un traitement de texte illustre ce cas : ce sont des donnes
utilises travers le programme de traitement de textes
La gestion des fichiers est lensemble des actions relatives leur existence : cration,
duplication, dition, impression, recherche, destruction, compressions etc. Par extension, en
peut inclure dans cet ensemble toutes les fonctions de gestion des supports de sauvegardes. Ces
fonctions incluent par exemple le formatage de support et leur maintenance. La gestion des
donnes englobe les fonctions lies lutilisation des fichiers et leur partage mais aussi la
scurit et la confidentialit des informations quils contiennent.
3.4. Gestion des priphriques et des Entres/Sorties physiques
La notion de priphrique pour lordinateur peut tre abord de faon trs simple : en
effet, on constate que tous les lments dits priphriques ne sont souvent pas inclus dans le
botier de lunit centrale de lordinateur. Fonctionnellement, les units priphriques peuvent
-
SE Bref aperu sur les systmes
dexploitation
Z-M 2012-2013 Page 5
tre vues comme tant des lments permettant lordinateur de dialoguer avec lextrieur ou
encore comme des possibilits dextension de la mmoire centrale.
La gestion des priphriques regroupe lensemble des actions relatives leur emploi.
Ces fonctions concernent, dune part, le paramtrage de ces priphriques et, dautre part, leur
utilisation proprement dite.
La gestion des Entres/Sorties physiques sur les priphriques doit permettre dignorer
le plus grand nombre possible des diffrences qui existent entre les mmes types dunits
proposes par plusieurs constructeurs. Autrement dit, il faut que le gestionnaire
dEntres/Sorties puisse rendre transparente lutilisateur les lments caractristiques des
priphriques, en lui fournissant un modle virtuel auquel il peut sadresser.
3.5. Gestion de la mmoire centrale
Pour faire excuter un programme, on doit lui allouer un espace en mmoire centrale.
Cette mmoire doit alors englober ses donnes (les constantes et les variables quil dclare)
mais galement son code (les instructions qui le composent). Cependant, pour pouvoir
lexcuter, on a ncessairement besoin du systme dexploitation ou du moins de son noyau.
Ce dernier est galement un programme, il lui faut donc de lespace mmoire. Une premire
tache du gestionnaire de la mmoire consiste a rpartir la mmoire vive (RAM) en deux types
despaces : un espace utilisateur et un espace systme, et maintenir lintgrit de ces deux
espaces. Une fois charge en mmoire centrale, limage du programme donne lieu la
dfinition dun processus prt tre excut.
La gestion de mmoire centrale regroupe, dune manire plus gnrale, les divers
services de :
Rpartition de la mmoire disponible entre les diffrents processus actifs
Placement des processus dans lespace mmoire qui lui est alloue
Localisation des donnes pour chaque processus
Maintien de lintgrit des espaces rservs
Utilisation de la mmoire auxiliaire comme support annexe de la mmoire centrale
-
3.6. Gestion des processus et des processeurs
La gestion des processus regroupe donc divers service pour traiter les processus
demandant leur excution sur le processeur central. Outre la mise en uvre dun algorithme
dordonnancement qui peut tre avec ou sans rquisition du processeur central, ces service
manipule la liste des descripteurs de processus travers des fonctions diverses telle que : la
cration, la destruction, suspension ou encore la reprise de processus, mais galement celle qui
permette de dcrire la situation d exclusion mutuelle ou de synchronisation ou encore de
communication entre divers processus.
-
SE Prsentation des systmes dexploitation UNIX et Linux
Chapitre 1 : Prsentation des systmes dexploitation UNIX et Linux
1. Introduction
2. Notion de logiciel libre
3. Les systmes UNIX et Linux
4. Architecture
5. Architecture
6. Langage de Commandes
7. Utilities
8. Connexion et dconnexion
9. Commandes
1. Introduction
Actuellement, on trouve sur le march essentiellement deux types de systme
dexploitation pour PC : les systmes Windows avec ses diffrentes versions de Microsoft est
les systmes Linux avec ses diffrentes distributions et versions. Les premiers systmes font
partie de la catgorie des logiciels propritaires, par contre les seconds font partie de la catgorie
des logiciels libres. Les systmes libres prsentent des nombreux avantages et offre un choix
non ngligeables vu la philosophie qui est lorigine. En effet, les logiciels libres, en gnral,
sont bass sur le principe dentre-aide pour dvelopper des solutions efficace moindre cot.
2. Notion de logiciel libre
Daprs la FSF (Free Software Fondation) un logiciel libre est dfinit comme un logiciel
qui garantit aux utilisateurs quatre liberts fondamentales :
La libert dexcuter le programme, pour tous les usages ;
La libert dtudier le fonctionnement du programme et de ladapter ses besoins ;
-
La libert de redistribuer des copies ;
La libert damliorer le programme et de publier ses amliorations
Cependant, tout logiciel qui ne garantisse pas ces quatre liberts est considr comme
propritaire.
Les logiciels libres couvrent un large domaine dapplication et dactivits, tel que les
systmes dexploitation, les compilateurs, les logiciels multimdias, les logiciels de gestion,
3. Les systmes UNIX et Linux
Le succs du systme Linux est fortement li celui dUNIX. Cependant, il ya lieu de
distinguer entre les deux systmes.
Unix est un systme dexploitation multitche et multiutilisateur. Dvelopp
initialement dans les laboratoires de Bell par Ken Thompson, il a t trs bien enrichi par les
rsultats de la recherche aprs avoir distribu le code source auprs des universits amricaines.
De ce fait, Unix a connu un grand succs et plusieurs versions du systme ont t dveloppes
fonctionnant sur diffrents types de machines.
Linux est un systme dexploitation diffrent dUnix qui est dvelopp par Linus Torvalds
et a t amlior par de nombreux dveloppeurs dans le monde entier. Il sagit dun systme
qui sinspire fortement du systme Unix et qui offre une interface presque similaire Unix
do lorigine de la confusion et lassociation entre les deux systmes. Linux a pris son succs
aprs lintgration de ce systme dans le projet GNU de Richard stallman et depuis, on
lappelait GNU/Linux qui est protg par le droit d'auteur conformment GNU General Public
License (GPL). C'est une licence crite par la Free software Foundation (FSF).
De ce fait, le cours sera consacr pour ltude du systme UNIX avec ses diffrents
concepts et principes puissants. Mais, ceci suppose implicitement ltude des concepts et
principes de Linux vue la forte ressemblance entre les deux.
4. Notion de distribution
Le fait que Linux est un systme dexploitation libre, plusieurs communauts1 ou
socits ont effectu des modifications sur le systme et les ont distribues. De ce fait, il existe
diffrentes distributions toutes base du noyau GNU/Linux et dautres logiciels libres.
1 Dans le contexte des logiciels libre, le terme de communaut dsigne l'ensemble des parties prenantes au
dveloppement et l'utilisation d'une base de code. La communaut est constitue de personnes (physiques,
-
SE Prsentation des systmes dexploitation UNIX et Linux
Z-M 2012-2013 Page 9
Une distribution se prsente sous forme de fichiers tlchargeables partir de sites ftp
ou supports CDs (ou DVD). Une distribution rassemble les composants du systme dans un
ensemble cohrent et stable dont l'installation, l'utilisation et la maintenance sont de plus en
plus facilites grce des interfaces suffisamment conviviales. Il existe de nombreuses
distributions, chacune ayant ses particularits : certaines sont ddies un usage spcifique
(pare-feu, routeur, grappe de calcul, etc.), d'autres un matriel spcifique, un environnement
particulier (embarqu), etc.
Parmi les distributions quon peut rencontrer et qui sont trs utilises, on trouve debian,
fedora, suse, ubuntu
5. Architecture
Unix tout comme Linux est un systme dexploitation organis en couches quasi
indpendantes les unes des autres. Ces couches constituent linterface entre lutilisateur et le
matriel. En voici une vue simplifie :
Figure 1 Architecture du systme UNIX
ventuellement morales) allant des core developers qui maintiennent la base de code et prennent les dcisions techniques
importantes aux simples utilisateurs, en passant par les contributeurs, qui peuvent aider l'effort collectif en dtectant des bugs, proposant des correctifs ou aidant des tches telles que la documentation. Dans ce contexte, le
mot communaut est une traduction directe de l'anglais amricain community et pourrait tre presque un anglicisme. Il
semble que la notion de community telle qu'utilise aux tats-Unis soit d'un usage plus large, plus neutre et plus banal
que celui de communaut en franais, telle que comprise en France.
-
Le noyau (Kernel) gre, principalement, les composants matriels :
la mmoire
les disques
les autres priphriques dentre/sorties
les processus
Le noyau est la partie rsidante du systme dexploitation, elle est toujours charg en
mmoire, il offre plusieurs fonctions, appels primitives, permettant manipulation proche du
matriel. Le noyau est le seul programme autoris accder directement au matriel. Toute
application doit, alors faire appel aux primitives du noyau pour effectuer des manipulations sur
le matriel.
6. Langage de Commandes
L'utilisateur peut taper des commandes lorsqu'il se trouve au niveau commande, c'est--
dire lorsque l'invite du systme apparat. Toute commande entre sera interprte par
l'interprteur de commandes (ou shell). Le terme shell veut dire coquille pour exprimer l'ide
d'interface entre utilisateurs et systme UNIX et a t donn par opposition au noyau du
systme.
Le SHELL est la partie merge de liceberg. Son Interprteur de Commandes permet
dinteragir (directement ou non) avec lutilisateur. Il en existe plusieurs versions, plus ou moins
disponibles suivant les versions dUnix :
sh : Bourne shell, le shell historique
csh : C-shell, la syntaxe inspiredu C
ksh : Korn shell, une version mixte des 2 prcdentes
bash : Bourne-again shell, LE shell Linux
Trois phases pour lexcution dune commande :
Lecture dune commande
Analyse syntaxique (vrifier si la commande est rdige correctement)
Excution si aucune erreur de syntaxe
7. Utilities
-
SE Prsentation des systmes dexploitation UNIX et Linux
Z-M 2012-2013 Page 11
Les Utilities ou utilitaires sont les programmes utiles mais qui ne sont pas obligatoire
qui doivent tre fournies par le systme dexploitation tel que : Le lecteur media, ou loutil de
gravure, le navigateur, un diteur de texte,
8. Connexion et dconnexion
Un utilisateur doit tre enregistr auprs de systme pour quil puisse se connecter. Les
informations didentit doivent tre prsentes dans des fichiers particuliers grs par
l'administrateur du systme.
9. Commandes
9.1. Syntaxe des commandes
Celle-ci est gnralement la suivante :
nom_commande [options] [arguments]
Le caractre sparateur entre les diffrents lments de la commande est le blanc
(ESPACE). Les options commencent habituellement par le caractre - (signe moins) suivi d'une
ou plusieurs lettres-cls. Ces options vont modifier le comportement de la commande. Les
arguments spcifient les objets (fichiers ou variables) sur lesquels la commande va s'appliquer.
Note : les crochets autour des arguments et des options signifient que ceux-ci sont optionnels.
Ex : liste de fichiers avec les commandes suivantes :
ls
ls -l (l comme long, donne tous les attributs des fichiers)
ls -la (a comme all, liste aussi les fichiers commenant
par le caractre .)
ls -l rep1
9.2. Manuel des commandes
-
Si on veut de l'aide sur les rgles d'utilisation ou encore sur les fonctionnalits d'une
commande, on peut utiliser l'aide en ligne grce la commande man (comme MANual pages)
de la faon suivante :
man nom_commande
Exemple :
man ls
man man
Si on ne connat pas la syntaxe de la commande, il est possible de faire une recherche
par mot-cl dans le systme de "manual pages") l'aide de la commande suivante :
man -k mot-cl
man -k list
man -k directories
9.3. Caractres gnriques
Certaines commandes acceptent plusieurs noms de fichiers en arguments aussi, il tait
intressant d'avoir des notations permettant de raccourcir l'criture d'une telle liste. Ainsi, il
existe plusieurs caractres gnriques qui, incorpors dans les noms de fichiers, ont la
signification suivante :
Le caractre ? qui peut remplacer n'importe quel caractre ;
Le caractre * (Astrisque) qui peut remplacer n'importe quelle chane de caractres, y
compris la chane vide.
-
EPI Systmes dexploitation
Chapitre 2 : Le SGF Linux/Unix
1. Introduction
2. Organisation physique des fichiers sur disque
3. Rpertoires et liens vers les fichiers
4. La hirarchie des fichiers sous Linux
5. Chemin daccs au fichier
6. Les droits daccs aux fichiers
7. Les principales commandes de manipulation des fichiers
1. Introduction
Un fichier est ensemble d'informations regroupes en vue de leur conservation et de leur
utilisation dans un systme informatique. Un fichier peut contenir diffrents types des
informations :
Programmes : fichier binaire excutable, script , byte code, ,
Donnes : fichiers ASCII, binaires, images, son, fichiers dadministration (/etc/passwd),,
Comme il a t dj prsent, le SGF (Systme de Gestion de Fichier) est la partie du
systme dexploitation responsable de stockage des donnes dune faon efficace et correcte.
Le systme doit implmenter, alors, toutes commandes ncessaires pour la manipulation des
fichiers (cration, modification, copie, )
Le systme de gestion de fichiers est, donc, un outil de manipulation des fichiers et de
la structure darborescence des fichiers sur disque et a aussi de conserver toutes les informations
associs. Le systme de gestion de fichier permet, donc, une manipulation simple des fichiers.
2. Organisation physique des fichiers sur disque
-
EPI Systmes dexploitation
2.1. Principe de lecture/criture sur support de stockage
Avant, dtudier le principe de lorganisation des fichiers, nous rappelons dabord, le
principe dutilisation des disques.
Le disque dur est un composant lectromcanique qui permet de lire et dcrire une suite
binaire dune faon permanente.
Figure 2 Principe de fonctionnement d'un disque dur
Comme il prsent sur la figure, Lcriture et la lecture se fait sur les piste traces sur la
surface de chaque plateau. Chaque piste est dcompose en secteurs spars par des espace vide
appel gap pour permettre le freinage de la tte de llecture/criture. Un secteur reprsente
la plus petite unit physique de lecture/criture. On peut cependant lire plusieurs secteurs en
mme temps, on parle alors, dunit logique de lecture/criture appel bloc ou cluster.
A partir de ce moment, on peut considrer donc un disque comme tant un ensemble de
blocs successifs.
Super-
bloc
Super-
bloc
Table
dinodes
Blocs de
donnes
Bloc0 Bloc1 .. Bloc n-1 Bloc n
Figure 3 Schma simplifi dun disque
-
SE La gestion des processus
Z-M 2012-2013 Page 15
Le bloc 0 contient gnralement le BOOT du systme dexploitation, cest les
instructions qui permettent le lancement du systme dexploitation. Le Bloc 1, appel aussi
Super-Bloc contient les informations sur le SGF ( taille du bloc, espace libre, taille du disque,
type de SGF, ).
De la mme manire, tous les supports de stockage, sont utiliss selon le mme
principe : la lecture criture se fait toujours en BLOC.
2.2. Principe de stockage sur mmoire secondaire
Diffrentes mthodes permettent d'associer un nom de fichier son contenu. Dans le
cas des systmes de fichier dUNIX (ou de Linux), les fichiers et les rpertoires sont identifis
par un numro unique, le numro d'INODE. Ce numro permet d'accder une structure de
donnes (INODE) regroupant toutes les informations sur un fichier l'exception du nom,
notamment la protection d'accs en lecture, en criture ou des listes de dates, ainsi que le moyen
d'en retrouver le contenu. Le nom est stock dans le rpertoire associ un numro d'inode.
Cette organisation prsente l'avantage qu'un fichier unique sur disque peut tre connu du
systme sous plusieurs noms.
De point de vue SGF, un Fichier reprsente un ensemble de blocs parpills sur le
support. Pour pouvoir retrouver ces blocs, on utilise linode, qui contient toutes les informations
qui caractrisent le fichier (droits daccs, propritaire, Groupe Propritaire, dates de dernier
accs et de modification, taille du fichier, nombre de blocs utiliss par le fichier, type de fichier,
etc.) ainsi que lemplacement physique des diffrents blocs qui constituent le fichier (les
numros des blocs occups par le fichier).
Toutes les inodes sont regroupes dans une table quon appelle table dinodes. Cette
table trouve dans un bloc bien dfini, gnralement le bloc N3.
3. Rpertoires et liens vers les fichiers
Dans lobjectif, de faciliter laccs aux fichiers et leur recherche, les fichiers sont
gnralement regroups dans des rpertoires, et eux-mmes sont regroups dans dautres
rpertoires. La majorit des SGF offrent une structure arborescente pour organiser les fichiers.
Pour accder un fichier, il faut spcifier son chemin daccs, c'est--dire, la liste des
rpertoires par lesquels il faut passer pour atteindre la cible. Selon la logique UNIX, Un
-
EPI Systmes dexploitation
rpertoire est, en fait, un fichier qui contient la liste des noms de fichiers/rpertoires quil
contient et leurs numros inode. Le rpertoire, peut tre vu, donc, comme un ensemble des liens
vers des fichiers. En effet, partir du nom du fichier, on dtermine le numro de son inode et
partir de ce numro, on peut retrouver toutes les donnes ainsi que les caractristiques de ce
fichier.
En plus, des rpertoires qui offrent de liens appels dur ou physique, Unix offre dautres
types de lien aux fichiers, quon appelle Liens symbolique. Un lien symbolique est un fichier
contenant un numro dinode cest faon doffrir un deuxime lien pour accder un fichier.
4. La hirarchie des fichiers sous Linux
Pour assurer la compatibilit et la portabilit, les systmes Linux utilise une hirarchie
standard de rpertoire en respectant norme FHS (File Hierarchy Standard). La hirarchie de
base est la suivante :
/ la racine, elle contient les rpertoires principaux
/
bin
contient des excutables essentiels au systme, employs par tous les
utilisateurs (par exemple, les commandes ls, rm, cp ...)
/
boot contient les fichiers permettant Linux de dmarrer
/
dev contient les points d'entre des priphriques
/
etc
contient les commandes et les fichiers ncessaires l'administrateur du
systme (fichiers passwd, group, inittab, ld.so.conf, lilo.conf, ...)
/etc/X11 contient les fichiers spcifiques la configuration de X
(contient XF86Config par exemple)
/etc/opt contient les fichiers de configuration spcifiques aux applications installs
dans /opt
/
home rpertoire personnel des utilisateurs
/
lib
contient des bibliothques partages essentielles au systme lors du
dmarrage
/
mnt
contient les points de montage des partitions temporaires (cd-rom,
disquette, ...)
-
SE La gestion des processus
Z-M 2012-2013 Page 17
/
opt contient des packages d'applications supplmentaires
/
root rpertoire de l'administrateur root
/
sbin
contient les binaires systme essentiels (par exemple la
commande adduser)
/
tmp contient les fichiers temporaires
/
usr Hirarchie secondaire
/usr/X11R6 ce rpertoire est rserv au systme X version 11 release 6
/usr/X386 utilis avant par X version 5, c'est un lien symbolique vers /usr/X11R6
/usr/bin contient la majorit des fichiers binaires et commandes utilisateurs
/usr/include contient les fichiers d'en-tte pour les programmes C et C++
/usr/lib contient la plupart des bibliothques partages du systme
/usr/local contient les donnes relatives aux programmes installs sur la machine
locale par le root
/usr/local/bin binaires des programmes locaux
/usr/local/games binaires des jeux locaux
/usr/local/include fichiers d'en-tte C et C++ locaux
/usr/local/lib Bibliothques partages locales
/usr/local/sbin
binaires systme locaux
/usr/local/share hirarchie indpendante
/usr/local/src fichiers sources locaux
/usr/sbin contient les fichiers binaires non essentiels au systme rservs
l'administrateur systme
/usr/share rserv aux donnes non dpendantes de l'architecture
/usr/src contient des fichiers de code source
-
EPI Systmes dexploitation
/
var contient des donnes variables
5. Chemin daccs au fichier :
Pour designer un fichier donn, il faut spcifier son chemin daccs. Il sagit de liste des
rpertoires par lesquels, il faut passer pour le retrouver, en dautre terme, ile faut spcifier son
emplacement dans larborescence. Dun point vue pratique, un chemin est une liste des noms
de rpertoires spars par le caractre /. Cette liste commence par un repertoire spcifique
connu par le systme. Ceux rpertoires sont :
/ : la racine de larborescence. Gnralement il est dcrit par linode numro 2.
. : le rpertoire actif ou courant. On lappelle aussi le rpertoire de travail.
.. : le rpertoire parent du rpertoire actif.
~ : le rpertoire personnel du lutilisateur connect.
~nom_utilisateur : le rpertoire personnel de lutilisateur dont le nom est spcifi aprs le
caractre ~.
On appelle un chemin absolu, un chemin qui commence par le rpertoire racine /.
Alors quun chemin relatif commence par le rpertoire courant ..
6. Les droits daccs aux fichiers
Chaque fichier (ou rpertoire) possde un ensemble d'attributs dfinissant les droits
d'accs ce fichier pour tous les utilisateurs du systme ainsi quun utilisateur propritaire et
un groupe dutilisateurs propritaire.
5.1. Classes d'utilisateurs
Il existe 3 classes d'utilisateurs pouvant ventuellement accder un fichier :
Le propritaire du fichier (User) ;
Le groupe dans lequel appartient le propritaire (Group) ;
Les autres (Others).
A sa cration, un fichier appartient son auteur. Le propritaire du fichier peut ensuite
distribuer ou restreindre les droits d'accs sur ce fichier.
5.2. Types d'accs
-
SE La gestion des processus
Z-M 2012-2013 Page 19
Pour chaque classe d'utilisateurs, il y a 3 types d'accs un fichier donn :
r : en lecture (Read) ;
w : en criture (Write) ;
x : en excution (eXecute).
Au niveau rpertoire, ces droits signifient :
droit de lister les fichiers prsents dans ce rpertoire (Read) ;
droit de crer ou de dtruire un fichier qui s'y trouve (Write) ;
droit de traverser ce rpertoire (eXecute).
En combinant les 3 types d'accs et les 3 classes d'utilisateurs, il y a donc 9 droits d'accs
diffrents qui existent sous UNIX.
6. Les commandes de manipulation des fichiers
6.1. Liste des fichiers
On utilise pour cela la commande ls avec ses nombreuses options.
Ls [options] [fichier ]
6.2. Cration d'un fichier
Habituellement, on utilise un diteur de textes. Ici, on suppose que l'utilisateur ne sait
utiliser aucun des diteurs et qu'en attendant, il a la recette suivante pour crer un petit fichier:
cat > nom_fichier
1re ligne
2me ligne
.
.
dernire ligne
-
EPI Systmes dexploitation
^D
Avec cette commande, si le fichier existe dj, son prcdent contenu est dtruit.
6.3. Destruction d'un fichier
rm [options] nom_fichier
Quelquefois, le systme demande confirmation avant d'effacer un fichier et si la rponse
de l'utilisateur ne commence pas par 'y' ou 'Y' alors le fichier est prserv. Pour cela, il faut
utiliser loption i.
6.4. Visualisation d'un fichier
Plusieurs commandes diffrentes fonctionnalits permettent la visualisation d'un
fichier mais les plus usuelles sont :
cat nom_fichier
more nom_fichier
Less nom_fichier
Les commandes less et more permettent un affichage page par page (h pour connatre
les commandes possibles de more, RETURN pour la ligne suivante, ESPACE pour la page suivante
et q pour terminer l'affichage).
6.5. Copie d'un fichier
cp chemin_source Chenmin_destination
chemin : peut tre le chemin dun fichier ou dun rpertoire.
6.6. Renommage ou dplacement d'un fichier
mv ancien_nom nouveau_nom (renommage)
mv nom_fichier nom_rpertoire (dplacement)
6.7. Cration d'un rpertoire
mkdir nom_rpertoire
Elle est possible uniquement si celui-ci est inexistant.
-
SE La gestion des processus
Z-M 2012-2013 Page 21
6.8. Destruction d'un rpertoire
rmdir nom_rpertoire
Si le rpertoire est vide
rm -r nom_rpertoire
-r comme rcursif : effacement du contenu du rpertoire et de lui-mme)
6.9. Visualisation des droits d'accs
ls -l
Pour cela, on utilise la commande ls -l. Le 1er caractre spcifie si le fichier est un
rpertoire (caractre d) ou un fichier tout court (caractre -). Les 9 caractres suivants
identifient les droits d'accs (prsence du droit si lettre r, w ou x ; absence de droit si caractre
-) et sont structurs de la faon suivante :
$ls -l
total 7
-rw------- 1 moez 49 Sep 18 12:37 fic
-rw------- 1 moez 50 Sep 18 12:35 fic1
-rw------- 1 moez 50 Sep 18 12:37 fic2
-rw------- 1 moez 50 Sep 18 12:37 fic3
-rw------- 1 moez 51 Sep 18 12:38 fic33
6.10. Modification des droits d'accs
Seul, le propritaire d'un fichier peut modifier ses droits d'accs. Pour cela, il utilise la
commande chmod avec la syntaxe suivante :
chmod mode nom_fichier
mode indique de quelle faon les droits d'accs doivent tre modifis. Il se dcompose
en [qui] op accs.
-
EPI Systmes dexploitation
qui (optionnel) indique quelles classes sont concernes par la commande chmod et est
compos de 1 ou plusieurs lettres parmi u, g et o. Si aucune classe n'est spcifie, toutes les
classes sont concernes.
op peut tre :
+ pour ajouter des droits d'accs
- pour enlever des droits d'accs
accs est une combinaison des lettres r, w et x qui spcifient les types d'accs.
$ls -la rep3
total 3
drwx------ 2 moez 512 Sep 21 21:30 .
drwxr--r-x 8 moez 512 Sep 21 21:30 ..
-rw------- 1 moez 50 Sep 21 21:30 fic1
$ chmod u-r rep3
$ ls -la rep3
rep3 unreadable
$ ls -la fic2
-rw-rw---- 1 moez 101 Sep 18 19:15 fic2
$ fic2
fic2: Permission denied.
$ chmod +x fic2
$ ls -la fic2
-rwxrwx--x 1 moez 101 Sep 18 19:15 fic2
$ fic2
6.11. Initialisation des droits d'accs
Au moment o l'utilisateur cre un fichier, des droits d'accs par dfaut sont donns
ce fichier. C'est la commande umask qui permet de dfinir la protection maximale que l'on
donne par dfaut aux nouveaux fichiers. La syntaxe est la suivante : umask masque.
-
SE La gestion des processus
Z-M 2012-2013 Page 23
masque est une valeur octale qui joue le rle de masque sur les droits d'accs d'un fichier
sa cration. Les droits d'accs sont dtermins sont obtenus aprs l'opration logique suivante
: mode & (~masque) avec &, le ET logique et ~ le NON logique.
En standard, une commande shell de cration de fichier, comme cat > nom_fichier
(ce fichier n'existant pas) initialise le mode de ce fichier rw-rw-rw-. C'est ce mode par
dfaut qu'est appliqu le masque.
EXEMPLE :
umask 22 (le masque est ici, 022, soit en codage binaire, 000 010 010
=> les fichiers crs auront la protection rw-r--r--).
umask 77 (le masque est ici, 077, soit en codage binaire, 000 111 111
=> les fichiers crs auront la protection rw-------).
Note : au moment de l'initialisation de la session de travail, une valeur de masque est dfinie. Pour connatre
la valeur du masque, il suffit d'utiliser la commande umask sans arguments.
La commande chmod n'est pas affecte par la valeur du masque.
-
EPI Systmes dexploitation
Chapitre 3 : Les utilitaires
2. Introduction
3. L'diteur vi
4. Les filtres
5. Autres commandes
1. Introduction
Cette partie dcrit quelques commandes utilitaires UNIX trs pratiques. Ces
programmes sont livrs en standard avec toutes les versions d'UNIX.
Nous commenons par dcrire l'utilisation de l'diteur standard vi.
2. L'diteur vi
vi est un diteur de texte plein cran (par opposition aux diteurs ligne qui ne
permettaient que l'dition d'une ligne la fois).
Compar aux diteurs modernes, vi est d'abord malcommode, mais il est assez puissant
et toujours prsent sur les systmes UNIX. Il est donc trs utile d'en connatre le maniement de
base. Nous ne dcrivons ici que les commandes et modes les plus utiliss, il en existe beaucoup
d'autres.
A un instant donn, vi est soit en mode commande, soit en mode insertion :
-
SE La gestion des processus
Z-M 2012-2013 Page 25
mode commande : les caractres taps sont interprts comme des commandes
d'dition. vi dmarre dans ce mode, il faut donc lui indiquer (commande 'i') que
l'on veut insrer du texte;
mode insertion : les caractres sont insrs dans le texte dit. On peut quitter ce
mode en pressant la touche ``ESC'' (ou ``Echap'' sur certains claviers).
Appel de vi depuis le shell :
vi fichier dite fichier.
vi +n fichier commence la ligne n.
vi -r fichier rcupration du fichier aprs un crash.
Mouvements du curseur (en mode commande seulement) :
Touche Action
flches Dplace curseur (pas toujours bien configur).
ESPACE Avance droite.
h Recule gauche.
CTRL-n Descend d'une ligne.
CTRL-p Monte d'une ligne.
CTRL-b Monte d'une page.
CTRL-f Descend d'une page.
nG Va la ligne n (n est un nombre).
Commandes passant en mode insertion :
Touche Commence l'insertion
I Avant le curseur.
I Au dbut de la ligne.
A A la fin de la ligne.
Autres commandes :
-
EPI Systmes dexploitation
R Remplace le caractre sous le curseur.
X Supprime un caractre.
d$ Efface jusqu' la fin de la ligne.
dd Efface la ligne courante.
/chane Cherche la prochaine occurrence de la chane.
?chane Cherche la prcdente occurrence de la chane.
Quitter, sauvegarder : (terminer la commande par la touche ``Entre'')
:w crit le fichier.
:x crit le fichier puis quitte vi.
:q! Quitte vi sans sauvegarder les changements.
!!commande Excute commande shell sans quitter l'diteur.
3. Les filtres
Les filtres sont des utilitaires qui permettent de slectionner une partie dun
fichier selon un certain critre..
head [-n] [fichier]
Affiche les n premires lignes du fichier. Si aucun fichier n'est spcifi, lit sur
l'entre standard.
tail [+n -n] [fichier]
La forme tail +n permet d'afficher un fichier partir de la ligne n. La
forme tail -n affiche les n dernires lignes du fichier. Si aucun fichier n'est
spcifi, lit sur l'entre standard.
grep [option] motif fichier1 ... fichiern
Affiche chaque ligne des fichiers fichieri contenant le motif motif. Le motif
est une expression rgulire.
-
SE La gestion des processus
Z-M 2012-2013 Page 27
Options : -v affiche les lignes qui ne contiennent pas le motif.
-c seulement le nombre de lignes.
-n indique les numros des lignes trouves.
-i ne distingue pas majuscules et minuscules.
cut : slection de colonnes
La commande cut prsente 2 formes suivant que l'on slectionne des colonnes de
caractres ou qu'on distingue des champs spars par un caractre prcis.
slection_colonne
cut -c(slection_colonnes) [fichiers]
Exemples
Affiche le 5ime caractre
cut -c5 fichier
affiche du 5ime au 10me caractres
cut -c5-10 fichier
affiche le 5ime et le 10me caractres
cut -c5-10 fichier
affiche partir du 5ime (jusqu' la fin)
cut -c5- fichier
slection champs
cut -d(sparateur) -f(slection_champs) [fichiers]
4. La redirection
Lors de l'excution d'une commande (shell, programme, etc.) il y a deux sorties
disponibles, la sortie standard stdout sur le canal 1 et la sortie des erreurs stderr sur le
canal 2. En plus, les donnes utilises par la commande sont cherches sur lentre standard,
soit le canal 0, dfaut des donnes en arguments. Ces canaux sont accessibles pour rediriger
les flux de donnes. Dune faon gnrale, une commande peut tre reprsente de la
suivante :
-
EPI Systmes dexploitation
Par dfaut stdin correspond au clavier, alors que, stdout et stderr correspondent
lcran. En effet, lorsque l'on excute un programme, les donnes sont donc lues partir du
clavier et le programme envoie sa sortie et ses erreurs sur l'cran, mais il est possible de lire les
donnes partir de n'importe quel priphrique d'entre, voire partir d'un fichier et d'envoyer
la sortie sur un priphrique d'affichage, un fichier, etc.
Linux possde des mcanismes permettant de rediriger les entres-sorties standards vers
des fichiers.
Ainsi, l'utilisation du caractre > permet de rediriger la sortie standard d'une
commande situe gauche vers le fichier situ droite :
ls -al /home/jf/ > toto.txt
echo "Toto" > /etc/monfichierdeconfiguration
La commande suivante est quivalente une copie de fichiers :
cat toto > toto2
La redirection > a pour but de crer un nouveau fichier. Ainsi, si un fichier du mme
nom existait, celui-ci sera cras. La commande suivante cre tout simplement un fichier vide :
> fichier
L'emploi d'un double caractre >> permet de concatner la sortie standard vers le
fichier, c'est--dire ajouter la sortie la suite du fichier, sans l'craser.
De manire analogue, le caractre
-
SE La gestion des processus
Z-M 2012-2013 Page 29
cat < toto.txt
Enfin l'emploi de la redirection
-
EPI Systmes dexploitation
Principales options :
-name nom
le fichier ce nom;
-print
crit le nom du fichier (russit toujours);
-exec
Excute une commande. {} est le fichier courant. Terminer par ; .
-type
(d: catalogue, f: fichier ordinaire, p: pipe, l: lien symbolique).
Exemples :
# Recherche tous les fichiers nomms "essai"
# partir de la racine
find / -name essai -print
# Recherche tous les fichiers commenant par "ess"
# a partir du repertoire courant
find. -name 'ess*' -print
# Affiche a l'ecran le contenu de tous les fichiers .c
find . -name '*.c' -print -exec cat '{}' \;
(l'criture de ce dernier exemple est complique par le fait que le shell traite
spcialement les caractres *, {, et ;, que l'on doit donc entourer de quotes '.)
man [n] commande
Affiche la page de manuel (aide en ligne) pour la commande. L'argument n permet de
spcifier le numro de la section de manuel (utile lorsque la commande existe dans plusieurs
-
SE La gestion des processus
Z-M 2012-2013 Page 31
sections). Les numros des sections sont : 1 (commandes utilisateur), 2 (appels systmes), 3
(fonctions librairies C), 4 (devices), 5 (formats de fichiers), 6 (jeux), 7 (divers), 8
(administration) et n (new, programmes locaux).
more [fichier]
Affiche un fichier page par page (aide en ligne, taper 'h'). Si aucun fichier n'est spcifi,
lit sur l'entre standard.
wc [-cwl] [fichier ...]
Affiche le nombre de caractres, mots et lignes dans le(s) fichier(s). Avec l'option -c, on
obtient le nombre de caractres, avec -w, le nombre de mots (words) et avec -l le nombre de
lignes.
which commande
Indique le chemin d'accs du fichier lanc par ``commande''.
who [am i]
Liste les utilisateurs connects au systme. La forme who am i donne l'identit de
l'utilisateur.
sort [-rn] [fichier]
Trie les lignes du fichier, ou l'entre standard, et crit le rsultat sur la sortie. L'option -
r renverse l'ordre du tri, l'option -n fait un tri numrique.
7. Les commandes d'archivage et de (d)compression
Gnralement, il est ncessaire de pouvoir conserver des donnes pour sauvegarde ou
envoi un autre utilisateur. Le moyen le plus simple est de crer une archive, c'est dire un
fichier form de la concatnation de plusieurs fichiers ou rpertoires en un seul. Cette archive
peut ensuite tre compresse pour envoi par courrier lectronique ou copie sur disquette, par
exemple.
Archivage des donnes :
-
EPI Systmes dexploitation
o tar
Compression des donnes :
o Gzip
Dcompression des donnes :
o Gunzip
tar
Archivage des donnes
tar [-ctx][v]f cible source
Contrairement la grande majorit des commandes Unix, l'ordre des arguments
est cible puis source.
Type d'action :
-c : cration d'une archive.
-t : liste le contenu d'une archive.
-x : extraction d'une archive.
Options principales :
v : la commande affiche au fur et mesure tout ce qu'elle fait.
f : prcise le nom du fichier cible.
NB : un fichier archiv par tar est reconnu comme de type USTAR tar archive par la
commande file
gzip
Compresse des donnes.
gzip [-h][-rtv] source
Options principales :
-h : affiche la liste des options de gzip.
-r : rcursif. Dans ce cas source est un rpertoire et non et fichier.
-t : teste l'intgrit d'un fichier compress.
-v : la commande affiche au fur et mesure tout ce qu'elle fait.
-1 : compresse plus vite. Le rsultat est plus gros.
-
SE La gestion des processus
Z-M 2012-2013 Page 33
-9 : compresse mieux mais plus lentement.
un fichier compress par gzip est gnralement suffix par .gz et reconnu comme de
type gzip compressed data par la commande file .
gunzip
Dcompresse des donnes.
gunzip [-h][-tv][-S suf] source.gz
Options principales :
-h : affiche la liste des options de gunzip.
-t : teste l'intgrit du fichier compress.
-v : la commande affiche au fur et mesure tout ce qu'elle fait.
-S suf : autorise le suffixe .suf au lieu de .gz
NB : gunzip ne s'applique qu'aux fichiers reconnus comme de type gzip compressed
data par la commande file c'est dire crs par gzip.