CHAPITRE 2 : PRESENTATION GENERALE DU SYSTEME UNIX - BELKHIR ...

La page est créée Laurence Marchal
 
CONTINUER À LIRE
Dpt Informatique                                                  2ème année Licence GTR
Faculté Electronique et Informatique                    UASE : Utilisation et Administration
USTHB                                                          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                                                2ème année Licence GTR
Faculté Electronique et Informatique                  UASE : Utilisation et Administration
USTHB                                                        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
                                            écrire un message sur la console
                                     Non

                                < Commande interne ?>          non

                                                            Fourche (« fork »)
                          Oui
                                                                        Création d’un
         Exécuter le code correspondant                                       processus fils
           à la commande interne
                                                                  Exécuter le programme
                                        Attendre la fin          à la commande externe
                                        du processus fils

                                                                 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                                                    2ème année Licence GTR
Faculté Electronique et Informatique                      UASE : Utilisation et Administration
USTHB                                                            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
Dpt Informatique                                                          2ème année Licence GTR
Faculté Electronique et Informatique                            UASE : Utilisation et Administration
USTHB                                                                  des Systèmes d’Exploitation
   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
                                                                                 Niveau utilisateur

                                         Interface appel système                     Niveau noyau

                                                                             Communication
                                                                             Inter-processus
                  Sous système
                   de fichiers
                                                             Sous système
                                                             De contrôle
                                                             De processus    Scheduler

                          Buffer cache
                                                                             Gestionnaire
           Caractère        bloc                                             De la
                       Driver                                                mémoire

                                            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
                                                                                  Bloc 1
                                                    2
                                                    3
                                                    .                             Bloc 2
   Bloc 11                           1
                                    2
                                .                   ..10
   Bloc 12                                                                        Bloc 10
                                .                           11
                                                           12
                                                           13
   Bloc 138
                            128
                      1ere s /liste
                      de premier niveau
                  1                       1
                  2                       2
                 .                       .
                 .                       .

                128                  128

        Liste de second       2eme s /liste
        niveau                de premier niveau
                              2eme s /liste                            1
                                           1
                              de premier niveau                        2
                                          2                           .
                                         .                            .
                                         .
                                                                     128                1      Bloc
                                              128                                       2
                                                                                       .
                                                             s/liste de second         .
                              3eme s /liste de               niveau
                              second niveau                                           128
                                                                                               Bloc

                                                                                 s/liste de
                                                                                 3eme niveau

                                                                                                      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

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
Vous pouvez aussi lire