Vous êtes sur la page 1sur 18

Cours de Systmes d'Exploitation

Cours de Systmes d'Exploitation (Unix)


H.Bourzoufi

Universit de Valenciennes - ISTV

-1-

H.Bourzoufi

Cours de Systmes d'Exploitation

Caractristiques d'UNIX

q Portabilit (crit en C) q Multi-utilisteurs


Plusieurs utilisateurs connecter et travailler en mme temps. peuvent se

Chaque utilisateur a son environnement personnel.

q Multi-tches q Interactif

Un mme utilisateur peut lancer plusieurs travaux simultanment. Il est possible de dialoguer avec l'ordinateur. Possibilit aussi de lancer des processus (tches) en arrire plan et en mode diffr (batch).

q Un systme de fichiers hirarchis


(Organisation arborescente)

q Un mcanisme de protection
- identification des utilisateurs
par mot de passe - protection des fichiers - Un super-utilisateur

q Une vision simplifie par l'utilisateur des entressorties Les priphriques sont reprsents par des noms de
fichier, et peuvent tre utiliss comme des fichiers ordinaires)

q Le choix dun langage de commandes :


Les shells.

Universit de Valenciennes - ISTV

-2-

H.Bourzoufi

Cours de Systmes d'Exploitation

Structure du systme UNIX

APPLICATION NOYAU Matriel

SHELL

UTILITAIRES

q Le noyau gre les tches de base du systme :


L'initialisation du systme La gestion des ressources La gestion des processus La gestion des fichiers La gestion des Entres/Sorties

q Lutilisateur communique avec le noyau par


l'intermdiaire 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'interfaage avec le


systme, de programmation et de communication.

Universit de Valenciennes - ISTV

-3-

H.Bourzoufi

Cours de Systmes d'Exploitation

UNE SESSION UNIX

q Etablir une connexion


Login : dupont password : mot de passe sans cho
Excution du fichier d'initialisation ".login"

/users/licinfo/linf01 % Le prompt ( La connexion est effectue, le systme attend les commandes)

q Quelques commandes simples :


date ; cal who logname; pwd tty passwd Date; calendrier Qui est connect? Qui suis je?; O suis je ? nom du terminal 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 bote aux lettres : mail
Universit de Valenciennes - ISTV -4H.Bourzoufi

Cours de Systmes d'Exploitation

LES FICHIERS UNIX

q Un fichier dans UNIX est une squence d'octets, le


noyau n'impose aucune structure spcifique aux fichiers.

q Le rle d'un fichier est de conserver, de traiter et


transmettre de l'information.

q Diffrents types de fichiers


Ordinaires (ascii ou binaires) rpertoires ( contiennent des noms de fichiers et/ou de catalogues) Spciaux Ils sont associs aux priphriques
Ex : disques, imprimantes, terminaux

Les filtres : permettent la communications entre processus

Universit de Valenciennes - ISTV

-5-

H.Bourzoufi

Cours de Systmes d'Exploitation

Organisation des fichiers


/ Racine

dev

etc

usr

users

bin

unix

licinfo

minfo

linf01

Espace de travail de linf01

/dev contient les fichiers associs aux priphriques : Ex : lp : imprimante ttyn terminal n n hkn disque dur n n mtn bande magntiques n n /etc contient les fichiers d'administration /bin contient les commandes Unix /usr commandes et bibliothques supplmentaires /users rpertoire des utilisateurs /unix fichiers systmes Remarque : Unix possde un seul systme de fichiers DEPLACEMENT DANS LE
Universit de Valenciennes - ISTV -6H.Bourzoufi

Cours de Systmes d'Exploitation

SYSTEME DE FICHIERS

A la connexion, l'utilisateur est automatiquement positionn dans son rpertoire de connexion .

Ex : /users/deustiosi/iosi01

q Pour se dplacer dans la hirarchie :


cd <nom_rpertoire>
nom_rpertoire peut tre absolu ou relatif : absolu : prciser tout le chemin relatif : par rapport au rpertoire courant Ex : cd /users/deustiosi cd iosi01 (chemin absolu) (chemin relatif)

Remarque: un nom absolu commence toujours par "/".

q Quelques commandes simples


pwd affiche le rpertoire courant cd retour au rpertoire de connexion cd .. monter d'un niveau dans la hirarchie cd ../.. monter de 2 niveaux dans la hirarchie la caractre "." dsigne le rpertoire courant.

Universit de Valenciennes - ISTV

-7-

H.Bourzoufi

Cours de Systmes d'Exploitation

Principales commandes sur les fichiers

q Oprations de base sur les rpertoires


Affichage du contenu d'un rpertoire : commande : ls [options] <nom_rpertoire>
loption -l permet d'obtenir l'ensemble des informations relatives chaque fichier du rpertoire : - type de fichier : "-" (fichier ordinaire), "d" (rpertoire), "b ou c " (fichiers spciaux) - droits d'accs - nom du propritaire - nombre de liens - taille - nom - date de cration .........

L'option -R permet d'afficher rcursivement le contenu d'un rpertoire. Exemple: ls / (afficher les rpertoires 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


Universit de Valenciennes - ISTV -8H.Bourzoufi

Cours de Systmes d'Exploitation

q Oprations de base sur les rpertoires


Cration d'un rpertoire mkdir <nom_rpertoire> rmdir <nom_rpertoire> Supprime un
rpertoire vide.

rm -R <nom_rpertoire> supprime tout le rpertoire. Montage d'un systme de fichiers


Il est possible d'ajouter un systme de fichiers extrieur en l'insrant dans la hirarchie. les commandes mount et unmount permettent de dmonter et de dmonter un systme de fichiers. => L'ajout d'une mmoire de masse est l'utilisateur. transparent pour

Universit de Valenciennes - ISTV

-9-

H.Bourzoufi

Cours de Systmes d'Exploitation

Principales commandes sur les fichiers

q Oprations de base sur les fichiers


Visualisation du contenu dun fichier cat <nom_fichier> more <nom_fichier> Renommage et dplacement d'un fichier mv <source> <destination> mv essai.c tp1.c (renommage) mv tp TPSE (dplacement ) mv tp TPSE/tp2 (dplacement et renommage) Copie dun fichier cp <source> <destination> Cration de liens sur un fichier ln <ancien> <nouveau> Suppression d'un fichier rm <nom_fichier>
Ex : rm *.o supprimer tous les fichiers dextension ".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 dune lettre. * : une chane quelconque de caractres ? : un caractre quelconque
Universit de Valenciennes - ISTV -10H.Bourzoufi

Cours de Systmes d'Exploitation

AUTRES COMMANDES UTILES

touch wc

crer un fichier donne le nombre de caractres (-c), de mots (-w) ou de lignes (-l)

sort permet de trier par ordre alphabtique 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 tail diff find afficher les premires lignes afficher les dernires lignes permet de comparer deux fichiers permet de recherche un fichier

imprimer un fichier afficher les fichiers en attente dimpression. lprm dtruire des fichiers en attente d'impression. man (Trs utile) donne le manuel d'utilisation d'une commande.
Universit de Valenciennes - ISTV -11H.Bourzoufi

lpr lpq

Cours de Systmes d'Exploitation

PROTECTION DES FICHIERS

q L'accs aux fichiers est dtermin par trois bits de


permission: r w x (Read, Write, eXecute) applicables trois classes d'utilisateurs : u g o le propritaire, le groupe et les autres (Users, Group, Others). mode symbolique
chmod <qui><permission><opration><fichier>
<qui> valant :

u: utilisateur g: groupe o:autres et a :tous <permission> : + : pour autoriser - : pour interdire <opration> : r : lecture w : criture x : excution 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


excution)

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)
Universit de Valenciennes - ISTV -12H.Bourzoufi

Cours de Systmes d'Exploitation

LES PROCESSUS UNIX

q Le processus est l'entit d'excution dans le systme


UNIX. Toute activit dans UNIX correspond un processus

q Dans UNIX, il existe deux types de processus :


- Processus systme (Ex : swapper, crons, getty ....) - Processus utilisateur qui correspondent l'excution d'une commande ou d'une application.

q Chaque processus est identifi par un numro : PID


(Process IDentifier)

q La commande ps donne la liste des processus

Universit de Valenciennes - ISTV

-13-

H.Bourzoufi

Cours de Systmes d'Exploitation

LES PROCESSUS UNIX(suite)

q La cration d'un processus se fait par ddoublement :


Un processus est toujours cr par un autre processus par le mcanisme de fourche "fork".

q On appelle le processus crateur processus pre. Le


processus cr est appel processus fils .
Processus en cours d'excution fork() processus pre wait() synchronisation exit ()

Processus fils

L'appel systme FORK cre 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 pre.

q Le processus fils peut excuter un nouveau code


l'aide des primitives EXEC.

Universit de Valenciennes - ISTV

-14-

H.Bourzoufi

Cours de Systmes d'Exploitation

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 entre 0 Entre standard (stdin)

1 2

flus en sortie Sortie standard

sortie erreur standard

Signaux

Redirection de l'entre standard - commande < nom_de_fichier L'entre standard est redirige sur le fichier de rfrence 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)

Universit de Valenciennes - ISTV

-15-

H.Bourzoufi

Cours de Systmes d'Exploitation

q Espace dadressage dun processus


Tout processus UNIX a un espace d'adressage constitu de trois segments : code, donnes et pile :
code pile donnes Les instructions qui forment le programme pile d'excution donnes statiques et dynamiques du programme

q Contexte dun processus


Le contexte dun processus comprend : le contenu de son espace dadressage , les contenus des registres matriels, les structures de donnes du noyau qui ont un rapport avec le processus.

q Le systme effectue un changement de contexte dans


les circonstances : - le processus se met lui-mme en sommeil - le processus fait un exit
- le processus revient d'un appel systme au mode utilisateur alors qu'il n'est pas le processus le plus ligible en vue d'une excution.

Universit de Valenciennes - ISTV

-16-

H.Bourzoufi

Cours de Systmes d'Exploitation

q Etats et transitions dun processus


La dure de vie d'un processus peut tre conceptuellement divise en 3 principaux tats qui dcrivent le processus:

Elu 1 3 Bloqu 4 Prt (ligible) 2

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 dun vnement extrieur. Un processus Unix passe par d'autres tats intermdiaires : - processus s'excutant en mode noyau, - processus s'excutant en mode utilisateur, - processus rsidant en mmoire principale, - processus en cours de cration - processus en cours de terminaison (Zombie). -... Cration des processus dans UNIX
Universit de Valenciennes - ISTV -17H.Bourzoufi

Cours de Systmes d'Exploitation

Processus init

swaper

cron Processus systme

getty login shell

getty

getty

emacs

netscape

shell

Processus utilisateur

Universit de Valenciennes - ISTV

-18-

H.Bourzoufi