SlideShare ist ein Scribd-Unternehmen logo
1 von 18
Downloaden Sie, um offline zu lesen
Cours de Systèmes d'Exploitation
Université de Valenciennes - ISTV -1- H.Bourzoufi
Cours de Systèmes d'Exploitation (Unix)
H.Bourzoufi
Cours de Systèmes d'Exploitation
Université de Valenciennes - ISTV -2- H.Bourzoufi
Caractéristiques d'UNIX
q Portabilité (écrit en C)
q Multi-utilisteurs Plusieurs utilisateurs peuvent se
connecter et travailler en même temps.
Chaque utilisateur a son environnement personnel.
q Multi-tâches Un même utilisateur peut lancer plusieurs
travaux simultanément.
q Interactif Il est possible de dialoguer avec l'ordinateur.
Possibilité aussi de lancer des processus (tâches) en arrière
plan et en mode différé (batch).
q Un système de fichiers hiérarchisé
(Organisation arborescente)
q Un mécanisme de protection
- identification des utilisateurs
par mot de passe
- protection des fichiers
- Un super-utilisateur
q Une vision simplifiée par l'utilisateur des entrées-
sorties Les périphériques sont représentés par des noms de
fichier, et peuvent être utilisés comme des fichiers ordinaires)
q Le choix d’un langage de commandes :
Les shells.
Cours de Systèmes d'Exploitation
Université de Valenciennes - ISTV -3- H.Bourzoufi
Structure du système UNIX
Matériel
NOYAU
APPLICATION
SHELL
UTILITAIRES
q Le noyau gére les tâches de base du système :
½ L'initialisation du système
½ La gestion des ressources
½ La gestion des processus
½ La gestion des fichiers
½ La gestion des Entrées/Sorties
q L’utilisateur communique avec le noyau par
l'intermédiaire d'un SHELL. Les shells sont aussi des
langages de commandes et de programmation.
q Les shells les plus connus sont :
BOURNE SHELL KORN-SHELL
C-SHELL TC-SHELL
q Les utilitaires sont des outils d'interfaçage avec le
système, de programmation et de communication.
Cours de Systèmes d'Exploitation
Université de Valenciennes - ISTV -4- H.Bourzoufi
UNE SESSION UNIX
q Etablir une connexion
Login : dupont
password : mot de passe sans écho
Exécution du fichier d'initialisation ".login"
/users/licinfo/linf01 % Le prompt
( La connexion est effectuée,
le système attend les commandes)
q Quelques commandes simples :
date ; cal Date; calendrier
who Qui est connecté?
logname; pwd Qui suis je?; Où suis je ?
tty nom du terminal
passwd Changer le mot de passe
q Dialoguer avec un autre utilisateur
½ Partage des fichiers
½ messagerie : write, mail
write nom_de_utilisateur
ceci est un essai
.....
Ctrl D (termine le message)
mail nom_de_utilisateur
subject :
Bonjour,
Ceci est un essai,
. (termine le message)
Pour consulter sa boîte aux lettres : mail
Cours de Systèmes d'Exploitation
Université de Valenciennes - ISTV -5- H.Bourzoufi
LES FICHIERS UNIX
q Un fichier dans UNIX est une séquence d'octets, le
noyau n'impose aucune structure spécifique aux
fichiers.
q Le rôle d'un fichier est de conserver, de traiter et
transmettre de l'information.
q Différents types de fichiers
Ordinaires (ascii ou binaires)
répertoires ( contiennent des noms de fichiers
et/ou de catalogues)
SpéciauxIls sont associés aux périphériques
Ex : disques, imprimantes, terminaux
Les filtres : permettent la communications entre processus
Cours de Systèmes d'Exploitation
Université de Valenciennes - ISTV -6- H.Bourzoufi
Organisation des fichiers
dev
/
Racine
etc usr unixusers
licinfo minfo
linf01
Espace de travail
de linf01
bin
/dev contient les fichiers associés aux périphériques :
Ex : lp : imprimante
ttyn terminal n° n
hkn disque dur n° n
mtn bande magnétiques n° n
/etc contient les fichiers d'administration
/bin contient les commandes Unix
/usr commandes et bibliothèques supplémentaires
/users répertoire des utilisateurs
/unix fichiers systèmes
Remarque : Unix possède un seul système de fichiers
DEPLACEMENT DANS LE
Cours de Systèmes d'Exploitation
Université de Valenciennes - ISTV -7- H.Bourzoufi
SYSTEME DE FICHIERS
q A la connexion, l'utilisateur est automatiquement positionné
dans son répertoire de connexion .
Ex : /users/deustiosi/iosi01
q Pour se déplacer dans la hiérarchie :
cd <nom_répertoire>
½ nom_répertoire peut être absolu ou relatif :
absolu : préciser tout le chemin
relatif : par rapport au répertoire courant
Ex : cd /users/deustiosi (chemin absolu)
cd iosi01 (chemin relatif)
Remarque: un nom absolu commence toujours par "/".
q Quelques commandes simples
pwd affiche le répertoire courant
cd retour au répertoire de connexion
cd .. monter d'un niveau dans la hiérarchie
cd ../.. monter de 2 niveaux dans la hiérarchie
la caractère "." désigne le répertoire courant.
Cours de Systèmes d'Exploitation
Université de Valenciennes - ISTV -8- H.Bourzoufi
Principales commandes sur les fichiers
q Opérations de base sur les répertoires
½ Affichage du contenu d'un répertoire :
commande : ls [options] <nom_répertoire>
l’option -l permet d'obtenir l'ensemble des informations relatives à
chaque fichier du répertoire :
- type de fichier : "-" (fichier ordinaire),
"d" (répertoire),
"b ou c " (fichiers spéciaux)
- droits d'accès
- nom du propriétaire
- nombre de liens
- taille
- nom
- date de création
.........
L'option -R permet d'afficher récursivement le contenu d'un
répertoire.
Exemple: ls / (afficher les répertoires à la racine)
dev bin usr users etc unix ...
ls -R /
/dev :
liste des fichiers dans /dev
/bin :
liste des fichiers dans /bin
/users :
/deustiosi :
/iosi01 :
/iosi02 ........
/minfo :
/minf01 ...........
Principales commandes sur les fichiers
Cours de Systèmes d'Exploitation
Université de Valenciennes - ISTV -9- H.Bourzoufi
q Opérations de base sur les répertoires
½ Création d'un répertoire
mkdir <nom_répertoire>
rmdir <nom_répertoire> Supprime un
répertoire vide.
rm -R <nom_répertoire> supprime tout le
répertoire.
½ Montage d'un système de fichiers
Il est possible d'ajouter un système de fichiers extérieur en
l'insérant dans la hiérarchie.
les commandes mount et unmount permettent de démonter et de
démonter un système de fichiers.
=> L'ajout d'une mémoire de masse est transparent pour
l'utilisateur.
Cours de Systèmes d'Exploitation
Université de Valenciennes - ISTV -10- H.Bourzoufi
Principales commandes sur les fichiers
q Opérations de base sur les fichiers
½ Visualisation du contenu d’un fichier
cat <nom_fichier>
more <nom_fichier>
½ Renommage et déplacement d'un fichier
mv <source> <destination>
mv essai.c tp1.c (renommage)
mv tp TPSE (déplacement )
mv tp TPSE/tp2 (déplacement et renommage)
½ Copie d’un fichier
cp <source> <destination>
½ Création de liens sur un fichier
ln <ancien> <nouveau>
½ Suppression d'un fichier
rm <nom_fichier>
Ex : rm *.o supprimer tous les fichiers
d’extension ".o"
rm a* supprimer tous les fichiers dont
le nom commence par "a"
rm * supprime tous les fichiers
rm *.? supprimer tous les fichiers ayant
une extension d’une lettre.
* : une chaîne quelconque de caractères
? : un caractère quelconque
Cours de Systèmes d'Exploitation
Université de Valenciennes - ISTV -11- H.Bourzoufi
AUTRES COMMANDES UTILES
touch créer un fichier
wc donne le nombre de caractères (-c),
de mots (-w) ou de lignes (-l)
sort permet de trier par ordre alphabétique
les lignes d'un fichier.
grep recherche d'un motif dans un fichier
Exemple: grep printf essai.c
grep -l printf *.c (affiche la liste
des fichiers contenant "printf").
head afficher les premières lignes
tail afficher les dernières lignes
diff permet de comparer deux fichiers
find permet de recherche un fichier
lpr imprimer un fichier
lpq afficher les fichiers en attente
d’impression.
lprm détruire des fichiers en attente
d'impression.
man(Très utile) donne le manuel
d'utilisation d'une commande.
Cours de Systèmes d'Exploitation
Université de Valenciennes - ISTV -12- H.Bourzoufi
PROTECTION DES FICHIERS
q L'accès aux fichiers est déterminé par trois bits de
permission: r w x (Read, Write, eXecute) applicables à
trois classes d'utilisateurs : u g o le propriétaire, le
groupe et les autres (Users, Group, Others).
½ mode symbolique
chmod <qui><permission><opération><fichier>
<qui> valant :
u: utilisateur g: groupe o:autres et a :tous
<permission> :
+ : pour autoriser - : pour interdire
<opération> :
r : lecture w : écriture x : exécution
Exemples
chmod g+w montp.c (les membres du groupe peuvent
écrire dans le fichier "montp.c")
chmod og-rwx montp.c (protection en lecture, écriture et
exécution)
½ mode octal
chmod <permission><fichier>
permission : UGO (User,Group ,Others : chiffre octal
codant les bits r w x)
Exemple
chmod 740 montp
(rend le fichier accessible en lecture au groupe et
inaccessible aux autres)
Cours de Systèmes d'Exploitation
Université de Valenciennes - ISTV -13- H.Bourzoufi
LES PROCESSUS UNIX
q Le processus est l'entité d'exécution dans le système
UNIX.
Toute activité dans UNIX correspond
à un processus
q Dans UNIX, il existe deux types de processus :
- Processus système
(Ex : swapper, crons, getty ....)
- Processus utilisateur qui correspondent à
l'exécution d'une commande ou d'une application.
q Chaque processus est identifié par un numéro : PID
(Process IDentifier)
q La commande ps donne la liste des processus
Cours de Systèmes d'Exploitation
Université de Valenciennes - ISTV -14- H.Bourzoufi
LES PROCESSUS UNIX(suite)
q La création d'un processus se fait par dédoublement :
Un processus est toujours créé par un autre processus
par le mécanisme de fourche "fork".
q On appelle le processus créateur processus père. Le
processus créé est appelé processus fils .
fork()
Processus fils
processus père
Processus en
cours d'exécution
synchronisation
wait() exit ()
q L'appel système FORK crée une copie exacte du
processus original (L'appelant).
q La valeur de retour de la fonction FORK est 0 pour le
processus fils et est égale au PID du fils dans le
processus père.
q Le processus fils peut exécuter un nouveau code à
l'aide des primitives EXEC.
Cours de Systèmes d'Exploitation
Université de Valenciennes - ISTV -15- H.Bourzoufi
LES PROCESSUS UNIX(suite)
q Les fichiers standard et leur redirection
On peut assimiler un processus à un objet abstrait qui
dispose de 3 flus d'informations :
flus en entrée
Entrée standard
flus en sortie
(stdin)
Sortie standard
sortie erreur standard
0 1
2
Signaux
Redirection de l'entrée standard
- commande < nom_de_fichier
L'entrée standard est redirigée sur le fichier de référence
nom_de_fichier.
Redirection de la sortie standard
- commande > nom_de_fichier
- commande >> nom_de_fichier
(redirection sans écrasement)
Redirection de la sortie en erreur standard
- commande 2> nom_de_fichier (en Bourne Shell)
- commande >& nom_de_fichier (en c-shell)
Cours de Systèmes d'Exploitation
Université de Valenciennes - ISTV -16- H.Bourzoufi
q Espace d’adressage d’un processus
Tout processus UNIX a un espace d'adressage constitué de
trois segments : code, données et pile :
code
pile
données
Les instructions qui forment
le programme
pile d'exécution
données statiques et dynamiques
du programme
q Contexte d’un processus
Le contexte d’un processus comprend :
½ le contenu de son espace d’adressage ,
½ les contenus des registres matériels,
½ les structures de données du noyau qui ont un rapport
avec le processus.
q Le système effectue un changement de contexte dans
les circonstances :
- le processus se met lui-même en sommeil
- le processus fait un exit
- le processus revient d'un appel système au mode utilisateur
alors qu'il n'est pas le processus le plus éligible en vue d'une
exécution.
Cours de Systèmes d'Exploitation
Université de Valenciennes - ISTV -17- H.Bourzoufi
q Etats et transitions d’un processus
La durée de vie d'un processus peut être conceptuellement
divisée en 3 principaux états qui décrivent le processus:
Elu
Bloqué
Prêt
(éligible)
1 2
3
4
L'état Elu : le processus dispose de toutes les ressources
dont il a besoin.
L'état bloqué : le processus dispose de toutes les
ressources dont il a besoin à l'exception de l'UC.
L'état Bloqué : le processus se met en attente d’un
évènement extérieur.
Un processus Unix passe par d'autres états intermédiaires
:
- processus s'exécutant en mode noyau,
- processus s'exécutant en mode utilisateur,
- processus résidant en mémoire principale,
- processus en cours de création
- processus en cours de terminaison (Zombie).
- . . .
Création des processus dans UNIX
Cours de Systèmes d'Exploitation
Université de Valenciennes - ISTV -18- H.Bourzoufi
Processus init
swaper cron getty getty getty
login
shell
emacs netscape shell
Processus système
Processus utilisateur

Weitere ähnliche Inhalte

Was ist angesagt?

Administration reseau linux
Administration reseau linuxAdministration reseau linux
Administration reseau linux
Riadh Briki
 
Cours linux complet
Cours linux completCours linux complet
Cours linux complet
aubin82
 
Admin linux
Admin linuxAdmin linux
Admin linux
bekhti
 

Was ist angesagt? (20)

Tp n 5 linux
Tp n 5 linuxTp n 5 linux
Tp n 5 linux
 
Initiation Linux
Initiation LinuxInitiation Linux
Initiation Linux
 
Présentation unix linux
Présentation unix linuxPrésentation unix linux
Présentation unix linux
 
les Commandes linux/Unix (giants networks)
les Commandes linux/Unix (giants networks)les Commandes linux/Unix (giants networks)
les Commandes linux/Unix (giants networks)
 
s de base
s de bases de base
s de base
 
Tp n 4 linux
Tp n 4 linuxTp n 4 linux
Tp n 4 linux
 
Notes de cours et tp - Administation Systèmes
Notes de cours et tp  - Administation Systèmes Notes de cours et tp  - Administation Systèmes
Notes de cours et tp - Administation Systèmes
 
lpi 101 notes de cours
lpi 101 notes de courslpi 101 notes de cours
lpi 101 notes de cours
 
Administration reseau linux
Administration reseau linuxAdministration reseau linux
Administration reseau linux
 
Tp n 1 linux
Tp n 1 linuxTp n 1 linux
Tp n 1 linux
 
Linux commandes
Linux commandesLinux commandes
Linux commandes
 
Cours linux complet
Cours linux completCours linux complet
Cours linux complet
 
Ch1 p1
Ch1 p1Ch1 p1
Ch1 p1
 
Admin linux
Admin linuxAdmin linux
Admin linux
 
system de gestion Nfs (Network File System)
system de gestion Nfs (Network File System)system de gestion Nfs (Network File System)
system de gestion Nfs (Network File System)
 
Présentation Unix/Linux (mise à jour 2016)
Présentation Unix/Linux (mise à jour 2016)Présentation Unix/Linux (mise à jour 2016)
Présentation Unix/Linux (mise à jour 2016)
 
Guide complet linux
Guide complet linuxGuide complet linux
Guide complet linux
 
Linux Administrateur
Linux AdministrateurLinux Administrateur
Linux Administrateur
 
Hdfs
HdfsHdfs
Hdfs
 
Linux Scripting
Linux Scripting Linux Scripting
Linux Scripting
 

Andere mochten auch

Architecture de la jvm deuxieme partie
Architecture de la jvm deuxieme partieArchitecture de la jvm deuxieme partie
Architecture de la jvm deuxieme partie
Michael Njong
 
Finance: Etude relative aux rapports des Présidents sur les procédures de con...
Finance: Etude relative aux rapports des Présidents sur les procédures de con...Finance: Etude relative aux rapports des Présidents sur les procédures de con...
Finance: Etude relative aux rapports des Présidents sur les procédures de con...
Groupe SFC, cabinet d'expertise comptable
 
Fr 8 eh-culture-guiana
Fr 8 eh-culture-guianaFr 8 eh-culture-guiana
Fr 8 eh-culture-guiana
am321428
 

Andere mochten auch (20)

Каталог обуви Легпромресурс
Каталог обуви ЛегпромресурсКаталог обуви Легпромресурс
Каталог обуви Легпромресурс
 
Capitulo1
Capitulo1Capitulo1
Capitulo1
 
Paille qualite[1]
Paille qualite[1]Paille qualite[1]
Paille qualite[1]
 
Encimera AEG HKP65310FB
Encimera AEG HKP65310FBEncimera AEG HKP65310FB
Encimera AEG HKP65310FB
 
Architecture de la jvm deuxieme partie
Architecture de la jvm deuxieme partieArchitecture de la jvm deuxieme partie
Architecture de la jvm deuxieme partie
 
Ktdra slide
Ktdra slide Ktdra slide
Ktdra slide
 
Finance: Etude relative aux rapports des Présidents sur les procédures de con...
Finance: Etude relative aux rapports des Présidents sur les procédures de con...Finance: Etude relative aux rapports des Présidents sur les procédures de con...
Finance: Etude relative aux rapports des Présidents sur les procédures de con...
 
Présentation salon symposium 2014
Présentation salon symposium 2014Présentation salon symposium 2014
Présentation salon symposium 2014
 
Virilio, "Ciudad Pánico".
Virilio, "Ciudad Pánico".Virilio, "Ciudad Pánico".
Virilio, "Ciudad Pánico".
 
Proyecto formato
Proyecto formatoProyecto formato
Proyecto formato
 
Essaie 1
Essaie 1Essaie 1
Essaie 1
 
(Web semántica y educación)
(Web semántica y educación)(Web semántica y educación)
(Web semántica y educación)
 
Social: Comprendre la réforme
Social: Comprendre la réforme Social: Comprendre la réforme
Social: Comprendre la réforme
 
Turismo y Gastronomía: Buscando posicionamiento en internet. Andoni Munduate ...
Turismo y Gastronomía: Buscando posicionamiento en internet. Andoni Munduate ...Turismo y Gastronomía: Buscando posicionamiento en internet. Andoni Munduate ...
Turismo y Gastronomía: Buscando posicionamiento en internet. Andoni Munduate ...
 
ADN d’un entrepreneur - Enquête Hiscox 2014
ADN d’un entrepreneur - Enquête Hiscox 2014ADN d’un entrepreneur - Enquête Hiscox 2014
ADN d’un entrepreneur - Enquête Hiscox 2014
 
Atelier numérique : Améliorez votre site internet - 03/12/2015
Atelier numérique : Améliorez votre site internet - 03/12/2015Atelier numérique : Améliorez votre site internet - 03/12/2015
Atelier numérique : Améliorez votre site internet - 03/12/2015
 
Clase 1geraldincardona
Clase 1geraldincardonaClase 1geraldincardona
Clase 1geraldincardona
 
Restrepo, "Cuestión de Etica".
Restrepo, "Cuestión de Etica".Restrepo, "Cuestión de Etica".
Restrepo, "Cuestión de Etica".
 
Fr 8 eh-culture-guiana
Fr 8 eh-culture-guianaFr 8 eh-culture-guiana
Fr 8 eh-culture-guiana
 
Nina et Paris
Nina et ParisNina et Paris
Nina et Paris
 

Ähnlich wie Processus pére fils

Module x4 i0010_systemes_dexploitation_pl
Module x4 i0010_systemes_dexploitation_plModule x4 i0010_systemes_dexploitation_pl
Module x4 i0010_systemes_dexploitation_pl
ElArbiAbdellaouiAlao
 
Cmd dos sous windows
Cmd dos sous windowsCmd dos sous windows
Cmd dos sous windows
Selman Dridi
 
Administration linux
Administration linuxAdministration linux
Administration linux
Lys Lopy
 

Ähnlich wie Processus pére fils (20)

Notions sur le commandes linux
Notions sur le commandes linux Notions sur le commandes linux
Notions sur le commandes linux
 
0079-cours-linux-base.ppt
0079-cours-linux-base.ppt0079-cours-linux-base.ppt
0079-cours-linux-base.ppt
 
0079-cours-linux-base.ppt
0079-cours-linux-base.ppt0079-cours-linux-base.ppt
0079-cours-linux-base.ppt
 
Module x4 i0010_systemes_dexploitation_pl
Module x4 i0010_systemes_dexploitation_plModule x4 i0010_systemes_dexploitation_pl
Module x4 i0010_systemes_dexploitation_pl
 
cours-gratuit.com--id-3443.pdf
cours-gratuit.com--id-3443.pdfcours-gratuit.com--id-3443.pdf
cours-gratuit.com--id-3443.pdf
 
Cours_Linux_S1_Partie 2.pptx
Cours_Linux_S1_Partie 2.pptxCours_Linux_S1_Partie 2.pptx
Cours_Linux_S1_Partie 2.pptx
 
cours-Linux.PPT
cours-Linux.PPTcours-Linux.PPT
cours-Linux.PPT
 
Unix 1.pdf
Unix 1.pdfUnix 1.pdf
Unix 1.pdf
 
Petit precis des_commandes_unix_utiles_a_ubuntu
Petit precis des_commandes_unix_utiles_a_ubuntuPetit precis des_commandes_unix_utiles_a_ubuntu
Petit precis des_commandes_unix_utiles_a_ubuntu
 
Cmd dos sous windows
Cmd dos sous windowsCmd dos sous windows
Cmd dos sous windows
 
Manip fichier
Manip fichierManip fichier
Manip fichier
 
Bash bonnes pratiques
Bash bonnes pratiquesBash bonnes pratiques
Bash bonnes pratiques
 
Support formation vidéo : Réussir la certification Linux LPIC-1 (2)
Support formation vidéo : Réussir la certification Linux LPIC-1 (2)Support formation vidéo : Réussir la certification Linux LPIC-1 (2)
Support formation vidéo : Réussir la certification Linux LPIC-1 (2)
 
Chap3 Communication Inter Processus.pptx
Chap3 Communication Inter Processus.pptxChap3 Communication Inter Processus.pptx
Chap3 Communication Inter Processus.pptx
 
Administration linux
Administration linuxAdministration linux
Administration linux
 
Cours SE Le système Linux : La ligne de commande bash - IG IPSET
Cours SE Le système Linux : La ligne de commande bash - IG IPSETCours SE Le système Linux : La ligne de commande bash - IG IPSET
Cours SE Le système Linux : La ligne de commande bash - IG IPSET
 
C1 linux et intro c
C1 linux et intro cC1 linux et intro c
C1 linux et intro c
 
C1 linux et intro c
C1 linux et intro cC1 linux et intro c
C1 linux et intro c
 
programmation_shell_2022 (1).pptx
programmation_shell_2022 (1).pptxprogrammation_shell_2022 (1).pptx
programmation_shell_2022 (1).pptx
 
Linux_Cours.ppt
Linux_Cours.pptLinux_Cours.ppt
Linux_Cours.ppt
 

Mehr von Selman Dridi

Systémes d'exploitation
Systémes d'exploitationSystémes d'exploitation
Systémes d'exploitation
Selman Dridi
 
Ordonnancement exercices
Ordonnancement exercicesOrdonnancement exercices
Ordonnancement exercices
Selman Dridi
 
Ordinnancement des processus
Ordinnancement des processusOrdinnancement des processus
Ordinnancement des processus
Selman Dridi
 

Mehr von Selman Dridi (7)

Systémes d'exploitation
Systémes d'exploitationSystémes d'exploitation
Systémes d'exploitation
 
Ordonnancement exercices
Ordonnancement exercicesOrdonnancement exercices
Ordonnancement exercices
 
Ordinnancement des processus
Ordinnancement des processusOrdinnancement des processus
Ordinnancement des processus
 
Cours se chap3_2
Cours se chap3_2Cours se chap3_2
Cours se chap3_2
 
Cours se chap3
Cours se chap3Cours se chap3
Cours se chap3
 
Cours se chap1_2
Cours se chap1_2Cours se chap1_2
Cours se chap1_2
 
Cours se chap1
Cours se chap1Cours se chap1
Cours se chap1
 

Processus pére fils

  • 1. Cours de Systèmes d'Exploitation Université de Valenciennes - ISTV -1- H.Bourzoufi Cours de Systèmes d'Exploitation (Unix) H.Bourzoufi
  • 2. Cours de Systèmes d'Exploitation Université de Valenciennes - ISTV -2- H.Bourzoufi Caractéristiques d'UNIX q Portabilité (écrit en C) q Multi-utilisteurs Plusieurs utilisateurs peuvent se connecter et travailler en même temps. Chaque utilisateur a son environnement personnel. q Multi-tâches Un même utilisateur peut lancer plusieurs travaux simultanément. q Interactif Il est possible de dialoguer avec l'ordinateur. Possibilité aussi de lancer des processus (tâches) en arrière plan et en mode différé (batch). q Un système de fichiers hiérarchisé (Organisation arborescente) q Un mécanisme de protection - identification des utilisateurs par mot de passe - protection des fichiers - Un super-utilisateur q Une vision simplifiée par l'utilisateur des entrées- sorties Les périphériques sont représentés par des noms de fichier, et peuvent être utilisés comme des fichiers ordinaires) q Le choix d’un langage de commandes : Les shells.
  • 3. Cours de Systèmes d'Exploitation Université de Valenciennes - ISTV -3- H.Bourzoufi Structure du système UNIX Matériel NOYAU APPLICATION SHELL UTILITAIRES q Le noyau gére les tâches de base du système : ½ L'initialisation du système ½ La gestion des ressources ½ La gestion des processus ½ La gestion des fichiers ½ La gestion des Entrées/Sorties q L’utilisateur communique avec le noyau par l'intermédiaire d'un SHELL. Les shells sont aussi des langages de commandes et de programmation. q Les shells les plus connus sont : BOURNE SHELL KORN-SHELL C-SHELL TC-SHELL q Les utilitaires sont des outils d'interfaçage avec le système, de programmation et de communication.
  • 4. Cours de Systèmes d'Exploitation Université de Valenciennes - ISTV -4- H.Bourzoufi UNE SESSION UNIX q Etablir une connexion Login : dupont password : mot de passe sans écho Exécution du fichier d'initialisation ".login" /users/licinfo/linf01 % Le prompt ( La connexion est effectuée, le système attend les commandes) q Quelques commandes simples : date ; cal Date; calendrier who Qui est connecté? logname; pwd Qui suis je?; Où suis je ? tty nom du terminal passwd Changer le mot de passe q Dialoguer avec un autre utilisateur ½ Partage des fichiers ½ messagerie : write, mail write nom_de_utilisateur ceci est un essai ..... Ctrl D (termine le message) mail nom_de_utilisateur subject : Bonjour, Ceci est un essai, . (termine le message) Pour consulter sa boîte aux lettres : mail
  • 5. Cours de Systèmes d'Exploitation Université de Valenciennes - ISTV -5- H.Bourzoufi LES FICHIERS UNIX q Un fichier dans UNIX est une séquence d'octets, le noyau n'impose aucune structure spécifique aux fichiers. q Le rôle d'un fichier est de conserver, de traiter et transmettre de l'information. q Différents types de fichiers Ordinaires (ascii ou binaires) répertoires ( contiennent des noms de fichiers et/ou de catalogues) SpéciauxIls sont associés aux périphériques Ex : disques, imprimantes, terminaux Les filtres : permettent la communications entre processus
  • 6. Cours de Systèmes d'Exploitation Université de Valenciennes - ISTV -6- H.Bourzoufi Organisation des fichiers dev / Racine etc usr unixusers licinfo minfo linf01 Espace de travail de linf01 bin /dev contient les fichiers associés aux périphériques : Ex : lp : imprimante ttyn terminal n° n hkn disque dur n° n mtn bande magnétiques n° n /etc contient les fichiers d'administration /bin contient les commandes Unix /usr commandes et bibliothèques supplémentaires /users répertoire des utilisateurs /unix fichiers systèmes Remarque : Unix possède un seul système de fichiers DEPLACEMENT DANS LE
  • 7. Cours de Systèmes d'Exploitation Université de Valenciennes - ISTV -7- H.Bourzoufi SYSTEME DE FICHIERS q A la connexion, l'utilisateur est automatiquement positionné dans son répertoire de connexion . Ex : /users/deustiosi/iosi01 q Pour se déplacer dans la hiérarchie : cd <nom_répertoire> ½ nom_répertoire peut être absolu ou relatif : absolu : préciser tout le chemin relatif : par rapport au répertoire courant Ex : cd /users/deustiosi (chemin absolu) cd iosi01 (chemin relatif) Remarque: un nom absolu commence toujours par "/". q Quelques commandes simples pwd affiche le répertoire courant cd retour au répertoire de connexion cd .. monter d'un niveau dans la hiérarchie cd ../.. monter de 2 niveaux dans la hiérarchie la caractère "." désigne le répertoire courant.
  • 8. Cours de Systèmes d'Exploitation Université de Valenciennes - ISTV -8- H.Bourzoufi Principales commandes sur les fichiers q Opérations de base sur les répertoires ½ Affichage du contenu d'un répertoire : commande : ls [options] <nom_répertoire> l’option -l permet d'obtenir l'ensemble des informations relatives à chaque fichier du répertoire : - type de fichier : "-" (fichier ordinaire), "d" (répertoire), "b ou c " (fichiers spéciaux) - droits d'accès - nom du propriétaire - nombre de liens - taille - nom - date de création ......... L'option -R permet d'afficher récursivement le contenu d'un répertoire. Exemple: ls / (afficher les répertoires à la racine) dev bin usr users etc unix ... ls -R / /dev : liste des fichiers dans /dev /bin : liste des fichiers dans /bin /users : /deustiosi : /iosi01 : /iosi02 ........ /minfo : /minf01 ........... Principales commandes sur les fichiers
  • 9. Cours de Systèmes d'Exploitation Université de Valenciennes - ISTV -9- H.Bourzoufi q Opérations de base sur les répertoires ½ Création d'un répertoire mkdir <nom_répertoire> rmdir <nom_répertoire> Supprime un répertoire vide. rm -R <nom_répertoire> supprime tout le répertoire. ½ Montage d'un système de fichiers Il est possible d'ajouter un système de fichiers extérieur en l'insérant dans la hiérarchie. les commandes mount et unmount permettent de démonter et de démonter un système de fichiers. => L'ajout d'une mémoire de masse est transparent pour l'utilisateur.
  • 10. Cours de Systèmes d'Exploitation Université de Valenciennes - ISTV -10- H.Bourzoufi Principales commandes sur les fichiers q Opérations de base sur les fichiers ½ Visualisation du contenu d’un fichier cat <nom_fichier> more <nom_fichier> ½ Renommage et déplacement d'un fichier mv <source> <destination> mv essai.c tp1.c (renommage) mv tp TPSE (déplacement ) mv tp TPSE/tp2 (déplacement et renommage) ½ Copie d’un fichier cp <source> <destination> ½ Création de liens sur un fichier ln <ancien> <nouveau> ½ Suppression d'un fichier rm <nom_fichier> Ex : rm *.o supprimer tous les fichiers d’extension ".o" rm a* supprimer tous les fichiers dont le nom commence par "a" rm * supprime tous les fichiers rm *.? supprimer tous les fichiers ayant une extension d’une lettre. * : une chaîne quelconque de caractères ? : un caractère quelconque
  • 11. Cours de Systèmes d'Exploitation Université de Valenciennes - ISTV -11- H.Bourzoufi AUTRES COMMANDES UTILES touch créer un fichier wc donne le nombre de caractères (-c), de mots (-w) ou de lignes (-l) sort permet de trier par ordre alphabétique les lignes d'un fichier. grep recherche d'un motif dans un fichier Exemple: grep printf essai.c grep -l printf *.c (affiche la liste des fichiers contenant "printf"). head afficher les premières lignes tail afficher les dernières lignes diff permet de comparer deux fichiers find permet de recherche un fichier lpr imprimer un fichier lpq afficher les fichiers en attente d’impression. lprm détruire des fichiers en attente d'impression. man(Très utile) donne le manuel d'utilisation d'une commande.
  • 12. Cours de Systèmes d'Exploitation Université de Valenciennes - ISTV -12- H.Bourzoufi PROTECTION DES FICHIERS q L'accès aux fichiers est déterminé par trois bits de permission: r w x (Read, Write, eXecute) applicables à trois classes d'utilisateurs : u g o le propriétaire, le groupe et les autres (Users, Group, Others). ½ mode symbolique chmod <qui><permission><opération><fichier> <qui> valant : u: utilisateur g: groupe o:autres et a :tous <permission> : + : pour autoriser - : pour interdire <opération> : r : lecture w : écriture x : exécution Exemples chmod g+w montp.c (les membres du groupe peuvent écrire dans le fichier "montp.c") chmod og-rwx montp.c (protection en lecture, écriture et exécution) ½ mode octal chmod <permission><fichier> permission : UGO (User,Group ,Others : chiffre octal codant les bits r w x) Exemple chmod 740 montp (rend le fichier accessible en lecture au groupe et inaccessible aux autres)
  • 13. Cours de Systèmes d'Exploitation Université de Valenciennes - ISTV -13- H.Bourzoufi LES PROCESSUS UNIX q Le processus est l'entité d'exécution dans le système UNIX. Toute activité dans UNIX correspond à un processus q Dans UNIX, il existe deux types de processus : - Processus système (Ex : swapper, crons, getty ....) - Processus utilisateur qui correspondent à l'exécution d'une commande ou d'une application. q Chaque processus est identifié par un numéro : PID (Process IDentifier) q La commande ps donne la liste des processus
  • 14. Cours de Systèmes d'Exploitation Université de Valenciennes - ISTV -14- H.Bourzoufi LES PROCESSUS UNIX(suite) q La création d'un processus se fait par dédoublement : Un processus est toujours créé par un autre processus par le mécanisme de fourche "fork". q On appelle le processus créateur processus père. Le processus créé est appelé processus fils . fork() Processus fils processus père Processus en cours d'exécution synchronisation wait() exit () q L'appel système FORK crée une copie exacte du processus original (L'appelant). q La valeur de retour de la fonction FORK est 0 pour le processus fils et est égale au PID du fils dans le processus père. q Le processus fils peut exécuter un nouveau code à l'aide des primitives EXEC.
  • 15. Cours de Systèmes d'Exploitation Université de Valenciennes - ISTV -15- H.Bourzoufi LES PROCESSUS UNIX(suite) q Les fichiers standard et leur redirection On peut assimiler un processus à un objet abstrait qui dispose de 3 flus d'informations : flus en entrée Entrée standard flus en sortie (stdin) Sortie standard sortie erreur standard 0 1 2 Signaux Redirection de l'entrée standard - commande < nom_de_fichier L'entrée standard est redirigée sur le fichier de référence nom_de_fichier. Redirection de la sortie standard - commande > nom_de_fichier - commande >> nom_de_fichier (redirection sans écrasement) Redirection de la sortie en erreur standard - commande 2> nom_de_fichier (en Bourne Shell) - commande >& nom_de_fichier (en c-shell)
  • 16. Cours de Systèmes d'Exploitation Université de Valenciennes - ISTV -16- H.Bourzoufi q Espace d’adressage d’un processus Tout processus UNIX a un espace d'adressage constitué de trois segments : code, données et pile : code pile données Les instructions qui forment le programme pile d'exécution données statiques et dynamiques du programme q Contexte d’un processus Le contexte d’un processus comprend : ½ le contenu de son espace d’adressage , ½ les contenus des registres matériels, ½ les structures de données du noyau qui ont un rapport avec le processus. q Le système effectue un changement de contexte dans les circonstances : - le processus se met lui-même en sommeil - le processus fait un exit - le processus revient d'un appel système au mode utilisateur alors qu'il n'est pas le processus le plus éligible en vue d'une exécution.
  • 17. Cours de Systèmes d'Exploitation Université de Valenciennes - ISTV -17- H.Bourzoufi q Etats et transitions d’un processus La durée de vie d'un processus peut être conceptuellement divisée en 3 principaux états qui décrivent le processus: Elu Bloqué Prêt (éligible) 1 2 3 4 L'état Elu : le processus dispose de toutes les ressources dont il a besoin. L'état bloqué : le processus dispose de toutes les ressources dont il a besoin à l'exception de l'UC. L'état Bloqué : le processus se met en attente d’un évènement extérieur. Un processus Unix passe par d'autres états intermédiaires : - processus s'exécutant en mode noyau, - processus s'exécutant en mode utilisateur, - processus résidant en mémoire principale, - processus en cours de création - processus en cours de terminaison (Zombie). - . . . Création des processus dans UNIX
  • 18. Cours de Systèmes d'Exploitation Université de Valenciennes - ISTV -18- H.Bourzoufi Processus init swaper cron getty getty getty login shell emacs netscape shell Processus système Processus utilisateur