Introduction au Système d`Exploitation UNIX

Transcription

Introduction au Système d`Exploitation UNIX
Introduction au Système
d’Exploitation UNIX
Bruno Jacob
IUP MIME
Université du Maine
Introduction au Système d’Exploitation UNIX – p.1/15
Introduction
Définition d’un SE :
facilite et simplifie l’utilisation d’un ordinateur
interface entre le matériel et l’utilisateur
Le SE affranchit l’utilisateur des spécificités d’accès au
matériel par des ensembles de services.
Construction en pelures d’oignon
services
utlisateur
materiel
interpreteur
de commandes
utlisateur
Analogie : restaurant
Introduction au Système d’Exploitation UNIX – p.2/15
Historique
Le SE Unix est né d’un échec du supersystème Multics
(des Laboratoires Bell) en 1965-69.
SE plus modeste appelé Unix
Écrit en langage C
(à l’époque les SE étaient écrits en assembleur)
portabilité
installation + facile sur les machines
Introduction au Système d’Exploitation UNIX – p.3/15
Historique
ATT
(debut UNix en 1969
langage C 1973)
V6 (1975)
V7 (1979)
4.1 BSD (1981)
System III (1982)
4.2 BSD (1983)
System V (1983)
4.3 BSD (1986)
Systeme V R4 (1990)
1991 : développement de Linux (par Linus Torvalds)
2003 : 18 millions de Linux installés
Introduction au Système d’Exploitation UNIX – p.4/15
Historique
le SE est écrit dans un langage de haut niveau
(+ lent mais + portable)
accès aux sources des programmes du SE
(on peut faire évoluer le SE sur un site local sans
attendre la prochaine version)
l’interface utilisateur est simple
les appels systèmes sont réutilisables pour l’écriture de
commandes
(SE en mode texte Window en mode fenêtrage)
le SGF est hiérarchique
multi-utilisateurs et multi-tâches (temps partagé)
Introduction au Système d’Exploitation UNIX – p.5/15
Historique
Pour des raisons légales, unix peut avoir plusieurs noms
selon les constructeurs
Unix (Bell/ATT)
Aix (IBM)
Ultrics (Digital)
Xénix (pour les PC Microsoft)
Linux (version PC)
Le langage de commandes ne fait pas partie du noyau.
Dans l’organisation en pelures du SE, il fait partie de
l’enveloppe la plus externe d’où son nom de shell.
On peut changer de shell facilement
Introduction au Système d’Exploitation UNIX – p.6/15
Le langage de commandes
Plusieurs variantes, livrées en général avec le SE :
le Bourne shell sh
le C-shell csh
le tcsh (successeur de csh) tcsh
le Korn shell (successeur de Bourne) ksh
le Bash (Bourne again shell) bash
(celui par défaut sous Linux)
Le shell :
est un programme comme les autres, donc il peut être
chargé ou non par l’utilisateur
donne la possibilité de lancer les programmes de façon
synchrone ou asynchrone
Introduction au Système d’Exploitation UNIX – p.7/15
commandes
ls, cat,cp, run, ln,
wc, grep, find
librairies
standard
shell
stdio.h
autres
librairies
mathematique,
graphique...
les appels
systemes
open
fork
read
exec
Materiel
write
utilitaires
sh,sch,bash
fichiers de
commandes
pipe
close
lseek
dup
filtres
complateur(cc, gcc...)
editeurs (vi, emacs...)
sed, awk
Xwindow
xterm...
Introduction au Système d’Exploitation UNIX – p.8/15
Plan
1. Environnement utilisateur
2. Système de fichiers Unix
3. Programmation Shell
4. Filtres Unix : sed, awk
5. Quelques utilitaires d’intérêt public : gcc . . .
Introduction au Système d’Exploitation UNIX – p.9/15
Environnement utilisateur
Les utilisateurs sont rangés dans des groupes : un
utlisateurs 1 ou plusieurs groupes
liste des groupes dans /etc/group
liste des utilisateurs dans /etc/passwrd
ceci détermine les droits pour 3 classes d’utilisateurs
l’utilisateur lui-même
son groupe
les autres
Introduction au Système d’Exploitation UNIX – p.10/15
Environnement utilisateur
Ouverture (login + mot de passe)
Fermeture : important sinon très gros risques de
piratage de votre compte
logname : affiche le nom de l’utilisateur
id : affiche le UID et le GID
newgrp : pour changer de groupe (si autorisation)
echo : echo d’une ligne à l’écran
passwrd : pour changer le mot de passe
Introduction au Système d’Exploitation UNIX – p.11/15
Variables d’environnement:
$PATH
$MANPATH
$HOME
$USER
$DISPLAY
$PRINTER
...
Configuration de l’environnement
dans 2 fichiers :
/etc/bashrc et $HOME/.bashrc
Introduction au Système d’Exploitation UNIX – p.12/15
Aide en ligne :
man
info
Introduction au Système d’Exploitation UNIX – p.13/15
Système de fichers
Le système de fichiers UNIX est arborescent.
racine ‘‘/’’
chaque répertoire peut contenir des fichiers ou des
sous-répertoires
1 seul arbre général
1 disque logique = 1 sous arbre. Il est rattaché à l’arbre
général
automatiquement au démarrage
par l’utilisateur avec mount
Introduction au Système d’Exploitation UNIX – p.14/15
Système de fichiers
Accès à un fichier en indiquant le chemin où il se trouve
dans l’arbre
chemin absolu : à partir de la racine (‘‘/’’)
chemin relatif au répertoire d’acceil (‘‘ ’’)
chemin relatif au répertoire courant (‘‘.’’)
Introduction au Système d’Exploitation UNIX – p.15/15