UNIX
Pr BELKHIR ABDELKADER
Module Sysme d’Exploitation Master Sécurité des Systèmes Informatiques
Dpt Informatique
USTHB
Pr BELKHIR A
2
1. INTRODUCTION :
Les travaux menés par principalement Ken Thompson et Dennis Ritchie pour la mise eu 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é baptiUNIX. 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é.
1.1 Portabilité :
Un logiciel est portable lorsqu’il peut fonctionner sur des machines différentes. Il faut considérer deux sortes de
portabilis : 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.
1.2 Capacité multi-utilisateurs :
Le système UNIX donne la possibilité à plusieurs utilisateurs d’accéder aux ressources du système.
1.3 Capacité multi-tâches :
UNIX offre à l’utilisateur la possibilité d’accomplir plus d’une tâche à la fois.
1.4 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.
1.5 Programmes modulaires :
Le système est composé d’utilitaires dont chacun est destiné à une tâche précise.
1.6 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 le d’interprêteur de
commandes et celui d’un langage de programmation.
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.
noyau
hardware
shell
utilitaires
Module Sysme d’Exploitation Master Sécurides Systèmes Informatiques
Dpt Informatique
USTHB
Pr BELKHIR A
3
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> écrire un message sur la console
non
non
< commande interne ?>
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.2 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 sysme de fichiers à travers un ensemble spécifique
d’appels systèmes tels que : open (ouverture), close (fermeture), read (lire), write (écriture)…
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).
Module Sysme d’Exploitation Master Sécurides Systèmes Informatiques
Dpt Informatique
USTHB
Pr BELKHIR A
4
Diagramme du noyau du système
2.2.1 La gestion de processus et ordonnancement :
Un programme est un fichier exécutable, un processus est une instance du programme lors de son exécution.
Plusieurs processus peuvent s’exécuter simultanément sur le système UNIX, et plusieurs instances du
programme peuvent coexister simultanément.
2.2.1.1 Implantation des processus :
Un processus UNIX est représenté par 3 zones mémoires :
1. Segment texte
2. Segment de données utilisateur
3. Segment de données sysme
1. Segment texte : (User Text Segment) c’est le code du programme qui s’exécute. Ce segment est accessible
en lecture seule. Lorsque plusieurs processus exécutent le même programme au même instant, le système les
fait partager une seule copie de code en mémoire par l’intermédiaire d’une table supplémentaire gérée par le
système : la table des textes.
2. Segment de données utilisateur : (User Data Segment) il contient les données modifiées par le programme.
Le système n’utilise pas ce segment pour stocker ses propres données ; en particulier il n’y met pas de
tampons d’entrée/sortie.
Interface appel sysme
Sous système
de fichiers
Sous système
De contrôle
De processus
Buffer cache
Caractère bloc
driver
Communication
Inter-
processus
Scheduler
Gestionnaire
De la
mémoire
Programmes utilisateurs
bibliothèques
Niveau utilisateur
Niveau noyau
Niveau noyau
Niveau hardware
Module Sysme d’Exploitation Master Sécurides Systèmes Informatiques
Dpt Informatique
USTHB
Pr BELKHIR A
5
3. Segment de données sysme : (System Data Segment) il contient toutes les données dont le système a
besoin quand le processus est actif (contexte, fichiers ouverts, facturation,….)
La durée de vie d’un processus peut être conceptuellement divisée en un ensemble d’états qui décrivent le
processus.
1. Le processus est en exécution en mode utilisateur
2. Le processus est en exécution en mode noyau
3. Le processus n’est pas en exécution mais est prêt à l’exécution dès qu’il sera élu
4. Le processus est endormi et réside en mémoire principale
5. Le processus est prêt pour s’exécuter, mais le swapper doit swapper le processus en mémoire principale
avant que le noyau l’élise
6. Le processus est endormi, le swapper a le processus en mémoire secondaire afin de laisser place dans la
mémoire principale.
7. Le processus retourne du mode noyau au mode utilisateur
8. Le processus est crée, le processus existe, mais n’est pas prêt pour exécution et non endormi. Cet état est
l’état de départ de tous les processus (sauf swapper : processus 0)
9. Le processus exécute l’appel système « exit » et se trouve dans l’état zombie. Le processus n’existe plus,
mais il reste un enregistrement contenant le code de sortie et certaines valeurs statistiques pour ses processus
parents.
Chaque processus est assocun certain nombre d’informations. Ces informations contribuent à l’identification
et la gestion du processus. On dénote :
- numéro de processus PID (Process Identifier)
- numéro d’utilisateur UID (User IDentifier)
- numéro de groupe GID (Group IDentifier)
- durée de traitement utilisée (temps cpu) et priorité du processus
- référence au répertoire de travail courant
- table de référence des fichiers ouverts
PID (Process Identifier) : le sysme étant multi-tâche, le PID est moyen d’identifier tout processus dans le
système. Chaque processus peut créer lui-même des processus ; ces nouveaux processus sont alors appelés
processus fils. Ces derniers connaissent leur origine par l’intermédiaire de PPID (PID du père)
Segment
données
processus
Segment
texte
Table des
processus
Table des textes
Structures résidant
en mémoire
Structures pouvant être
mises sur disque
Segment
De données
systèmes
Espace disque
1 / 8 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !