Vous êtes sur la page 1sur 27

Chapitre 4: Introduction au systme

dexploitation Unix /Linux

Chapitre 4:
Introduction au Systme
dexploitation Unix/Linux

Chapitre 4: Introduction au systme


dexploitation Unix /Linux

Histoire
En 1965 les laboratoires Bell Labs lancent un projet
avec General Electric et le MIT (Massachussets Institute of
Technology) pour concevoir un systme d'exploitation, son
nom : Multics. Malheureusement pour eux les choses
n'avancent pas trs vite et Bells Labs finit par jeter l'ponge.
C'est alors que deux chercheurs de ces laboratoires,
Dennis Ritchie et Ken Thompson, dcident de
concevoir eux-mmes un systme qui conviendrait aux
besoins de leur entreprise.
C'est un de leur collgue, Brian Kernighan, qui lui trouve
son nom : il y avait Multics, il y aura dsormais Unix.

Chapitre 4: Introduction au systme


dexploitation Unix /Linux

Dennis Ritchie

Brian Kernighan

Ken Thompson

Remarque : Ce sont ces mmes chercheurs qui ont invent un peu


plus tard le langage C! Ils en ont profit pour rcrire presque tout
leur Unix du langage machine (assembleur) vers le C.

Chapitre 4: Introduction au systme


dexploitation Unix /Linux

1985 : Le systme Minix


Depuis 1985 des milliers d'tudiants ont appris la
programmation systme grce Minix.
1991 :Linus Torvalds, tudiant finlandais, prsenta la
premire version de son systme d'exploitation Linux.
Linus Unix Linux

Chapitre 4: Introduction au systme


dexploitation Unix /Linux

Linus Torvalds recrit certaines parties du systme


Minix afin de lui ajouter des fonctionnalits et de le
rendre plus efficace. Les sources de son travail sont
diffuses sur Internet. Cest ainsi que la premire
Version de Linux est ne: Version 0.1 aot 1991.

Chapitre 4: Introduction au systme


dexploitation Unix /Linux

Caractristique dUnix
Multi-Utilisateurs
Multi-tches
Multi plate-formes: (portable crit en C)

Interactif
Un systme de fichiers hirarchis
Un mcanisme de protection
Distribu gratuitement: bas sur le principe du

logiciel libre et selon le terme de la licence GPL.


Fiable, robuste, puissant et efficace.

Chapitre 4: Introduction au systme


dexploitation Unix /Linux

Architecture gnrale du systme


Unix est constitu principalement de trois couches :

Couche physique : priphriques + BIOS ;


Couche systme : Noyau et Processus ;
Couche Interface : Shell;

La communication entre ces couches est rglemente


par le noyau (Kernel).

Chapitre 4: Introduction au systme


dexploitation Unix /Linux

Architecture du systme
Gnie logiciel
lex, yacc, make, sccs

Compilateur
C
fortran
pascal

Outils
dadministration

NOYAU

Outil de
communication
mail
write
kermit

SHELL(s)
Assembleur
Linker

diteur
vi, ed,
emacs

Chapitre 4: Introduction au systme


dexploitation Unix /Linux

Lutilisateur communique avec le noyau par l'intermdiaire

d'un SHELL.
Les shells sont aussi des langages de commandes et de

programmation.
Les principaux SHELLS et leurs excutables sont :
Bourne Shell ===> /bin/sh
C Shell ===> /bin/csh
Korn Shell ===> /bin/ksh
Bash ===> /bin/bush

Chapitre 4: Introduction au systme


dexploitation Unix /Linux

Le Noyau UNIX (kernel)


Le noyau est le programme qui assure la gestion de la

mmoire, le partage du processeur entre les diffrentes


tches excuter et les entres/sorties de bas niveau. Il
est lanc au dmarrage du systme (le boot) et
sexcute jusqu son arrt.
Le noyau est constitu dun ensemble de procdures et de

fonctions crites pour lessentiel en langage C.


La taille dun noyau Unix est aux alentours de 10 millions de
lignes de programmes sources.

Chapitre 4: Introduction au systme


dexploitation Unix /Linux

Les tches du noyau


Quelques tches gres par Le noyau :
L'initialisation du systme.
La gestion de mmoire.
La gestion des fichiers.
La gestion des processus.

etc.

Chapitre 4: Introduction au systme


dexploitation Unix /Linux

Initialisation du systme
Lors du lancement du systme, deux processus sont
crs swapper et init :
Swapper est un processus systme qui nexcute
que des fonctions et procdures et qui gre en
particulier le va et vient des programmes entre les
mmoires principales et secondaires.
Init a pour rle de crer un processus pour chacun
des terminaux des systmes partir desquels un
utilisateur peut ouvrir une session.

Chapitre 4: Introduction au systme


dexploitation Unix /Linux

Systme de Gestion de Fichiers(SGF)


Les SGF sont structurs hirarchiquement

et
regroupent les fichiers dans les rpertoires. Il existe
un rpertoire racine (/) qui contient tous les fichiers et
les dossiers.
Les noms des fichiers et des rpertoires peuvent tre
trs longs ( jusqu 256 caractres par nom )
Exemple: ext2, ext3.

Chapitre 4: Introduction au systme


dexploitation Unix /Linux

Rq: les systmes des fichiers Unix sont dits

mono-tte ce qui signifie quils nont quun


point de dpart, le rpertoire racine, alors
que les systmes de Microsoft sont multittes puisquils ont un point de dpart par
lecteur.

Chapitre 4: Introduction au systme


dexploitation Unix /Linux

La hirarchie des rpertoires


Linux dfinit un systme de fichiers hirarchique avec un
certain nombre de rpertoires standards
/

bin

dev

fd0
csh

ls

etc

lp

home

User1
passwd

lib

User2

usr

root

Chapitre 4: Introduction au systme


dexploitation Unix /Linux

Hirarchie standard du systme de fichiers:


/: rpertoire racine
/boot: rpertoire contenant le noyau de linux.
/dev: rpertoire contenant les fichiers spciaux permettent

daccder aux priphriques.


/sbin: rpertoire contenant les commandes systmes rserves
ladministrateur.
/bin: ce rpertoire contient les commandes systmes gnrales
/lib: contient les bibliothques partages
/etc: Rpertoire contenant tous les fichiers de configuration du
systme.
/tmp: rpertoire permettant de stocker les donnes temporaires.

Chapitre 4: Introduction au systme


dexploitation Unix /Linux

/usr: programmes et utilitaires des utilisateurs et contient de

nombreux sous-rpertoire:
/usr/bin: contient lexcutable des utilitaires
exemple : (gcc -->compilateur, ls --> liste les fichiers et les
rpertoires ,etc)
/usr/sbin: les fichiers dvelopps en C , sources des programmes de
systme.
/var: Rpertoire contenant les rpertoires personnels des utilisateurs.
/root: ce rpertoire contient le rpertoire personnel de
ladministrateur.
/mnt : rserv au montage des systmes de fichiers non permanents
(Cd-ROM , disquette ..etc.)
/home : contient les rpertoires des utilisateurs

Chapitre 4: Introduction au systme


dexploitation Unix /Linux

Remarque:
Pour accder un fichier lutilisateur donne le
chemin daccs , ce dernier peut tre relatif ou
absolu:
Absolu en partant toujours de la racine de larbre.
Ex: /home/etudiant1/cours/chap1.htm
Relatif en partant du rpertoire courant
./cours/chap1.htm

Chapitre 4: Introduction au systme


dexploitation Unix /Linux

Les SGFs dUnix utilisent les structures de donnes


appeles inodes pour dfinir les fichiers.
Un inode contient toutes les informations dun fichier,
savoir :
Son propritaire et son groupe
Ses droits daccs (r/w/x)
Ses dates de cration, modification, accs.
Les blocs quil utilise.
Dautres informations utilises pour le SGF.

Chapitre 4: Introduction au systme


dexploitation Unix /Linux

Ces inodes sont stocks dans une table du systme de

fichier ce qui permet daccder trs rapidement


toutes ces informations et de retrouver galement trs
simplement ces donnes.

Chapitre 4: Introduction au systme


dexploitation Unix /Linux

Mode dexcution dun processus


Tout processus possde deux modes d excution
mode noyau

excution privilgie
aucune restriction
accs toutes les instructions sur tous les priphriques

mode utilisateur

excution normale
interruptible tout moment
doit faire un appel systme pour accder aux ressources
machine

Chapitre 4: Introduction au systme


dexploitation Unix /Linux

Les Utilisateurs dUnix


Unix est multi-utilisateurs

ncessit d'avoir un nom particulier aux yeux du systme


("login") ainsi qu'un mot de passe pour la scurit
2 types d'utilisateurs
l'utilisateur "root" : super utilisateur -> possde tous les
droits sur la machine
les autres utilisateurs (possdent des droits restreints)

Chapitre 4: Introduction au systme


dexploitation Unix /Linux

Chaque utilisateur est caractris par :


un nom ("login") et un numro d'utilisateur ("UID")
un groupe et un numro de groupe ("GID") (Un groupe

est un ensemble d utilisateurs partageant des ressources


et des privilges)
un mot de passe ("passwd")
un type de shell (= intrprteur de commandes)
un rpertoire utilisateur qui lui appartient ("home
directory")
(Rq : toutes ces informations sont stockes dans le fichier
/etc/passwd)

Chapitre 4: Introduction au systme


dexploitation Unix /Linux

Mot de passe
le mot de passe est personnel :
ne pas le divulguer
viter les mots de passe triviaux (e.g. votre nom)
utiliser des lettres (majuscules et/ou minuscules) et des
chiffres (ventuellement des caractres spciaux)
doit faire 8 lettres au minimum

Chapitre 4: Introduction au systme


dexploitation Unix /Linux

Les comptes utilisateurs et les groupes


Fichier des comptes utilisateurs /etc/passwd
Structure du fichier /etc/passwd

login password
UID GID commentaire home rep. Shell de connexion
root:CteyG32Y+,rt: 0 : 0 : Super User : / : /bin/ksh
cours1:Ae1dUIHc=: 10 : 50 :compte cours1:/home/cours1:/bin/sh
oracle_adm :ZsfAEZS - : 12 : 50 :Compte cours2:/oracle8:/bin/ksh

Fichier des groupes /etc/group


Structure du fichier /etc/group

Nom GID
liste des utilisateurs du groupe
oracle:: 50 :oracle,dba
users : : 10 : cours1, cour2, cours3

Chapitre 4: Introduction au systme


dexploitation Unix /Linux

Le rle de ladministrateur
Crer, modifier ou supprimer un utilisateur
Grer les fichiers et les disques
Surveiller l espace disque

Organiser les sauvegardes


Ajouter les priphriques
Amliorer les performances du systme
Installer de nouveaux produits
Veiller la scurit du systme
Paramtrer le dmarrage et l arrt du

systme

Chapitre 4: Introduction au systme


dexploitation Unix /Linux

Comment tre super utilisateur (root)


Connexion en tant qu utilisateur root

Login: root
password:******
#

Prise des droits de root

$ su
password:******
# exit
$