Système d’Exploitation
Pr. Mohamed Salim EL BAZZI
Licence Professionnelle Génie Informatique
Semestre 4 – 2022/2023
2
1. Définitions
 L’ordinateur est un ensemble de ressources matérielles (hardware)
exemple processeur, mémoire, disque dur, …
 Un Système d’Exploitation (SE), Operating System en anglais (OS), est
un ensemble de programmes (logiciels) qui permettent d’assurer la
bonne gestion de l’ordinateur et de ses périphériques.
 Il sert d’interface entre les ressources matérielles d’un ordinateur et les
applications informatiques de l’utilisateur (software). Il cache les
spécificités complexes du matériel.
  Il est chargé du bon fonctionnement d’un ordinateur en fournissant à
l’utilisateur un environnement plus facile à utiliser que le matériel:
 - Il cache les limitations physiques (nombre de processeurs, taille
mémoire).
 - Il facilite le partage et l’utilisation des ressources physiques entre les
différents programmes (plusieurs programmes peuvent être exécutés
simultanément).
 Exemples de systèmes d’exploitation : Windows, Unix, Linux
3
2. Rôle d’un système d’exploitation
 Le système d’exploitation contrôle et coordonne l’utilisation du
matériel: Il met à la disposition des utilisateurs, les ressources
matérielles de l’ordinateur :
 Gestion des ressources matérielles: le système gère de manière
équitable et efficace les ressources matérielles (mémoire, processeur,
périphériques, …).
 Gestion du processeur: le système d'exploitation gère l'allocation du
processeur entre les différents programmes. Pour l’utilisateur, les
différents programmes fonctionnent parallèlement.
 Gestion de la mémoire: le système d'exploitation gère l'espace
mémoire alloué à chaque application et à chaque utilisateur. Il la
partage entre tous les programmes. En cas d'insuffisance de mémoire
physique, le système d'exploitation peut créer une zone mémoire sur
le disque dur, appelée «mémoire virtuelle», qui permet d’exécuter
des applications nécessitant plus de mémoire qu'il n'y a de mémoire
vive disponible sur le système.
4
 Sécurité / Accès aux données :
 Accès aux périphériques: écran, imprimante, disque dur, réseau.
 Le système d’exploitation s’assure que les programmes puissent les utiliser de
façon standard.
5
3. Système d’exploitation UNIX
 UNIX est un système d'exploitation multi-tâches et multi-utilisateurs.
 Il est: Ouvert, c’est-à-dire il n’y a pas de code propriétaire (seules certaines
implémentations sont propriétaires).
 Portable, c’est-à-dire le code est indépendant de l’architecture (très peu de
codes qui dépendent de l’architecture matériel de l’ordinateur).
 Disponible sur différentes plateformes. La grande majorité des serveurs sur
Internet fonctionnent sous UNIX.
 Aujourd’hui, UNIX est très utilisé en informatique scientifique, et pour les
serveurs réseaux.
6
Caractéristiques du système UNIX
 Unix est un système d'exploitation multi-tâches (multithreaded en anglais): plusieurs
processus (process en anglais), également appelées « tâches », peuvent être exécutées
simultanément.
 A chaque instant, le processeur ne traite qu’un seul processus (programme lancé), la
gestion des processus est effectuée par le système.
 Unix est un système d'exploitation multi-utilisateurs (multi-user): plusieurs utilisateurs
peuvent utiliser le système en même temps (les ressources sont réparties entre les
différents utilisateurs). Chaque utilisateur dispose de l’ensemble des ressources du
système.
 Le système Unix se charge de contrôler et de gérer l'utilisation et l’attribution des 8
ressources entre les différents utilisateurs.
 Unix présente une interface utilisateur interactive et simple à utiliser: le shell. Cette
interface fournit des services de haut niveau. Elle intègre un langage de commandes très
puissant (scripts shell).
7
Caractéristiques du système UNIX
 Sous Unix, du point de vue utilisateur, il n’y a pas de notion de disque physique
(partition, disque externe, …) contrairement à MS-DOS, en effet sous Unix, tout est
fichier. L’utilisateur ne voit qu’une seule arborescence de fichiers hiérarchiques.
 Les périphériques sont aussi représentés par des fichiers, ce qui rend le système
indépendant du matériel et par conséquent assure la portabilité; l’accès aux
périphériques est donc identique à l’accès aux fichiers ordinaires.
 La gestion de la mémoire virtuelle : un mécanisme d’échange entre la RAM et le
disque dur permet de pallier au manque de RAM.
 Processus réentrants : les processus exécutant le même programme utilisent une
seule copie de celui-ci en RAM.
 Exemple: deux utilisateurs qui utilisent l’éditeur « vi », dans ce cas une seule
copie de « vi » qui sera chargée en RAM.
8
4. Architecture du système
 Unix Un système informatique sous Unix/Linux est conçu autour d’une
architecture en couche:
 La couche physique (hardware): c’est la couche la plus interne: ressources
matérielles (processeur, mémoires, périphériques,…).
 Au centre le noyau (en anglais kernel): le noyau UNIX est chargé en mémoire
lors du démarrage de l'ordinateur. Il gère les tâches de base du système à
savoir: la gestion de la mémoire, des processus, des fichiers, des entrées-
sorties principales, et des fonctionnalités de communication.
 Fonctions systèmes : bibliothèque standard d’appels système.
 L’interpréteur de commandes (le shell en anglais : coquille en français): c’est
la partie la plus externe du système d'exploitation. Son rôle est d'analyser la
commande et envoie des appels au noyau en fonction des requêtes des
utilisateurs. C’est l’interface utilisateur-Système. C'est le premier langage de
commandes développé sur Unix par Steve Bourne.
 Utilitaires : éditeurs, compilateurs, gestionnaire de fenêtres et de bureau,
etc.
9
II. Bref historique d’Unix.
10
 UNIX est créé au Laboratoire BELL (AT&T), USA, en 1969. Il est conçu par Ken
Thompson et Dennis Ritchie, et inspiré du système Multics (MULTiplexed
Information and Computing Service ou service multiplexé d'information et de
calcul) créé en 1965 au le MIT (Massachusetts Institute of Technology). Il
constitue le premier système d'exploitation multitâche et multiutilisateur.
 Initialement nommé Unics (Uniplexed Information and Computing Service)
 En 1973, le système est réécrit en langage C (langage développé par Dennis
Ritchie) ce qui l’a rendu simple à porter sur de nouvelles plateforme ce qui
lui a donné un véritable succès.
11
 Depuis la fin des années 70, deux grandes familles d’UNIX. - Une version
développée essentiellement par l’université de Berkeley (Californie), et 10
nommée UNIX BSD (Berkeley Software Distribution). - Une version nommée
UNIX Système V commercialisé par AT&T.
 Projet GNU (1983) : objectif de développer un SE libre.
 Linux (1991) : un noyau UNIX libre développé par Linus Torvald (étudiant à
l'université d'Helsinki ) Premier OS complet GNU/Linux libre. Linux est à la

base d’une réécriture de Minix (1987: Andrew Tanenbaum, professeur à
l'université libre d'Amsterdam a créé le système d'exploitation Minix). La
version 1.0 en 1994, qui donne naissance à la distribution d'un système
d'exploitation entièrement libre, GNU/Linux.
12
 Linux (fera l’objet dans la suite des TP )
 Système d’exploitation de type UNIX pour PC, initialement créé par Linus
Torvalds ensuite un grand nombre de développeurs bénévoles ont participé à son
développement.
 Linux est gratuit et les codes sources sont disponibles (on a le droit d'étudier et
de modifier le code source).
 Principaux composants: - Noyau: coeur du système, fournit aux logiciels une
interface pour utiliser le matériel. - Interface graphique X et shell (interpréteur
de commande). - Nombreux utilitaires et programmes disponibles: compilateur
GCC, éditeur Emacs, ….
 Disponible sur de nombreux ordinateurs (super-calculateur, PC, PDA).
 Interactif et batch
13
III. Connexion et déconnexion
14
III. Connexion et déconnexion
 Puisque Unix est un système multi-utilisateurs, alors il comporte les
mécanismes d’identification et de protection permettant d’éviter toute
interférence entre les différents utilisateurs. On distingue deux types
d’utilisateurs: les administrateurs systèmes et les utilisateurs normaux:
 L’administrateur système appelé aussi « root », utilisateur privilégié ou super
utilisateur (super user). Il dispose de tous les droits sur la machine et le
système Unix. Il s’occupe de l’administration du système, en particulier il
crée les comptes des utilisateurs.
 L'utilisateur normal dispose des droits réduits qui sont définis par
l'administrateur système.
15
 Unix associe à chaque utilisateur (un compte):
 Un nom d’utilisateur ou nom de connexion (appelé « login »). - Un mot de
passe (password en anglais),
 Un Home Directory (répertoire de l’utilisateur ou répertoire de connexion),
 Un langage de commandes (shell).
 Donc à chaque connexion, le système demande aux utilisateurs leur login et
leur mot de passe pour pouvoir travailler sur la machine. Si les deux sont
valides alors Unix initialise l’environnement et ouvre une session de travail.
16
1. Connexion
 Pour se connecter à la machine et ouvrir une session de travail (pour pouvoir
travailler sur la machine) il faut s’identifier. Pour cela, il faut:
 Entrer le nom de connexion après le message «login»
 Login : on tape ici le nom d’utilisateur
 Entrer mot de passage après le message «password»
 Password : on tape ici le mot de passe
 Une fois connecté, l’utilisateur de trouve alors dans son propre répertoire de
connexion (home directory) correspondant à son login (home directory).
17
 Remarque: Pour des raisons de sécurité, les caractères du mot de passe sont
cachés, et la vérification se fait après avoir tapé le login et le mot de passe.
Si le login ou le mot de passe et incorrecte, un message d’erreur est alors
affiché: « Invalid login name »
 Attention: Unix fait la différence entre les minuscules des MAJUSCULES.
18
2. Déconnexion
 Pour terminer la session de travail, la méthode de déconnexion dépend de
l’environnement de travail:
 Dans le cas d’un terminal, la commande de déconnexion est: « exit » ou «
ctrl-D (^D) »
 - Dans le cas d’environnement graphique, la méthode de déconnexion dépend
l’interface graphique.
 Remarque importante: Si vous éteignez la machine avant d'utiliser les
procédures de déconnexion, vous risquez d'endommager les fichiers sur les
disques.
19
IV. Introduction à la notion de
système de fichiers (file system).
20
 Le fichier est la plus petite entité logique de stockage permanent sur un
disque ou d’autres supports physiques.
 Il peut contenir du texte, des données, programmes images. ou des
programmes stockés sur un disque.
 Les fichiers sont classés dans des répertoires (catalogues).
 Chaque répertoire peut contenir d'autres sous-répertoires, formant ainsi une
organisation arborescente.
1. NOTION DE FICHIER ET DE RÉPERTOIRE
21
2. Nomenclature des fichiers
 Le nom d’un fichier sous Unix est une suite de caractères, dont la taille peut
aller jusqu’à 255 caractères. La plupart des caractères sont acceptés, y
compris l'espace (très déconseillé). Cependant quelques caractères sont à
éviter
 * & ; ( ) ~  | ` ? - (en début de nom)
 L’extension n’indique pas le type de fichier, par exemple, un exécutable n'a
pas besoin d‘avoir une extension particulière. Un fichier qui a l’extension
« .exe », ne veut pas dire que c’est un fichier exécutable. En faite le
caractère « . » est considéré comme un caractère qui fait parti du nom du
fichier et non pas un caractère de séparation entre le nom du fichier et son
type (comme le MSDOS). Par conséquent, il est possible que le nom d’un
fichier peut contenir plusieurs caractères « . » par exemple :
nom_fichier.c.java.cpp
22
Problèmes de nomination
 Exemples de noms de fichiers pouvant poser problèmes :
 nom_fichier* // problème avec le caractère *
 LP(s4) // problème avec les parenthèses ()
 FPT&BDIA // problème avec le caractère &
 resultat juin 2014.xls // problème avec l’espace
 -f // problème avec le symbole « - » (moins)
23
3. Les différents types de fichiers
 Pour l’utilisateur sous Unix, il n’existe pas la notion de disques physiques
(tout est fichier).
 L’utilisateur ne voit qu’une seule arborescence formée de répertoire et de
fichiers. On distingue:
 Les fichiers ordinaires : Ce sont soit des fichiers contenant du texte, soit des
exécutables (ou binaires), soit des fichiers de données. Le système n'impose
aucun format particulier aux fichiers et il les traite comme des séquences
d'octets. Contrairement au système MSDOS, on ne peut pas connaitre, à
priori, les types des fichiers. Pour connaitre les types des fichiers on utilise
par exemple la commande: « file ».
24
3. Les différents types de fichiers
 Les répertoires (les fichiers répertoires): c’est un ensemble de fichiers ou
d’autres répertoires (sous-répertoires) de manière récursive. Ils permettent
une organisation hiérarchique.
 Les fichiers spéciaux : Ce sont des fichiers qui servent d’interface pour les
divers périphériques (terminaux, disques dur, clavier, …). Les opérations de
lecture/écriture sur ces fichiers sont directement dirigées vers le
périphérique associé. Les fichiers correspondant aux périphériques sont
stockés dans le répertoire « /dev » (devices).
 Les pipes nommés et les liens symboliques.
25
4. Systèmes de fichiers
4.1 Définition
 Un système de fichiers (File System en anglais), appelé aussi système de gestion de
fichiers, est une structure de donnée qui définit l’organisation d'un disque (ou
partition d'un disque). Il offre à l’utilisateur une vision homogène et structurée des
données et des ressources : disques, mémoires, périphériques. Sous système Unix,
tout est fichier, il n’y a pas de notions de disques, partition de disques,
périphériques, ….
 Les fichiers sont regroupés dans des répertoires et les répertoires contiennent soit
des fichiers, soit d'autres répertoires. Une telle organisation génère une hiérarchie
de répertoires et de fichiers organises en arbre:
 La racine est désignée par « / » (slash): « / » désigne est le répertoire racine.
 Les nœuds sont les répertoires non vides
 Les feuilles sont les fichiers ou les répertoires "vides".
26
 Sous Unix plusieurs systèmes de fichiers peuvent être rattachés au système de
fichiers principal. Chaque système de fichiers peut correspondre
physiquement à :
 - une partition ou à la totalité d’un disque physique .
 - un périphériques (un DVD, un disque externe, …) - …
27
 Par contre, sous Windows, les partitions, les périphériques, les disques
externes, … sont vus comme des lecteurs indépendants (C:, D:, ...). Sou Unix,
on a:
 Un seul arbre général.
 Sa racine est désignée par « / ».
 Chaque répertoire peut contenir des fichiers ou des sous-répertoires.
 Un disque logique (partition, disque externe, clé USB, …) est vu comme un
sous arbre qui se rattache à l’arbre principal. Le rattachement du sous arbre
se fait automatiquement ou par l’utilisateur avec la commande « mount »
28
Après montage, le système de fichier de la clé USB est rattaché au système de fichiers principal.
29
30
4.2 Quelques principaux répertoires Unix
 Chaque fichier Unix est placé dans l’arborescence de racine « / » (désigne le
répertoire « root ») qui contient les sous-répertoires suivants :
 / bin: utilitaires de bas-niveau (exécutables essentiels pour le système).
 /home : Répertoire pour les utilisateurs. Chaque utilisateur possède son
propre répertoire qui a le nom de son login.
 /lib contient des bibliothèques partagées essentielles au système lors du
démarrage
 /mnt : contient les points de montage (accès aux autres systèmes de fichiers)
des partitions temporaires (cd-rom, disquette, ...)
31
4.2 Quelques principaux répertoires Unix
 /media : Certaines distributions montent les périphériques amovibles à cet
endroit.
 /etc: regroupe tous les fichiers de configurations des différents logiciels
installés sur la machine ainsi que des fichiers de configuration système utilisés
au démarrage de la machine.
 /root: répertoire de l’administrateur root
 /tmp contient les fichiers temporaires
 /var : Fichiers dont le contenu varie /var/log : On trouve ici les logs des
différents logiciels et serveurs. Cela permet de voir ce qui s'est passé quand
quelque chose ne va pas. /var/spool : Fichiers en cours de traitement (file
d'impression, mails en cours d'envoie...) /var/tmp : Fichiers temporaires (voir
aussi /tmp).
32
4.3. Les répertoires « . » et « .. »
 Quand on crée un répertoire, le système génère automatiquement deux sous
répertoires, du répertoire créé, qui sont:
 le répertoire « . »= représente un lien vers le répertoire créé.
 le répertoire « .. » = représente un lien vers le répertoire père.
 Utilités:
 Par exemple pour accéder au répertoire père, il suffit d’écrire « cd.. » au lieu de
spécifier le chemin vers le répertoire père.
33
5. Notion de chemin d’accès (pathname)
 Pour accéder à un fichier ou à un répertoire, on doit spécifier son
emplacement dans l'arborescence du système de fichier.
 C’est-à-dire on doit spécifier le chemin d’accès (pathname) qui décrit
l’emplacement ou se trouve le fichier dans l'arborescence du système de fichier.
 Le chemin d’accès (pathname) est une suite de nom de répertoire séparés par
« / » (slach), décrivant l'emplacement où se trouve un fichier ou un
répertoire dans l'arborescence du système de fichier.
 Pour cela, soit on utilise un chemin d’accès absolu ou relatif.
34
5.1. Chemin absolu:
 Un chemin absolu c’est un chemin d’accès dans lequel on spécifie tous les
répertoires à partir de la racine, donc le chemin d’accès commence par la
racine « / » (root directory).
 Exemple: Supposons que « cours » est un répertoire de l’utilisateur « etudiant
». Le chemin absolu pour accéder au répertoire « cours » est :
/home/etudiant/cours/
 Remarque: Le caractère « / » (slach) désigne le répertoire racine et sert aussi
de séparateur entre sous-répertoires.
35
5.2. Chemin relatif:
 Un chemin relatif est un chemin d’accès dans lequel on spécifie tous les
répertoires à partir du répertoire. Par conséquent, un chemin relatif ne
commence pas par « / »
Exemples:
 Pour accéder au sous-répertoire « exemples » du répertoire « cours » à partir
du répertoire « etudiant », le chemin relatif est : cours/exemples
 Pour accéder au répertoire « td » (sous répertoire du répertoire « etudiant »)
à partir du répertoire « cours » est : ../TD ( « .. » désigne le répertoire «
etudiant » : répertoire père).
 Pour accéder au fichier « nom_fich » du répertoire courant : Soit on donne le
nom du fichier, par exemple « ls nom_fich « Soit on précède le nom du fichier
par « ./ », par exemple « ls ./nom_fich »
36
5.3. Le caractère tilde (« ~ »)
 Le caractère tilde (« ~ ») désigne le répertoire de connexion d’un utilisateur
(le home directory): « ~ » seul désigne le répertoire de connexion de
l’utilisateur. « ~nom » désigne le répertoire de connexion de l’utilisateur «
nom ».
 Exemple: ~etudiant/cours : désigne le sous-répertoire « cours » de
l’utilisateur « etudiant ». ~/.profile: désigne le fichier « .profile » situé dans
le répertoire de connexion de l’utilisateur.
37
6. Notion d’inode
 L’inode (Index NODE ou noeud d'index en Français), est une structure de données qui
contient les informations fondamentales à un processus pour accéder aux fichiers, par
exemple: le propriétaire du fichier, les droits d'accès, …. Elle est créée au même moment
qu'un fichier. Structure d'un inode :
 Le type (fichier ordinaire, spécial, catalogue ,...),
 Le nombre de liens (voir après), - UID (User Identification): numéro d'utilisateur du propriétaire
 GID (Group Identification) : numéro du groupe propriétaire
 Taille du fichier en octets 18
 Adresses des blocs de données (qui contiennent le fichier)
 Droits du fichier
 Date du dernier accès
 Date de la dernière modification
 Date de création
38
Tables d’inodes
 Chaque fichier est référencé dans deux tables :
 une table d'inodes, une table par système de fichiers: cette table regroupe
tous les inodes fichier, qui sont regroupés l'un après l'autre. A chaque inode,
correspond un numéro d’inode (inumber) qui est son rang dans la table des
inodes. Ce numéro est unique au périphérique sur lequel le fichier est situé.
 une table catalogue (une par répertoire) : cette table décrit les
correspondances entre les noms de fichiers et les numéros d'inodes. La
désignation d'un fichier se fait par l'intermédiaire du répertoire dans lequel il
est stocké. Le système identifie un fichier non pas par son nom, mais par son
numéro d’inode.
39
7. Les liens
7.1. Définition des liens
 Puisqu’un fichier est identifié par son numéro d’inode et non pas par son nom
de fichier, il est possible de donner plusieurs noms à un même fichier grâce à la
notion de lien: ceci permet d’accéder au même fichier à différents endroits de
l’arborescence.
 Avantage:
 Possibilité d’accéder au même fichier depuis des endroits et des noms
différents
 Une seule copie sur le disque et plusieurs façons d’y accéder.
 Si l’un des fichiers est modifié, la même modification est prise en compte par
l’autre fichier.
 Simplifier l’accès à des fichiers dont les noms (chemin) sont difficiles à retenir.
40
7.2. Types de liens
 On distingue deux types de liens : les liens symboliques« symbolic links » et
les liens dur (ou lien physique) « hard links ». 19
 Lien physique (hard link) Un lien dur permet de donner plusieurs noms de
fichiers qui ont le même inode (c’est dire des fichiers qui partagent le même
contenu). Ceci peut se réaliser en rajoutant de nouveaux noms, dans la table
des catalogues, associés au même inode associé au fichier source. Dans ce cas
le même fichier physique (inode) est pointé par différents noms de fichiers.
 Le fichier source et le fichier lien pointent directement sur les données
résidant sur le disque (l’information ne réside qu’une seule fois sur le disque
mais elle peut être accédée par deux noms de fichiers différents). Les droits
du fichier source ne sont pas modifiés.
41
 Remarque:
 Si le fichier source est effacé, le contenu n’est pas perdu et est toujours
accessible par le fichier lien.
 On ne peut pas faire des liens dur sur des répertoires,
 On ne peut faire des liens durs que dans le même système de fichier. En
effet, chaque système de fichiers a sa propre table d’inodes, par conséquent,
des fichiers physiques appartenant à des disques distincts peuvent avoir le
même inode.
42
Lien symbolique
 Un lien symbolique ne rajoute pas une entrée dans la table catalogue, mais
c’est un fichier texte spécial, rajouté dans la table des inodes, qui contient
un lien (sorte d’alias) vers un autre fichier ou répertoire. Donc son numéro
d’inode est différent du fichier source mais qui pointe sur le fichier source
pour permettre d’accéder aux informations sur le disque. Toute opération sur
ce fichier (lecture, écriture, …) s’effectue sur le fichier référencé.
 Attention: Si le fichier source est effacé, le contenu est perdu et le fichier
lien pointe sur quelque chose d’inexistant. L’information est donc perdue.
43
 Remarque:
 Un lien symbolique ne possède pas les limitations du lien dur. Il est possible
d'effectuer des liens depuis et vers d’autre système de fichier.
 Possibilité de faire des liens symboliques sur des répertoires.
 La suppression de tous les liens symboliques n'entraîne que la suppression de
ces liens, pas du fichier pointé.
 La suppression du fichier pointé n'entraîne pas la suppression des liens
symboliques associés. Dans ce cas le lien pointe dans le vide.
44
V. Les processus
45
 Le système Unix/Linux est multi-tâche car plusieurs programmes peuvent être
en cours d’exécution en même temps sur une même machine.
 Mais à chaque instant, le processeur ne traite qu’un un seul programmes
lancés (un seul processus).
 La gestion des processus est effectuée par le système.
46
1. Définitions:
 Les processus correspondent à l’exécution de tâches. Plusieurs définitions
existent, on peut citer :
 Un processus est une tâche en train de s’exécuter. Il est doté d’un espace
d’adressage (ensemble d’adresses) dans lesquelles le processus peut lire et
écrire
 Un processus est l'activité résultant de l'exécution d'un programme par un
processeur. C’est l’image de l’état du processeur et de la mémoire au cours
de l’exécution du programme. C’est donc l'état de la machine à un instant « t
».
47
2. Quelques données concernant les processus
 le PID (Process IDentifier): chaque processus Unix est identifié par une valeur
numérique unique (PID). Le PID du premier processus lancé par le système est 1,
c’est le processus « init » père de tous les processus. Attention: Le PID est lié au
processus. Par exemple, si on lance 10 fois le même programme, on aura 10
processus, et par conséquent 10 PID différents.
 PPID (Prent Process ID): un processus (processus père) peut lancer lui aussi d’autres
processus, appelés processus fils. Le processus fils peut identifier son processus père
par un numéro désigné par PPID. Tous les processus ont un PPID sauf le processus 0
représente le processus de démarrage du système (qui a créé le processus « init »
qui a pour PID 1).
 UID (User IDentifier) et le GID (Group IDentifier) : A chaque processus, on associe
l'UID et le GID de l'utilisateur qui a lancé le processus. Les processus enfants héritent
de ces informations de son père. Dans certains cas (voir plus) on peut modifier cet
état.
48
3. Les états d’un processus
 A un instant donné, un processus peut être dans l'un des états suivants :
 actif (en Exécution) Le processus est en cours d’exécution sur un processeur.
Le passage de l'état actif à l'état prêt (interruption) est déclenché par le
noyau lorsque la tranche de temps attribué au processus est épuisée.
 prêt Le processus est suspendu provisoirement pour permettre l'exécution
d'un autre processus. Le processus peut devenir actif dès que le processeur lui
sera attribué par le système.
 bloqué (en attente) Le processus attend un événement extérieur pour
pouvoir continuer: Il a besoin d'une ressource pour continuer, une
entrée/sortie par exemple, frappe clavier, … . Lorsque la ressource est
disponible, il passe à l'état "prêt".
49
VI. Les entrées/sorties
50
 Lors de l’exécution d’une commande, un processus est créé. Celui-ci va alors ouvrir
trois canaux de communication:
 L’entrée standard,
 La sortie standard,
 La sortie d’erreurs standard.
 A chacun des trois canaux est affecté un nom de fichier et un numéro :
 Le fichier « stdin »: le processus lit les données en entrée à partir du fichier « stdin ».
Il est ouvert avec le numéro logique 0. Par défaut, il est associé associé au clavier.
 Le fichier « stdout »: le processus écrit les sorties qu’il produit dans le fichier « stdout
». Il est ouvert avec le numéro logique 1. Par défaut, il est associé à l’écran.
 Le fichier « stderr » : le processus écrit les messages d’erreur dans le fichier « stderr
». Il est ouvert avec le numéro logique 2. Par défaut, il est associé à l’écran.

Contenu connexe

PDF
système d'exploitation Linux commande et shell.pdf
PPT
Linux_Cours.ppt
PDF
Cours linux
PPTX
1514117367383.pptx
PPTX
1514117367383.pptx
PPT
Introduction aux systèmes d-exploitation (2).ppt
PPT
Introduction aux systèmes d-exploitation.ppt
système d'exploitation Linux commande et shell.pdf
Linux_Cours.ppt
Cours linux
1514117367383.pptx
1514117367383.pptx
Introduction aux systèmes d-exploitation (2).ppt
Introduction aux systèmes d-exploitation.ppt

Similaire à Cours SE - Partie 1.pptx genie informatique (20)

PPTX
chapitre0.pptx
PPTX
chaSEFRSEFREZRFEQSRFRERFQEZRFQZERFRpitre0.pptx
PDF
resume-theorique-m104-2203-6246fb9f3e558 (2).pdf
PDF
Formation ubuntu
PPT
PPT
Historique
PDF
Le Système Linux (1992)
PDF
Notions sur le commandes linux
PDF
chapitrdrgsrdgsregsregsefzqzdzedqede2.pdf
PDF
Chapitre i généralités et notions de base
PDF
cours_de_system<sefsefqzefe_d_exploitation.pdf
PPT
cours initiataion sous le Linux_Cours.ppt
PPT
Cours SE linux
PPTX
Sistema operativo frances
PDF
Install party
DOCX
Logiciel système
PPTX
cours01linuxfdfdfdfdfdfdfdfdfdfdfdfd.pptx
PDF
IntroCours1.pdf
PDF
0484-systemes-d-exploitation-os.pdf
DOCX
Systemes d'exploitation
chapitre0.pptx
chaSEFRSEFREZRFEQSRFRERFQEZRFQZERFRpitre0.pptx
resume-theorique-m104-2203-6246fb9f3e558 (2).pdf
Formation ubuntu
Historique
Le Système Linux (1992)
Notions sur le commandes linux
chapitrdrgsrdgsregsregsefzqzdzedqede2.pdf
Chapitre i généralités et notions de base
cours_de_system<sefsefqzefe_d_exploitation.pdf
cours initiataion sous le Linux_Cours.ppt
Cours SE linux
Sistema operativo frances
Install party
Logiciel système
cours01linuxfdfdfdfdfdfdfdfdfdfdfdfd.pptx
IntroCours1.pdf
0484-systemes-d-exploitation-os.pdf
Systemes d'exploitation
Publicité

Cours SE - Partie 1.pptx genie informatique

  • 1. Système d’Exploitation Pr. Mohamed Salim EL BAZZI Licence Professionnelle Génie Informatique Semestre 4 – 2022/2023
  • 2. 2 1. Définitions  L’ordinateur est un ensemble de ressources matérielles (hardware) exemple processeur, mémoire, disque dur, …  Un Système d’Exploitation (SE), Operating System en anglais (OS), est un ensemble de programmes (logiciels) qui permettent d’assurer la bonne gestion de l’ordinateur et de ses périphériques.  Il sert d’interface entre les ressources matérielles d’un ordinateur et les applications informatiques de l’utilisateur (software). Il cache les spécificités complexes du matériel.   Il est chargé du bon fonctionnement d’un ordinateur en fournissant à l’utilisateur un environnement plus facile à utiliser que le matériel:  - Il cache les limitations physiques (nombre de processeurs, taille mémoire).  - Il facilite le partage et l’utilisation des ressources physiques entre les différents programmes (plusieurs programmes peuvent être exécutés simultanément).  Exemples de systèmes d’exploitation : Windows, Unix, Linux
  • 3. 3 2. Rôle d’un système d’exploitation  Le système d’exploitation contrôle et coordonne l’utilisation du matériel: Il met à la disposition des utilisateurs, les ressources matérielles de l’ordinateur :  Gestion des ressources matérielles: le système gère de manière équitable et efficace les ressources matérielles (mémoire, processeur, périphériques, …).  Gestion du processeur: le système d'exploitation gère l'allocation du processeur entre les différents programmes. Pour l’utilisateur, les différents programmes fonctionnent parallèlement.  Gestion de la mémoire: le système d'exploitation gère l'espace mémoire alloué à chaque application et à chaque utilisateur. Il la partage entre tous les programmes. En cas d'insuffisance de mémoire physique, le système d'exploitation peut créer une zone mémoire sur le disque dur, appelée «mémoire virtuelle», qui permet d’exécuter des applications nécessitant plus de mémoire qu'il n'y a de mémoire vive disponible sur le système.
  • 4. 4  Sécurité / Accès aux données :  Accès aux périphériques: écran, imprimante, disque dur, réseau.  Le système d’exploitation s’assure que les programmes puissent les utiliser de façon standard.
  • 5. 5 3. Système d’exploitation UNIX  UNIX est un système d'exploitation multi-tâches et multi-utilisateurs.  Il est: Ouvert, c’est-à-dire il n’y a pas de code propriétaire (seules certaines implémentations sont propriétaires).  Portable, c’est-à-dire le code est indépendant de l’architecture (très peu de codes qui dépendent de l’architecture matériel de l’ordinateur).  Disponible sur différentes plateformes. La grande majorité des serveurs sur Internet fonctionnent sous UNIX.  Aujourd’hui, UNIX est très utilisé en informatique scientifique, et pour les serveurs réseaux.
  • 6. 6 Caractéristiques du système UNIX  Unix est un système d'exploitation multi-tâches (multithreaded en anglais): plusieurs processus (process en anglais), également appelées « tâches », peuvent être exécutées simultanément.  A chaque instant, le processeur ne traite qu’un seul processus (programme lancé), la gestion des processus est effectuée par le système.  Unix est un système d'exploitation multi-utilisateurs (multi-user): plusieurs utilisateurs peuvent utiliser le système en même temps (les ressources sont réparties entre les différents utilisateurs). Chaque utilisateur dispose de l’ensemble des ressources du système.  Le système Unix se charge de contrôler et de gérer l'utilisation et l’attribution des 8 ressources entre les différents utilisateurs.  Unix présente une interface utilisateur interactive et simple à utiliser: le shell. Cette interface fournit des services de haut niveau. Elle intègre un langage de commandes très puissant (scripts shell).
  • 7. 7 Caractéristiques du système UNIX  Sous Unix, du point de vue utilisateur, il n’y a pas de notion de disque physique (partition, disque externe, …) contrairement à MS-DOS, en effet sous Unix, tout est fichier. L’utilisateur ne voit qu’une seule arborescence de fichiers hiérarchiques.  Les périphériques sont aussi représentés par des fichiers, ce qui rend le système indépendant du matériel et par conséquent assure la portabilité; l’accès aux périphériques est donc identique à l’accès aux fichiers ordinaires.  La gestion de la mémoire virtuelle : un mécanisme d’échange entre la RAM et le disque dur permet de pallier au manque de RAM.  Processus réentrants : les processus exécutant le même programme utilisent une seule copie de celui-ci en RAM.  Exemple: deux utilisateurs qui utilisent l’éditeur « vi », dans ce cas une seule copie de « vi » qui sera chargée en RAM.
  • 8. 8 4. Architecture du système  Unix Un système informatique sous Unix/Linux est conçu autour d’une architecture en couche:  La couche physique (hardware): c’est la couche la plus interne: ressources matérielles (processeur, mémoires, périphériques,…).  Au centre le noyau (en anglais kernel): le noyau UNIX est chargé en mémoire lors du démarrage de l'ordinateur. Il gère les tâches de base du système à savoir: la gestion de la mémoire, des processus, des fichiers, des entrées- sorties principales, et des fonctionnalités de communication.  Fonctions systèmes : bibliothèque standard d’appels système.  L’interpréteur de commandes (le shell en anglais : coquille en français): c’est la partie la plus externe du système d'exploitation. Son rôle est d'analyser la commande et envoie des appels au noyau en fonction des requêtes des utilisateurs. C’est l’interface utilisateur-Système. C'est le premier langage de commandes développé sur Unix par Steve Bourne.  Utilitaires : éditeurs, compilateurs, gestionnaire de fenêtres et de bureau, etc.
  • 10. 10  UNIX est créé au Laboratoire BELL (AT&T), USA, en 1969. Il est conçu par Ken Thompson et Dennis Ritchie, et inspiré du système Multics (MULTiplexed Information and Computing Service ou service multiplexé d'information et de calcul) créé en 1965 au le MIT (Massachusetts Institute of Technology). Il constitue le premier système d'exploitation multitâche et multiutilisateur.  Initialement nommé Unics (Uniplexed Information and Computing Service)  En 1973, le système est réécrit en langage C (langage développé par Dennis Ritchie) ce qui l’a rendu simple à porter sur de nouvelles plateforme ce qui lui a donné un véritable succès.
  • 11. 11  Depuis la fin des années 70, deux grandes familles d’UNIX. - Une version développée essentiellement par l’université de Berkeley (Californie), et 10 nommée UNIX BSD (Berkeley Software Distribution). - Une version nommée UNIX Système V commercialisé par AT&T.  Projet GNU (1983) : objectif de développer un SE libre.  Linux (1991) : un noyau UNIX libre développé par Linus Torvald (étudiant à l'université d'Helsinki ) Premier OS complet GNU/Linux libre. Linux est à la  base d’une réécriture de Minix (1987: Andrew Tanenbaum, professeur à l'université libre d'Amsterdam a créé le système d'exploitation Minix). La version 1.0 en 1994, qui donne naissance à la distribution d'un système d'exploitation entièrement libre, GNU/Linux.
  • 12. 12  Linux (fera l’objet dans la suite des TP )  Système d’exploitation de type UNIX pour PC, initialement créé par Linus Torvalds ensuite un grand nombre de développeurs bénévoles ont participé à son développement.  Linux est gratuit et les codes sources sont disponibles (on a le droit d'étudier et de modifier le code source).  Principaux composants: - Noyau: coeur du système, fournit aux logiciels une interface pour utiliser le matériel. - Interface graphique X et shell (interpréteur de commande). - Nombreux utilitaires et programmes disponibles: compilateur GCC, éditeur Emacs, ….  Disponible sur de nombreux ordinateurs (super-calculateur, PC, PDA).  Interactif et batch
  • 13. 13 III. Connexion et déconnexion
  • 14. 14 III. Connexion et déconnexion  Puisque Unix est un système multi-utilisateurs, alors il comporte les mécanismes d’identification et de protection permettant d’éviter toute interférence entre les différents utilisateurs. On distingue deux types d’utilisateurs: les administrateurs systèmes et les utilisateurs normaux:  L’administrateur système appelé aussi « root », utilisateur privilégié ou super utilisateur (super user). Il dispose de tous les droits sur la machine et le système Unix. Il s’occupe de l’administration du système, en particulier il crée les comptes des utilisateurs.  L'utilisateur normal dispose des droits réduits qui sont définis par l'administrateur système.
  • 15. 15  Unix associe à chaque utilisateur (un compte):  Un nom d’utilisateur ou nom de connexion (appelé « login »). - Un mot de passe (password en anglais),  Un Home Directory (répertoire de l’utilisateur ou répertoire de connexion),  Un langage de commandes (shell).  Donc à chaque connexion, le système demande aux utilisateurs leur login et leur mot de passe pour pouvoir travailler sur la machine. Si les deux sont valides alors Unix initialise l’environnement et ouvre une session de travail.
  • 16. 16 1. Connexion  Pour se connecter à la machine et ouvrir une session de travail (pour pouvoir travailler sur la machine) il faut s’identifier. Pour cela, il faut:  Entrer le nom de connexion après le message «login»  Login : on tape ici le nom d’utilisateur  Entrer mot de passage après le message «password»  Password : on tape ici le mot de passe  Une fois connecté, l’utilisateur de trouve alors dans son propre répertoire de connexion (home directory) correspondant à son login (home directory).
  • 17. 17  Remarque: Pour des raisons de sécurité, les caractères du mot de passe sont cachés, et la vérification se fait après avoir tapé le login et le mot de passe. Si le login ou le mot de passe et incorrecte, un message d’erreur est alors affiché: « Invalid login name »  Attention: Unix fait la différence entre les minuscules des MAJUSCULES.
  • 18. 18 2. Déconnexion  Pour terminer la session de travail, la méthode de déconnexion dépend de l’environnement de travail:  Dans le cas d’un terminal, la commande de déconnexion est: « exit » ou « ctrl-D (^D) »  - Dans le cas d’environnement graphique, la méthode de déconnexion dépend l’interface graphique.  Remarque importante: Si vous éteignez la machine avant d'utiliser les procédures de déconnexion, vous risquez d'endommager les fichiers sur les disques.
  • 19. 19 IV. Introduction à la notion de système de fichiers (file system).
  • 20. 20  Le fichier est la plus petite entité logique de stockage permanent sur un disque ou d’autres supports physiques.  Il peut contenir du texte, des données, programmes images. ou des programmes stockés sur un disque.  Les fichiers sont classés dans des répertoires (catalogues).  Chaque répertoire peut contenir d'autres sous-répertoires, formant ainsi une organisation arborescente. 1. NOTION DE FICHIER ET DE RÉPERTOIRE
  • 21. 21 2. Nomenclature des fichiers  Le nom d’un fichier sous Unix est une suite de caractères, dont la taille peut aller jusqu’à 255 caractères. La plupart des caractères sont acceptés, y compris l'espace (très déconseillé). Cependant quelques caractères sont à éviter  * & ; ( ) ~ | ` ? - (en début de nom)  L’extension n’indique pas le type de fichier, par exemple, un exécutable n'a pas besoin d‘avoir une extension particulière. Un fichier qui a l’extension « .exe », ne veut pas dire que c’est un fichier exécutable. En faite le caractère « . » est considéré comme un caractère qui fait parti du nom du fichier et non pas un caractère de séparation entre le nom du fichier et son type (comme le MSDOS). Par conséquent, il est possible que le nom d’un fichier peut contenir plusieurs caractères « . » par exemple : nom_fichier.c.java.cpp
  • 22. 22 Problèmes de nomination  Exemples de noms de fichiers pouvant poser problèmes :  nom_fichier* // problème avec le caractère *  LP(s4) // problème avec les parenthèses ()  FPT&BDIA // problème avec le caractère &  resultat juin 2014.xls // problème avec l’espace  -f // problème avec le symbole « - » (moins)
  • 23. 23 3. Les différents types de fichiers  Pour l’utilisateur sous Unix, il n’existe pas la notion de disques physiques (tout est fichier).  L’utilisateur ne voit qu’une seule arborescence formée de répertoire et de fichiers. On distingue:  Les fichiers ordinaires : Ce sont soit des fichiers contenant du texte, soit des exécutables (ou binaires), soit des fichiers de données. Le système n'impose aucun format particulier aux fichiers et il les traite comme des séquences d'octets. Contrairement au système MSDOS, on ne peut pas connaitre, à priori, les types des fichiers. Pour connaitre les types des fichiers on utilise par exemple la commande: « file ».
  • 24. 24 3. Les différents types de fichiers  Les répertoires (les fichiers répertoires): c’est un ensemble de fichiers ou d’autres répertoires (sous-répertoires) de manière récursive. Ils permettent une organisation hiérarchique.  Les fichiers spéciaux : Ce sont des fichiers qui servent d’interface pour les divers périphériques (terminaux, disques dur, clavier, …). Les opérations de lecture/écriture sur ces fichiers sont directement dirigées vers le périphérique associé. Les fichiers correspondant aux périphériques sont stockés dans le répertoire « /dev » (devices).  Les pipes nommés et les liens symboliques.
  • 25. 25 4. Systèmes de fichiers 4.1 Définition  Un système de fichiers (File System en anglais), appelé aussi système de gestion de fichiers, est une structure de donnée qui définit l’organisation d'un disque (ou partition d'un disque). Il offre à l’utilisateur une vision homogène et structurée des données et des ressources : disques, mémoires, périphériques. Sous système Unix, tout est fichier, il n’y a pas de notions de disques, partition de disques, périphériques, ….  Les fichiers sont regroupés dans des répertoires et les répertoires contiennent soit des fichiers, soit d'autres répertoires. Une telle organisation génère une hiérarchie de répertoires et de fichiers organises en arbre:  La racine est désignée par « / » (slash): « / » désigne est le répertoire racine.  Les nœuds sont les répertoires non vides  Les feuilles sont les fichiers ou les répertoires "vides".
  • 26. 26  Sous Unix plusieurs systèmes de fichiers peuvent être rattachés au système de fichiers principal. Chaque système de fichiers peut correspondre physiquement à :  - une partition ou à la totalité d’un disque physique .  - un périphériques (un DVD, un disque externe, …) - …
  • 27. 27  Par contre, sous Windows, les partitions, les périphériques, les disques externes, … sont vus comme des lecteurs indépendants (C:, D:, ...). Sou Unix, on a:  Un seul arbre général.  Sa racine est désignée par « / ».  Chaque répertoire peut contenir des fichiers ou des sous-répertoires.  Un disque logique (partition, disque externe, clé USB, …) est vu comme un sous arbre qui se rattache à l’arbre principal. Le rattachement du sous arbre se fait automatiquement ou par l’utilisateur avec la commande « mount »
  • 28. 28 Après montage, le système de fichier de la clé USB est rattaché au système de fichiers principal.
  • 29. 29
  • 30. 30 4.2 Quelques principaux répertoires Unix  Chaque fichier Unix est placé dans l’arborescence de racine « / » (désigne le répertoire « root ») qui contient les sous-répertoires suivants :  / bin: utilitaires de bas-niveau (exécutables essentiels pour le système).  /home : Répertoire pour les utilisateurs. Chaque utilisateur possède son propre répertoire qui a le nom de son login.  /lib contient des bibliothèques partagées essentielles au système lors du démarrage  /mnt : contient les points de montage (accès aux autres systèmes de fichiers) des partitions temporaires (cd-rom, disquette, ...)
  • 31. 31 4.2 Quelques principaux répertoires Unix  /media : Certaines distributions montent les périphériques amovibles à cet endroit.  /etc: regroupe tous les fichiers de configurations des différents logiciels installés sur la machine ainsi que des fichiers de configuration système utilisés au démarrage de la machine.  /root: répertoire de l’administrateur root  /tmp contient les fichiers temporaires  /var : Fichiers dont le contenu varie /var/log : On trouve ici les logs des différents logiciels et serveurs. Cela permet de voir ce qui s'est passé quand quelque chose ne va pas. /var/spool : Fichiers en cours de traitement (file d'impression, mails en cours d'envoie...) /var/tmp : Fichiers temporaires (voir aussi /tmp).
  • 32. 32 4.3. Les répertoires « . » et « .. »  Quand on crée un répertoire, le système génère automatiquement deux sous répertoires, du répertoire créé, qui sont:  le répertoire « . »= représente un lien vers le répertoire créé.  le répertoire « .. » = représente un lien vers le répertoire père.  Utilités:  Par exemple pour accéder au répertoire père, il suffit d’écrire « cd.. » au lieu de spécifier le chemin vers le répertoire père.
  • 33. 33 5. Notion de chemin d’accès (pathname)  Pour accéder à un fichier ou à un répertoire, on doit spécifier son emplacement dans l'arborescence du système de fichier.  C’est-à-dire on doit spécifier le chemin d’accès (pathname) qui décrit l’emplacement ou se trouve le fichier dans l'arborescence du système de fichier.  Le chemin d’accès (pathname) est une suite de nom de répertoire séparés par « / » (slach), décrivant l'emplacement où se trouve un fichier ou un répertoire dans l'arborescence du système de fichier.  Pour cela, soit on utilise un chemin d’accès absolu ou relatif.
  • 34. 34 5.1. Chemin absolu:  Un chemin absolu c’est un chemin d’accès dans lequel on spécifie tous les répertoires à partir de la racine, donc le chemin d’accès commence par la racine « / » (root directory).  Exemple: Supposons que « cours » est un répertoire de l’utilisateur « etudiant ». Le chemin absolu pour accéder au répertoire « cours » est : /home/etudiant/cours/  Remarque: Le caractère « / » (slach) désigne le répertoire racine et sert aussi de séparateur entre sous-répertoires.
  • 35. 35 5.2. Chemin relatif:  Un chemin relatif est un chemin d’accès dans lequel on spécifie tous les répertoires à partir du répertoire. Par conséquent, un chemin relatif ne commence pas par « / » Exemples:  Pour accéder au sous-répertoire « exemples » du répertoire « cours » à partir du répertoire « etudiant », le chemin relatif est : cours/exemples  Pour accéder au répertoire « td » (sous répertoire du répertoire « etudiant ») à partir du répertoire « cours » est : ../TD ( « .. » désigne le répertoire « etudiant » : répertoire père).  Pour accéder au fichier « nom_fich » du répertoire courant : Soit on donne le nom du fichier, par exemple « ls nom_fich « Soit on précède le nom du fichier par « ./ », par exemple « ls ./nom_fich »
  • 36. 36 5.3. Le caractère tilde (« ~ »)  Le caractère tilde (« ~ ») désigne le répertoire de connexion d’un utilisateur (le home directory): « ~ » seul désigne le répertoire de connexion de l’utilisateur. « ~nom » désigne le répertoire de connexion de l’utilisateur « nom ».  Exemple: ~etudiant/cours : désigne le sous-répertoire « cours » de l’utilisateur « etudiant ». ~/.profile: désigne le fichier « .profile » situé dans le répertoire de connexion de l’utilisateur.
  • 37. 37 6. Notion d’inode  L’inode (Index NODE ou noeud d'index en Français), est une structure de données qui contient les informations fondamentales à un processus pour accéder aux fichiers, par exemple: le propriétaire du fichier, les droits d'accès, …. Elle est créée au même moment qu'un fichier. Structure d'un inode :  Le type (fichier ordinaire, spécial, catalogue ,...),  Le nombre de liens (voir après), - UID (User Identification): numéro d'utilisateur du propriétaire  GID (Group Identification) : numéro du groupe propriétaire  Taille du fichier en octets 18  Adresses des blocs de données (qui contiennent le fichier)  Droits du fichier  Date du dernier accès  Date de la dernière modification  Date de création
  • 38. 38 Tables d’inodes  Chaque fichier est référencé dans deux tables :  une table d'inodes, une table par système de fichiers: cette table regroupe tous les inodes fichier, qui sont regroupés l'un après l'autre. A chaque inode, correspond un numéro d’inode (inumber) qui est son rang dans la table des inodes. Ce numéro est unique au périphérique sur lequel le fichier est situé.  une table catalogue (une par répertoire) : cette table décrit les correspondances entre les noms de fichiers et les numéros d'inodes. La désignation d'un fichier se fait par l'intermédiaire du répertoire dans lequel il est stocké. Le système identifie un fichier non pas par son nom, mais par son numéro d’inode.
  • 39. 39 7. Les liens 7.1. Définition des liens  Puisqu’un fichier est identifié par son numéro d’inode et non pas par son nom de fichier, il est possible de donner plusieurs noms à un même fichier grâce à la notion de lien: ceci permet d’accéder au même fichier à différents endroits de l’arborescence.  Avantage:  Possibilité d’accéder au même fichier depuis des endroits et des noms différents  Une seule copie sur le disque et plusieurs façons d’y accéder.  Si l’un des fichiers est modifié, la même modification est prise en compte par l’autre fichier.  Simplifier l’accès à des fichiers dont les noms (chemin) sont difficiles à retenir.
  • 40. 40 7.2. Types de liens  On distingue deux types de liens : les liens symboliques« symbolic links » et les liens dur (ou lien physique) « hard links ». 19  Lien physique (hard link) Un lien dur permet de donner plusieurs noms de fichiers qui ont le même inode (c’est dire des fichiers qui partagent le même contenu). Ceci peut se réaliser en rajoutant de nouveaux noms, dans la table des catalogues, associés au même inode associé au fichier source. Dans ce cas le même fichier physique (inode) est pointé par différents noms de fichiers.  Le fichier source et le fichier lien pointent directement sur les données résidant sur le disque (l’information ne réside qu’une seule fois sur le disque mais elle peut être accédée par deux noms de fichiers différents). Les droits du fichier source ne sont pas modifiés.
  • 41. 41  Remarque:  Si le fichier source est effacé, le contenu n’est pas perdu et est toujours accessible par le fichier lien.  On ne peut pas faire des liens dur sur des répertoires,  On ne peut faire des liens durs que dans le même système de fichier. En effet, chaque système de fichiers a sa propre table d’inodes, par conséquent, des fichiers physiques appartenant à des disques distincts peuvent avoir le même inode.
  • 42. 42 Lien symbolique  Un lien symbolique ne rajoute pas une entrée dans la table catalogue, mais c’est un fichier texte spécial, rajouté dans la table des inodes, qui contient un lien (sorte d’alias) vers un autre fichier ou répertoire. Donc son numéro d’inode est différent du fichier source mais qui pointe sur le fichier source pour permettre d’accéder aux informations sur le disque. Toute opération sur ce fichier (lecture, écriture, …) s’effectue sur le fichier référencé.  Attention: Si le fichier source est effacé, le contenu est perdu et le fichier lien pointe sur quelque chose d’inexistant. L’information est donc perdue.
  • 43. 43  Remarque:  Un lien symbolique ne possède pas les limitations du lien dur. Il est possible d'effectuer des liens depuis et vers d’autre système de fichier.  Possibilité de faire des liens symboliques sur des répertoires.  La suppression de tous les liens symboliques n'entraîne que la suppression de ces liens, pas du fichier pointé.  La suppression du fichier pointé n'entraîne pas la suppression des liens symboliques associés. Dans ce cas le lien pointe dans le vide.
  • 45. 45  Le système Unix/Linux est multi-tâche car plusieurs programmes peuvent être en cours d’exécution en même temps sur une même machine.  Mais à chaque instant, le processeur ne traite qu’un un seul programmes lancés (un seul processus).  La gestion des processus est effectuée par le système.
  • 46. 46 1. Définitions:  Les processus correspondent à l’exécution de tâches. Plusieurs définitions existent, on peut citer :  Un processus est une tâche en train de s’exécuter. Il est doté d’un espace d’adressage (ensemble d’adresses) dans lesquelles le processus peut lire et écrire  Un processus est l'activité résultant de l'exécution d'un programme par un processeur. C’est l’image de l’état du processeur et de la mémoire au cours de l’exécution du programme. C’est donc l'état de la machine à un instant « t ».
  • 47. 47 2. Quelques données concernant les processus  le PID (Process IDentifier): chaque processus Unix est identifié par une valeur numérique unique (PID). Le PID du premier processus lancé par le système est 1, c’est le processus « init » père de tous les processus. Attention: Le PID est lié au processus. Par exemple, si on lance 10 fois le même programme, on aura 10 processus, et par conséquent 10 PID différents.  PPID (Prent Process ID): un processus (processus père) peut lancer lui aussi d’autres processus, appelés processus fils. Le processus fils peut identifier son processus père par un numéro désigné par PPID. Tous les processus ont un PPID sauf le processus 0 représente le processus de démarrage du système (qui a créé le processus « init » qui a pour PID 1).  UID (User IDentifier) et le GID (Group IDentifier) : A chaque processus, on associe l'UID et le GID de l'utilisateur qui a lancé le processus. Les processus enfants héritent de ces informations de son père. Dans certains cas (voir plus) on peut modifier cet état.
  • 48. 48 3. Les états d’un processus  A un instant donné, un processus peut être dans l'un des états suivants :  actif (en Exécution) Le processus est en cours d’exécution sur un processeur. Le passage de l'état actif à l'état prêt (interruption) est déclenché par le noyau lorsque la tranche de temps attribué au processus est épuisée.  prêt Le processus est suspendu provisoirement pour permettre l'exécution d'un autre processus. Le processus peut devenir actif dès que le processeur lui sera attribué par le système.  bloqué (en attente) Le processus attend un événement extérieur pour pouvoir continuer: Il a besoin d'une ressource pour continuer, une entrée/sortie par exemple, frappe clavier, … . Lorsque la ressource est disponible, il passe à l'état "prêt".
  • 50. 50  Lors de l’exécution d’une commande, un processus est créé. Celui-ci va alors ouvrir trois canaux de communication:  L’entrée standard,  La sortie standard,  La sortie d’erreurs standard.  A chacun des trois canaux est affecté un nom de fichier et un numéro :  Le fichier « stdin »: le processus lit les données en entrée à partir du fichier « stdin ». Il est ouvert avec le numéro logique 0. Par défaut, il est associé associé au clavier.  Le fichier « stdout »: le processus écrit les sorties qu’il produit dans le fichier « stdout ». Il est ouvert avec le numéro logique 1. Par défaut, il est associé à l’écran.  Le fichier « stderr » : le processus écrit les messages d’erreur dans le fichier « stderr ». Il est ouvert avec le numéro logique 2. Par défaut, il est associé à l’écran.