CHAPITRE 2 : PRESENTATION GENERALE DU SYSTEME UNIX

publicité
Dpt Informatique
Faculté Electronique et Informatique
USTHB
2ème année Licence GTR
UASE : Utilisation et Administration
des Systèmes d’Exploitation
CHAPITRE 2 : PRESENTATION GENERALE DU
SYSTEME UNIX
Les logiciels peuvent être classés en deux catégories :
- les programmes d'application des utilisateurs.
- les programmes système qui permettent le fonctionnement de l'ordinateur.
Parmi ceux-ci, le système d'exploitation (SE dans la suite).
Le SE soustrait le matériel au regard du programmeur et offre une présentation agréable des
fichiers. Un SE a ainsi deux objectifs principaux :
- présentation : Il propose à l'utilisateur une abstraction plus simple et plus agréable que le
matériel : une machine virtuelle.
- gestion : il ordonne et contrôle l'allocation des processeurs, des mémoires, des icônes et
fenêtres, des périphériques, des réseaux entre les programmes qui les utilisent. Il assiste
les programmes utilisateurs. Il protège les utilisateurs dans le cas d'usage partagé.
Les travaux menés par principalement Ken Thompson et Dennis Ritchie pour la mise au point
d’un système de fichiers ont été vite détournés pour la réalisation d’une première version du
système de fichiers UNIX.
Après plusieurs tentatives de mise au point d’un système d’exploitation sur l’ordinateur
GE645, ils implantent leur système sur la machine GECOS avec support de fichiers le PDP7
en intégrant une première version du système de fichiers UNIX : le sous système de processus
et un petit ensemble de programmes utilisateurs. Ils se sont vite rendus compte qu’ils
pouvaient se dispenser du système GECOS comme environnement de développement. Alors
leur nouveau système a été baptisé UNIX. Il y a eu par la suite le développement de plusieurs
versions du système UNIX à travers différents projets. En 1971, le système UNIX est porté
sur PDP11, en 1973 l’ensemble du système UNIX est écrit en langage C
UNIX a été écrit à 95% en langage C, ce qui permet sa portabilité. De plus, sa conception
modulaire avec des interfaces bien définies a contribué à sa popularité.
2.1 LES ATOUTS D’UNIX :
a- Portabilité :
Un logiciel est portable lorsqu’il peut fonctionner sur des machines différentes. Il faut
considérer deux sortes de portabilités : celle du système lui-même et celle des utilitaires. Le
noyau du système UNIX ainsi que ses utilitaires sont écrits dans un langage portable qu’est le
langage C.
b- Capacité multi-utilisateurs :
Le système UNIX donne la possibilité à plusieurs utilisateurs d’accéder aux ressources du
système.
c- Capacité multi-tâches :
UNIX offre à l’utilisateur la possibilité d’accomplir plus d’une tâche à la fois.
d- Système de fichiers :
Le système de fichiers UNIX permet une structure hiérarchique. Il permet un contrôle souple
de l’accès aux données utilisateurs, à un groupe d’utilisateurs ou l’ensemble des utilisateurs.
Pr BELKHIR A
Dpt Informatique
Faculté Electronique et Informatique
USTHB
2ème année Licence GTR
UASE : Utilisation et Administration
des Systèmes d’Exploitation
e- Programmes modulaires :
Le système est composé d’utilitaires dont chacun est destiné à une tâche précise.
f- Interface utilisateur :
Il est essentiellement orienté commandes. Cependant, il y a eu le développement d’interface
graphique avec X-windows. L’interface utilisateur sous UNIX est appelé shell (sh, csh,
ksh,…). Il joue le rôle d’interpréteur de commandes et celui d’un langage de programmation.
2.2 ARCHITECTURE D’UNIX :
Le système UNIX se caractérise par deux concepts principaux : le système de fichiers occupe
de la place et les processus ont une vie. Ces deux composants constituent les deux sous
systèmes dominants du système.
La structure d’UNIX est constituée de quatre couches concentriques :
1. Le noyau central : contient les fonctions de base de gestion de processus ; c’est un
automate d’affectation de type temps partagé.
2. Le noyau complet : contient les conducteurs d’interfaces d’entrée/sortie
3. La coquille (shell) : est l’interpréteur de commandes par lequel l’utilisateur interagit
avec UNIX.
4. La dernière couche contient les outils et les applications : l’ensemble des programmes
et utilitaires qui ont été écrits pour améliorer le système.
Utilitaires
Shell
Noyau
Hardware
Pr BELKHIR A
Dpt Informatique
2ème année Licence GTR
Faculté Electronique et Informatique
UASE : Utilisation et Administration
USTHB
des Systèmes d’Exploitation
2.2.1 L’interpréteur de commandes :
L’interpréteur de commandes UNIX est appelé shell, son fonctionnement obéit à l’algorithme
suivant :
Lecture de la commande suivante
(par défaut, sur le clavier)
Analyse de la syntaxe
Oui
<Erreur>
Non
écrire un message sur la console
< Commande interne ?>
non
Fourche (« fork »)
Oui
Exécuter le code correspondant
à la commande interne
Attendre la fin
du processus fils
Création d’un
processus fils
Exécuter le programme
à la commande externe
Signaler la fin du
processus
2.3 PRISE DE CONTACT
Pour commencer nous allons voir les commandes à connaître pour avoir une vue d’ensemble
cohérente. Cela couvre principalement l’ouverture de session d’un utilisateur, la gestion des
fichiers ainsi que la vision que l’utilisateur a du système.
2.3.1 Se connecter
L’ouverture de session débute par la phase de connexion. C'est à ce moment que le système
détermine s'il vous autorise l'accès ou non. Cette connexion est obligatoire avant chaque session
de travail.
2.3.2 Vous n’avez pas encore de mot de passe
La connexion sur une machine Unix s’effectue lors de l’affichage sur le terminal du message (ce
message peut éventuellement être précédé par le nom de machine ou bien le nom du système) :
login :
Vous devez alors entrer votre nom d’utilisateur et valider en tapant sur la touche [Return].
Exemple :
login : unix
Si l’utilisateur unix est connu alors une bannière de bienvenue s’affichera, ainsi que le message
d’invite du système. L’utilisateur peut alors commencer à travailler.
Si le nom est incorrect ou bien l’utilisateur inconnu, alors le mot de passe est demandé et vérifié.
En cas d’échec les messages suivants sont affichés :
Pr BELKHIR A
Dpt Informatique
Faculté Electronique et Informatique
USTHB
2ème année Licence GTR
UASE : Utilisation et Administration
des Systèmes d’Exploitation
login : unix
Password :
login incorrect.
Login :
L’utilisateur peut alors essayer à nouveau. Si vous n’avez pas eu de messages ou si le système
ne vous a demandé aucun mot de passe pour accéder à votre compte, cela veut dire que vous
n’avez pas de mot de passe et que n’importe qui connaissant votre nom d’utilisateur peut entrer
chez vous.
Si vous désirez installer un mot de passe, taper la commande passwd.
$ passwd
Les messages suivants s’afficheront :
Enter new password :
Re-enter new password :
Remarque : lorsque le système vous demande un mot de passe, celui-ci n’est jamais affiché à
l’écran. Le terminal est mis en mode sans écho.
Un mot de passe doit contenir au moins 8 caractères dont au moins 2 caractères sont
alphabétiques et un numérique ou spécial. Le Majuscule et minuscule sont prises en compte.
2.3.3 Vous avez déjà un mot de passe
Au message login entrer votre nom d’utilisateur puis valider par la touche [Return]
Ensuite apparaît le message Password qui vous invite à entrer votre mot de passe.
Saisissez-le sans vous tromper, et terminer par le touche [Return].
Toute erreur peut être rectifiée par la touche [Backspace].
Login : unix
Password :
Le mot de passe n’est jamais affiché, bien évidemment pour des questions de sécurité.
Conserver le soigneusement et ne le confier à personne. Si le login et le password sont
correctement saisis alors une bannière de bienvenue, ainsi que le message d’invite du système
s’affichent. Vous pouvez alors commencer à travailler.
Au contraire, si une erreur quelconque se produit, un message d’erreur s’affiche, le login
apparaît de nouveau pour vous permettre de recommencer.
Exemple :
login : inconnu
Password :
login incorrect.
Login :
Lorsque vous êtes connectés et que vous désirez changer votre mot de passe, il suffit alors de
lancer la commande passwd.
$ passwd
Les messages suivants s’afficheront :
Enter old password :
Enter new password :
Re-enter new password :
Vous êtes, seuls, autorisés à changer votre mot de passe. Pour des raisons de sécurité, l’ancien mot
de passe est demandé (si vous vous êtes absentés momentanément on ne peut changer votre mot de
passe).Le nouveau mot de passe est redemandé afin d’être sûr que vous savez le saisir
correctement. En cas d’erreur, l’ancien mot de passe est conservé.
Pr BELKHIR A
2ème année Licence GTR
UASE : Utilisation et Administration
des Systèmes d’Exploitation
Dpt Informatique
Faculté Electronique et Informatique
USTHB
2.3.4 Se déconnecter ...
Lorsque vous avez terminé, ou que vous abandonnez votre terminal, n'oubliez pas de vous
déconnecter. Vous signalerez ainsi au système la fin de votre session.
La déconnexion s'effectue simplement par les commandes exit ou ^D (appui simultané de la
touche [Control] et [D]).
$exit
$^D
Lorsque la déconnexion est effective, le login apparaît de nouveau. A vous d'essayer ...
2.3 LE NOYAU DU SYSTEME UNIX
2.3.1 Structure du noyau :
Il partitionne l’ensemble des appels systèmes en deux groupes, ceux qui interagissent avec le
sous système de contrôle de processus et ceux qui interagissent avec le sous système de
fichiers.
 Le sous système de fichiers gère les fichiers, alloue de l’espace fichier, récupère l’espace
libre et contrôle l’accès aux fichiers et récupère les données pour les utilisateurs.
 Le sous système de processus interagit avec le sous système de fichiers à travers un
ensemble spécifique d’appels systèmes tels que : open (ouverture), close (fermeture), read
(lire), write (écriture)…
Programmes utilisateurs
Bibliothèques
Interface appel système
Niveau utilisateur
Niveau noyau
Communication
Inter-processus
Sous système
de fichiers
Sous système
De contrôle
De processus
Scheduler
Buffer cache
Caractère
Gestionnaire
De la
mémoire
bloc
Driver
Contrôle hardware
Niveau noyau
Niveau hardware
Hardware
Figure 2.1 Diagramme du noyau du système
Pr BELKHIR A
Dpt Informatique
2ème année Licence GTR
Faculté Electronique et Informatique
UASE : Utilisation et Administration
USTHB
des Systèmes d’Exploitation
Le sous-système de contrôle de processus est responsable de la synchronisation,
communication de processus, de la gestion de la mémoire et du scheduling de processus.
Certains appels systèmes de contrôle de processus sont fork (création d’un nouveau
processus), exec (surcharge d’image d’un processus), wait (synchronise l’exécution du
processus avec la fin de processus déjà crées par fork).
2.3.2 Gestion des fichiers :
Le système de gestion de fichiers est hiérarchisé selon la structure d’arbre. Il contient trois
types de fichiers :
 Fichiers ordinaires
 Fichiers catalogues
 Fichiers spéciaux
2.3.2.1 La structure d’un disque :
Un disque est vu par le système comme un tableau de blocs de 512 octets accessibles de façon
aléatoire. Le système de gestion découpe le disque en quatre régions.
Bloc0
Bloc1
Liste -i
Zone de stockage
Noeud i
1
2
Bloc 11
.
.
Bloc 12
Bloc 138
Bloc 1
1
2
3
.
Bloc 2
..10
Bloc 10
11
12
13
128
1ere s /liste
de premier niveau
1
2
.
.
1
2
.
.
128
128
Liste de second
niveau
2eme s /liste
de premier niveau
2eme s /liste
1
de premier niveau
2
.
.
128
3eme s /liste de
second niveau
1
2
.
.
128
s/liste de second
niveau
1
2
.
.
128
Bloc
Bloc
s/liste de
3eme niveau
Pr BELKHIR A
Dpt Informatique
Faculté Electronique et Informatique
USTHB
2ème année Licence GTR
UASE : Utilisation et Administration
des Systèmes d’Exploitation
Bloc0 : il est réservé pour la mise en route du système
Bloc1 : est appelé le super bloc ; il contient entre autres, le nom du disque (label), la taille du
disque et les frontières des autres zones.
Liste-i : elle contient la liste des définitions des fichiers. Chaque définition est une structure
de 64 octets appelée un nœud-i (i-node). Le numéro d’un nœud-i dans la liste-i n’est autre que
le nombre-i qui identifie de façon unique un fichier.
Zone de stockage : elle s’étend de la fin de la liste jusqu’à la fin du disque. L’espace libre sur
le disque est repéré par une liste chaînée, chaque bloc libre contient un pointeur sur le bloc
suivant de la liste.
Un nœud-i contient 13 adresses su le disque sous forme de 13 numéros de blocs. Les 10
premières adresses sont celles des 10 premiers blocs du fichier. Si le fichier contient plus de
10 blocs, la onzième adresse pointe sur un bloc qui contient les adresses des 128 blocs
suivants dans le fichier. Si le fichier est plus grand que 138 blocs, la douzième adresse pointe
sur un bloc dont chacune des 128 adresses pointe sur un bloc de 128 adresses de 128 blocs de
fichiers. Pour un fichier encore plus grand que 8 mégaoctets, la treizième adresse utilise un
schéma à trois niveaux d’indirection ; ce qui porte la taille maximum d’un fichier à plus de 1
gigaoctet.
Pr BELKHIR A
Téléchargement