Software">
Nothing Special   »   [go: up one dir, main page]

Exposé Linux

Télécharger au format docx, pdf ou txt
Télécharger au format docx, pdf ou txt
Vous êtes sur la page 1sur 17

EXPOSÉ DE SYSTÈME D’EXPLOITATION

Table des matières


INTRODUCTION.......................................................................................................................................2
I. SYSTEME D’EXPLOITATION.........................................................................................................3
1. Definition............................................................................................................................................3
2. Fonctions d’un SE...............................................................................................................................3
II. SYSTEME D’EXPLOITATION LINUX............................................................................................4
1. Historique de Linux.............................................................................................................................4
2. Définition............................................................................................................................................5
3. Architecture d’Unix.............................................................................................................................6
4. Avantages et inconvénients de Linux..................................................................................................8
III-LES PROPRIETES DE LINUX...........................................................................................................10
1. Gestion de la mémoire.......................................................................................................................10
2. Gestion du processeur........................................................................................................................11
3. Gestion des périphériques..................................................................................................................13
4. Gestion des fichiers...........................................................................................................................16
5. Gestion des processus........................................................................................................................16
CONCLUSION.........................................................................................................................................19
ANNEXE : RESUME CHAPITRE 11 : SYSTEME D’EXPLOITATION-MATERIEL D’E/S................20

Page 1
EXPOSÉ DE SYSTÈME D’EXPLOITATION

INTRODUCTION

Linux étant un système d’exploitation à part entière et rival de Windows, il est le principal acteur du
marché de l’open source (source ouverte). Par ailleurs, un des gros OS (Operating Système, donc système
d’exploitation) du monde de l’informatique, mais pourtant très peu utilisé. Linux étant gratuit, on pourrait se
demander pourquoi il n’est pas à l’instar de son rival Windows (de Microsoft), le plus rependu parmi les
possesseurs d’ordinateur. De ce fait, notre analyse portera de prime à bord sur la présentation du systèmes
d’exploitation, en grand 2 sur les systèmes d’exploitation Linux et enfin en grand 3 sur les propriétés de
linux.

I. SYSTEME D’EXPLOITATION

1. Definition

Page 2
EXPOSÉ DE SYSTÈME D’EXPLOITATION

Le système d’exploitation (SE) est chargé d’assurer la liaison entre les ressources matérielles,
l’utilisateur et les applications (traitement de texte, jeu vidéo, etc.). Ainsi lorsqu’un programme désire
accéder à une ressource matérielle, il ne lui est pas nécessaire d’envoyer des informations spécifiques au
périphérique, il lui suffit d’envoyer les informations au SE, qui se charge de les transmettre au périphérique
concerné via son pilote. En l’absence de pilotes il faudrait que chaque programme reconnaisse et prenne en
compte la communication avec chaque type de périphérique.

2. Fonctions d’un SE

Le système d'exploitation offre une suite de services généraux facilitant la création et l'utilisation de
logiciels applicatifs. Les services offerts sont en rapport avec l'utilisation des ressources de l'ordinateur par
les programmes. Ils permettent en particulier d'exécuter des programmes, de lire et écrire des informations,
de manipuler les fichiers, de communiquer entre ordinateurs et de déceler des erreurs]. Ces services
permettent à plusieurs usagers et plusieurs programmes de se partager les ressources de l'ordinateur. Le
principal rôle du système d'exploitation est alors de gommer les différences entre les différentes architectures
informatiques, et d'organiser l'utilisation des ressources de manière rationnelle.

 Utilisation des périphériques

Chaque périphérique a ses propres instructions, avec lesquelles il peut être manipulé. Le système
d'exploitation en tient compte. Il permet au programmeur de manipuler le périphérique par de simples
demandes de lecture ou d'écriture, lui évitant la perte de temps de traduire les opérations en instructions
propres au périphérique. Le système d’exploitation offre une interface qui permet une exploitation simple et
efficace des périphériques de l'ordinateur. Il cache ainsi la complexité de gestion de ces derniers. Même si en
apparence, ce sont les applications qui exploitent les périphériques de l'ordinateur, en réalité toutes les
opérations d'entrée/sortie passent sous le contrôle du Système d’exploitation.

 La gestion du processus

Un processus est un programme en cours d'exécution dans la mémoire centrale 2. Le système


d'exploitation est chargé d'allouer les ressources (mémoires, temps processeur, entrées/sorties) nécessaires
aux processus et d'assurer que le fonctionnement d'un processus n'interfère pas avec celui des autres
processus

 Gestion de la mémoire centrale

Généralement, pour être exécuté un programme doit être chargé dans la RAM. Vu sa taille limitée, le
SE doit optimiser (bien organiser) son utilisation. La gestion de la mémoire consiste à remplir les fonctions
suivantes : Permettre le partage de la mémoire entre les processus. Protéger les zones mémoires utilisées.
Récupérer les zones mémoires lorsque les processus terminent leur travail. Optimiser (Maximiser) la
quantité de mémoire disponible (Etendre la RAM en utilisant la mémoire virtuelle : La mémoire virtuelle :
c’est l’utilisation d’une partie du disque dur comme extension de la mémoire centrale en créant un fichier

Page 3
EXPOSÉ DE SYSTÈME D’EXPLOITATION

d'échange (SWAP) dans lequel on stokes les informations lorsque la RAM est insuffisante).

II. SYSTEME D’EXPLOITATION LINUX

1. Historique de Linux

Avant même de parler de son origine, il faut préciser que le nom « Linux » ne désigne pas
officiellement le célèbre système d’exploitation. En réalité, il se nomme GNU Linux, la deuxième partie du
nom ne faisant référence qu’à son noyau, la partie qui gère les ressources de l’ordinateur et permet aux
composants de communiquer entre eux.
Le terme « GNU » vient lui d’un projet, lancé par Richard Stallman en 1983, qui avait pour objectif de
créer un nouveau système d’exploitation libre de droit. Ce n’est finalement qu’en 1991 qu’il deviendra le
système connu de tous grâce à l’arrivée du noyau Linux.
En 1991 Linus Torvalds, étudiant à l'université d'Helsinki, développe chez lui un noyau de système
d'exploitation inspiré par le système Minix. Un noyau est un élément fondamental d'un SE : il alloue les
ressources matérielles aux logiciels, il fait communiquer le matériel et le logiciel. Linux est un système
d'exploitation Open Source et une plateforme d'infrastructure informatique. Pour Linus Torvalds, il s'agissait
d'abord d'un passe-temps. C'est au cours de ses études universitaires que Linus Torvalds s'est mis en tête de
créer une version Open Source et gratuite du système d'exploitation MINIX, qui s'appuyait lui-même sur les
principes et la conception d'Unix. Ce passe-temps est depuis devenu le premier système d'exploitation en
nombre d'utilisateurs et en nombre d'installations sur serveurs Internet publics. Il est aussi le seul à être
utilisé sur les 500 superordinateurs les plus rapides. Le 5 janvier 1992, Linus annonce qu'il change sa licence
de Linux pour être compatible avec GNU, c'est l'événement déclencheur. Des développeurs partout à travers
le monde commencèrent à travailler ensemble sur différentes distributions pour créer des systèmes
d'exploitation Libre. Courant 1993, les premières distributions GNU/Linux voient le jour avec Debian,
Redhat et Slackware. Le noyau Linux est passé de 10.000 lignes de code à ses débuts à 27.000.000
actuellement, grâce aux dizaines de milliers de développeurs participant Librement à son développement à
travers le monde.

2. Définition

Le système Linux est un système multi-utilisateurs et multi-tâches. En tant que système d'exploitation,
son rôle principal est donc d'assurer aux différentes tâches et aux différents utilisateurs une bonne répartition
des ressources de l'ordinateur (mémoire, processeur(s), espace disque, imprimante(s), programmes
utilitaires...) et cela sans intervention des utilisateurs; il prend totalement en charge ces utilisateurs et lorsque

Page 4
EXPOSÉ DE SYSTÈME D’EXPLOITATION

les demandes sont trop importantes pour être satisfaites rapidement, l'utilisateur le ressent par un certain
ralentissement (qui peut être effectivement important, voire insupportable...), mais le système (en principe)
ne se bloque pas. Linux est par ailleurs un système de développement et les utilisateurs y ont à leur
disposition un très grand nombre d'outils, pour la plupart assez simples à utiliser, leur permettant d'écrire, de
mettre au point et de documenter leurs programmes (éditeurs, compilateurs, débogueurs, système de
traitement de textes...). Les utilisateurs ont ainsi à leur disposition une boîte à outils bien garnie, le principal
problème qui se pose à eux étant de savoir ce qu'elle contient exactement et à quoi sert chacun de ces outils !

En résumé, on peut dire que le système est composé de :

 Un noyau assurant la gestion de la mémoire et des entrées-sorties de bas niveau et


l'enchaînement des différentes tâches ;
 Un (ou plusieurs) interpréteur(s) de langage de commandes; il existe en effet différents
langages de commandes nommés Shell, le plus connu étant le Bourne Shell (du nom de son auteur), un autre
étant le C-Shell développé à l'université de Berkeley et le plus répandu actuellement étant le Bash.
 Un système de messagerie assez complet (courrier, conversation en temps réel, journal de bord)
;
 Un grand nombre de programmes utilitaires dont évidemment un compilateur de langage C, des
éditeurs, des outils de traitement de textes, des logiciels de communication avec d'autres systèmes Linux (ou
autres).

3. Architecture d’Unix

 Historique

L’objectif primordial des concepteurs d’Unix était de fournir un environnement confortable pour
l’exécution mais surtout pour la réalisation de programmes d’application (encadré). Unix est donc un
système ouvert, où les programmes à exécuter ne sont pas fixés une fois pour toutes. L’idéal pour mettre au
point un programme est de travailler de façon interactive : le cycle compilation/essai/correction doit être
aussi court que possible. Pour ce type de travail, le meilleur support du texte du programme est le fichier sur
disque.

À l’époque où Unix a été conçu, ce cahier des charges n’était réalisable que sur une machine de prix
relativement important : un gros mini‐ordinateur. Une telle machine ne pouvait être dédiée à un seul usager.
Le système Unix est donc capable de diviser son attention entre plusieurs travaux indépendants. La réunion
de ces travaux consomme en général plus de place en mémoire qu’il n’en existe sur l’ordinateur utilisé. Dans
ce cas, Unix gère les échanges avec les disques de façon à ne conserver en mémoire centrale que les
informations utiles à court terme (mémoire virtuelle).

L’architecture d’UNIX est représenté sur la figure suivante :

Page 5
EXPOSÉ DE SYSTÈME D’EXPLOITATION

U ti l i s a teurs

che l a plus
cou ex
l l= t
=

er
u k e

e
a rne

Sh
oy

ne
N

l
ateri

M
Architecture d’UNIX el

 COMMENTAIRES

Le Noyau : la partie principale du systeme d’exploitation

 Gestion des ressources


 Communication entre logiciel et matériel
 Niveau d’abstraction pour le matériel
 Communication inter-processus
 Gestion du système de fichiers
 Support réseau
 Modèle de pilotes pour le matériel
 Comporte de nombreuses fonctions qui permettent un accès direct au matériel (disques durs,
mémoire, . . .)

Le Shell Unix (anglais : coquille)


Le shell UNIX est un programme qui permet d’accéder aux fonctionnalités du système
d’exploitation, il permet entre autre de :

 Lire le Logiciel du système d’exploitation


 L’interaction entre l’utilisateur et le système d’exploitation
 Le lancement / arrêt des programmes, contrôle des processus, manipulation des fichiers...
 L’interprétation et exécution des instructions de l’utilisateur : Interpréteur de commandes
 Outil très puissant et programmable : manipulation de Variables

Page 6
EXPOSÉ DE SYSTÈME D’EXPLOITATION

4. Avantages et inconvénients de Linux

Linux est un système d'exploitation (l'équivalent de MAC/OS ou Windows). Avec Linux, vous n'êtes
pas obligé d'avoir MS Windows sur votre machine, mais les deux peuvent très bien cohabiter(2). Sous Mac,
vous ne pouvez pas lancer un programme fait pour Windows (sauf par l'intermédiaire d'un émulateur), sous
Linux, il en est de même(3). Mais Linux est compatible UNIX et il existe beaucoup de programmes pour
Linux.

 Avantages

Quelques avantages de Linux :


 Il est gratuit, vous pouvez tout charger par ftp, ou acheter des cdroms. Il est en général livré
avec une grande bibliothèque de programmes gratuits (d'où les multiples cd) souvent sous licence "GNU
Public Licence".
 Il fonctionne sur une dizaine de plateformes dont les plus classiques PC et Power-PC.
 Il existe une énorme documentation gratuite, cela va des premiers pas sous Linux à la
configuration d'un firewall.
 Il est rapide.
 Il est multitâche préemptif (réellement), 32 bits (64 sur DEC/ALPHA), multi-utilisateurs et
supporte X-Windows. Par exemple, cela permet, si vous avez plusieurs machines, de les connecter en réseau
pour avoir une machine en tant que serveur et les autres en tant que simples terminaux X. Pour une puissance
équivalente, on fait de grosses économies (de temps, d'argent etc).
 Il est très sociable : il peut cohabiter avec d'autres OS(2) , il peut lire et écrire les disquettes et
disques durs sous beaucoup de formats : FAT16/32 (dos & win95/98), NTFS(5), mac etc. De même pour le
réseau : internet, netware (IPX), appletalk, AX25 mais pas NetBEUI(6) (windows).
 Il a un très bon potentiel d'évolution :
 De plus en plus de personnes l'utilisent et développent pour le système Linux.
 Les sources sont ouvertes ce qui permet d'évoluer très vite autant en innovation qu'en
correction de beug.

 Inconvénients
Les logiciels vendus dans le commerce ne sont pas compatibles avec Linux.
Il y a peu de pilotes "propriétaires" car les fabricants de cartes graphiques -à part ATI et
Nvidia- et de périphériques (scanners, imprimantes, etc) se désintéressent encore de Linux, et ne conçoivent
pas une version de leurs pilotes (drivers) pour ce système d'exploitation.... Il faut alors s'en remettre au
travail des communautés de développeurs indépendants.
L'absence de participation de nombreux fabricants de matériel informatique ne facilite pas le
travail des développeurs, et c'est dommage...On peut lire à propos du module Linux pour différentes

Page 7
EXPOSÉ DE SYSTÈME D’EXPLOITATION

webcams: "A ce jour, aucun constructeur n'a souhaité participer à ce travail...Ceci limite nos possibilités et la
qualité du pilote mais, sans informations du fabricant ni documentation technique, tout n'est pas possible".
On est quelquefois obligé d'utiliser le "Terminal". Cela peut rebuter certains utilisateurs, car la
syntaxe des commandes à taper dans le Terminal est parfois assez complexe. C'est le côté élitiste de Linux.

III-LES PROPRIETES DE LINUX

1. Gestion de la mémoire

La gestion de ma mémoire sous linux est souvent source de questions et d’inquiétudes. En effet, on se
retrouve souvent fréquemment avec un serveur utilisant beaucoup de sa mémoire vive. Nous allons expliquer
les raisons de ce phénomène ainsi que donner quelques pistes afin de pouvoir vérifier si cette utilisation a un
impact sur les performances de notre serveur.
Les différents espaces de mémoires.
Les différents espaces de mémoire d’un système LINUX sont les suivantes :

- Used : la mémoire utilisée par les processeurs et le noyau.


- Free : la mémoire qui est disponible.
- Shared :la mémoire qui est partagée par plusieurs processeurs en même temps. Elle est incluse
dans la mémoire <<used>>. La mémoire partagée contient également le code des processus qui sont lancés
plusieurs fois. Le code n’est chargé qu’une seule fis dans la mémoire. Il est donc difficile de d’analyser la
place exacte prise par un processus dès qu’il utilise de la mémoire partagée.
- Bufered / cache : elle accélère les accès disques et fichiers. L’espace qu’elle occupe est
disponible pour d’autres processus en cas de besoin. Nous attirons votre attention sur le fait que plus la
mémoire disponible est faible, moins le mécanisme de cache disque sera efficace. Tous les SGBD se basent
sur ce mécanisme pour accélérer leurs traitements. Donc si toute la mémoire est utilisée, il n’y a plus de
possibilité de faire du cache, et chaque accès disque est plus couteux.
- SWAP : si des processus sont inoccupés, ils peuvent être transférés dans le SWAP et libérer de
la mémoire vive. Ce n’est pas un problème tant que la machine n’est pas à cours de mémoire. Cela permet de
libérer de la mémoire pour des processus qui en auraient plus besoin, ou pour le cache disque. Le SWAP
prend également le relais quand la quasi-totalité de la RAM est utilisée.
Le fonctionnement de la mémoire.
Linux évite le gaspillage de la mémoire, c’est pour ça qu’il emploie un maximum de RAM afin d’en
optimiser l’usage. Les processus basculent sur la SWAP quand la valeur configurée dans la swapiness est
atteint (en %).
Pour connaitre cette valeur il faudra taper la commande :
Cat/proc/sys/vm/swappiness :
Page 8
EXPOSÉ DE SYSTÈME D’EXPLOITATION

Utilisateur 1 : ~ /$ cat/proc/sys/vm/swappiness 60


Dans cet exemple dès qu’il restera 60% de RAM de disponible, les processus basculeront sur SWAP.
Une SWAP trop utilisée générera des lenteurs sur la machine.
En bref, linux utilise le plus de RAM possible même si peu de logiciels tournent, afin d’optimiser les
performances. Si la RAM est saturée (swappiness atteint), des processus basculent sur la SWAP. Si la
SWAP est trop chargée, le système subira des lenteurs.
Les outils:

- HTOP : sous Linux, il est possible d’avoir un aperçu sur l’état des différents processus en cours
grâce à la commande « top » mais il existe aussi l’utilitaire htop qui permet de visualiser, on dirait même de
gérer les processus de manière interactive. Grace à lui on pourrai rechercher, tuer les processus et mêmes les
trier selon un critère (utilisation de mémoire, cpu…) et d’autres fonctions disponible toute via l’interface
htop.
- FREE : free est une commande LINUX permettant d’afficher des informations de disponibilité
sur la mémoire vive du système.

Pour conclure, le fait que votre RAM soit utilisée dans sa quasi-totalité n’est pas forcement signe de
mauvais fonctionnement ou de ralentissement. En revanche la SWAP ne doit jamais être remplie sous peine
de ralentir le système.

2. Gestion du processeur

L’ACPI (Advanced Configuration Power Interface) et les paramètres du BIOS (Basic Input
Output System).
L’ACPI est une interface unifiée sur les ordinateurs du bureau et le serveur, permettant de connaitre et
de modifier les méthodes de gestion de l’énergie. Le but de cette norme est de réduire la consommation
énergétique en utilisant par exemple des modes de veille par périphérique ou sur l’ordinateur entier.
Les C-States, ou idle states.
Ici on voit souvent passer de références aux C-states dans le BIOS ou sur internet (exemple : C0, C1,
C3, C6, …) et la signification du C n’apparait souvent pas clairement sur le net. Le C représente le Core, soit
des états de veille ou de fonctionnement par cœur de processeur.
-C0 : processeur allume (sans économie d’énergie).
-C1 : processeur a l’arrêt mais prêt à repartir avec son interface en fonction.
-C3 : processeur en veille (cache vide).

Page 9
EXPOSÉ DE SYSTÈME D’EXPLOITATION

-C6 : processeur en veille profonde.


Le BIOS donne accès à un réglage qui permet de communiquer au SE (Système d’Exploitation) l’état
des C-states afin que les informations remontent au noyau. En terme de latence tous les C-states ne sont pas
égaux (exemple : le C6 est réputé pour être le plus long à modifier). Les C-states n’évoluent pas juste lors
des extinctions physiques des machines mais aussi souvent en cours de fonctionnement.
Les P-states : speedstep, Turbo Boost et compagnie.
Le P représente dans P-states signifie (Package). Contrairement aux C-states qui sont principalement
des états de veille, les P-states décrivent des états de fonctionnement du cœur du processeur. Plus
précisément il s’agit du Couples de Voltage-Fréquence qui influent sur la consommation énergétique en
fonctionnement ainsi que sur les performances du processeur (exemple : les technologies Intel SpeedStep et
AMD Cool and Quiet) correspondent techniquement aux P-states. Les P-states permettent de réduire la
fréquence nominale d’un ou plusieurs cœurs du processeur. Les P-states sont des overclocking et
underclocking automatise qui sont des mots clés qu’on retrouve dans le BIOS et qu’il faut activer pour en
profiter. Les P-states possède un intérêt pour tous les types d’ordinateurs (au mobile il prolonge la batterie, il
économise l’énergie en passant par le serveur). Le plus récent des P-states qu’on trouve est le Intel Turbo
Boost et le AMD Turbo Core qui permets d’augmenter la fréquence d’un nombre limité de cœur de
processeur (exemple : 2 à 4 sur un total de 8) dans le but de d’améliorer les performances pour ne pas faire
surchauffer le processeur.

Afficher les C-states en cours de fonctionnement sous linux.


Le programme i7z permets de montrer le de processeur pour chaque state (C0, C1, C3, C6). C’est un
outil complet mais compatible avec les processeurs Intel uniquement.
Afficher les C-states compatibles sous linux.
Pour afficher le C-states pris en charge par le processeur, le programme cpupower, s’utilise avec
l’option idle-info.
Modifier les C-states sous linux.
Il existe plusieurs leviers pour modifier les C-states :
-les BIOS comporte généralement une option pour désactiver tout ou une partie des C-states.
-le paramètre de boot du noyau linux (processor. max_cstate=1 idle=poll) désactive à l’aide du logiciel
tous les C-states supérieurs a 0
Afficher les P-states en cours de fonctionnement sous linux.
Pour afficher la fréquence des cœurs de processeur en temps réel, la commande i7z et le programme
turbo stat affiche la fréquence de manière plus concise.

Page 10
EXPOSÉ DE SYSTÈME D’EXPLOITATION

Lister les P-states compatibles sous linux


Le programme cpupower et son option frequency-info permets de lister les fréquences supportées par
le processeur (exemple : SpeedStep et Turbo Boost).
Modifier les P-states sous linux
Le cpupower peut modifier les fréquences des processeurs via son option frequency-set. Plutôt que de
modifier manuellement la fréquence de chaque cœur on fais appel aux gouverneurs du SE qui sont des
modes de gestion. Par exemple on utilisera power Save pour minimiser la consommation énergétique et
performance pour maximiser la rapidité d’exécution vue que le noyau adapte les P-states en fonction de la
charge.
Les interruptions sous linux
Une interruption est un évènement qui modifie la séquence d’instruction exécutées par le processeur.
Nous avons deux types d’interruption :
-Interruption synchrone(exception) qui sont produite par le CPU lors du traitement des instructions.
-Interruption asynchrone(interruption) qui sont émise par d’autres périphériques matériels.
NB : le paramètre de boot du noyau (intel_pstate=disable) permet de désactiver l’implémentation Intel
des P-states ainsi le processeur sera alors cadence à sa vitesse nominale sans modification. C’est une
opération radicale.

3. Gestion des périphériques

udev est le gestionnaire de périphériques de Linux apparu dans le nouveau 2.6.


Il remplace l'ancien système devfsd et hotplug et fusionne certains éléments de HAL (Hardware
Abstraction Layer) devenu obsolète.
C'est donc un daemon/service qui permet le branchement à chaud de périphériques et la reconnaissance
de nouveaux matériels sur Linux.
Cela concerne n'importe quel type de matériel comme une carte réseau, des disques durs externes (y
compris des clés USB), des souris, des claviers, des manettes de jeu et des manettes de jeu, des lecteurs de
DVD-ROM, etc.
LE RÉPERTOIRE /DEV ET SYSFS
/dev/
Dans Linux, les périphériques sont stockés sous la forme de fichiers dans Sysfs. On nomme ces
derniers des noeuds (nodes).

Page 11
EXPOSÉ DE SYSTÈME D’EXPLOITATION

/dev est un système de fichiers virtuels qui stockent des fichiers spéciaux (special file) et des fichiers
de périphérique (device file). Mais on trouve d'autres aussi des fichiers spéciaux comme /dev/null pour le
rejet d'entrée ou /dev/random un générateur de nombres aléatoires.
devfs était l'implémentation de ce système de fichiers virtuels jusqu'au noyau 2.6. udev a alors pris sa
place. Auparavant les fichiers dans /dev étaient statiques, avec le gestionnaire de périphériques Linux udev
fournit dynamiquement uniquement les nœuds pour les périphériques réellement présents sur un système
Sysfs et /proc/sys/
sysfs est un pseudo système de fichiers introduit dans le noyaux Linux 2.5.
Il expose à l'utilisateur différentes informations provenant du noyau et notamment les périphériques
matériels et les pilotes de périphériques associés du modèle de périphérique du noyau à l'espace utilisateur
via des fichiers virtuels. Udev dépend de ce système de fichiers sysfs qui rend les périphériques visibles dans
l'espace utilisateur. Lorsqu'un périphérique est ajouté ou supprimé, des événements du noyau sont produits
qui avertiront Udev dans l'espace utilisateur.

UDEV : LE GESTIONNAIRE DE PÉRIPHÉRIQUES DE LINUX


Qu'est-ce que udev ?
L'udev, dans son ensemble, est divisé en trois parties :
Bibliothèque libudev qui permet d'accéder aux informations de l'appareil Daemon/service de l'espace
utilisateur udevd qui gère /dev et s'active donc au démarrage de Linux
Utilitaire de ligne de commande d'administration udevadm pour les diagnostics.
udev prend en charge la dénomination des périphériques persistants.
Par exemple, tout disque dur est reconnu par un identifiant unique, si vous changez l'ordre des
périphériques, udev gardera les mêmes noms. Ce n'était pas le cas avant avec devfs. Lorsque vous aviez trois
disques, si vous en enleviez un, cela pouvait décaler les lettres de lecteurs.
De même avec les cartes réseaux eth0, eth1.
Enfin udev donne plus de pouvoir à l'utilisateur qui peut interagir avec les périphériques à travers des
règles.
Par exemple, ce dernier :
Changer ou figer le nom assigné par défaut à un périphérique
Attribuer des permissions et autorisations sur l'utilisation d'un périphérique
Exécuter un script lors de la connexion ou déconnexion d'un périphérique

Page 12
EXPOSÉ DE SYSTÈME D’EXPLOITATION

Comment fonctionnent la détection de nouveaux périphériques ?


Le daemon udev écoute le socket netlink que le noyau utilise pour communiquer avec les applications
de l'espace utilisateur. Le noyau envoie un tas de données via le socket netlink lorsqu'un périphérique est
ajouté ou supprimé d'un système. Le daemon Udev récupère toutes ces données et les traite pour effectuer
les opérations nécessaires à l'ajout d'un nouveau matériel.
Par exemple, la création du nœud de périphérique, le chargement du module du noyau, etc.
Les règles udev
Les règles udev permettent de paramétrer des actions spécifiques lors de l'insertion ou la découverte
d'un périphérique par Linux.

4. Gestion des fichiers

Un fichier est une collection logique d’information. Un système de fichiers est une collection de
fichiers. Par D’un autre côté, le système de gestion des fichiers (SGF) est une façon de stocker les
informations et de les organiser dans les fichiers sur des mémoires secondaires (pour le matériel
informatique, il s’agit de mémoire de masse comme un disque dur, un disque SSD, un CD-ROM, une clé
USB, une disquette, etc.). Une des fonctions d'un SE est de masquer les spécificités des disques et des autres
périphériques d'entrées/sorties et d'offrir au programmeur un modèle de manipulation des fichiers agréable et
indépendant du matériel utilisé. Les appels système permettent de créer des fichiers, de les supprimer, de lire
et d'écrire dans un fichier. Il faut également ouvrir un fichier avant de l'utiliser, le fermer ultérieurement. Les
fichiers sont regroupés en répertoires arborescents ; ils sont accessibles en énonçant leur chemin d'accès
(chemin d'accès absolu à partir de la racine ou bien chemin d'accès relatif dans le cadre du répertoire de
travail courant). Le SE gère également la protection des fichiers.
Avec le SE Linux, les fichiers sont enregistrés dans une structure hiérarchisée en arbre. Ce système de
fichiers est donc composé d’une racine et de nœuds qui sont des répertoires et des feuilles qui sont des
fichiers ordinaires qui contiennent les données et les programmes.
Les droits d’accès aux fichiers sous Linux sont de trois ordres : accès en lecture (r), en écriture (w) et
en exécution (x). A partir de ces trois options, on pourra effectuer toutes les opérations de base sur les
fichiers (création, copie, lecture, destruction…). Ces autorisations vont être données pour trois niveaux
d’utilisateurs : pour l’administrateur (propriétaire), pour le groupe auquel appartient l’administrateur et pour
le reste des utilisateurs.

Page 13
EXPOSÉ DE SYSTÈME D’EXPLOITATION

5. Gestion des processus

Qu’est-ce que la gestion des processus sous LUNIX


C’est une instance d’un programme en cours d’exécution. Chaque processus sous Linux a un
identifiant de processus (PID) ou ID et il est associé à un compte d’utilisateur et de groupe particulier.
Chaque processus du système a un PID unique. Linux est un système d’exploitation multitâche, ce qui
signifie que plusieurs programmes peuvent être exécutés en même temps (les processus sont également
appelés tâches).

Comment fonctionnent les processus sous Linux


Dans les systèmes de type Linux et Unix, chaque processus se voit attribuer un ID de processus, ou
PID. C’est ainsi que le système d’exploitation identifie et garde une trace des processus. Cela interrogera
simplement l’ID de processus et le renverra. Le premier processus généré au démarrage, appelé init, reçoit le
PID de « 1 ».
La gestion des processus est donc dépendante du système d’exploitation et de son usage. Pour en
comprendre le fonctionnement, nous allons nous attarder à la découverte de Linux d’abord et de Windows
un peu plus tard.
Un processus peut appeler d'autres processus que l'on appelle sous-processus. On appelle le processus
créateur, le père, et les processus créés, les fils. Les processus peuvent donc se structurer sous la forme d'une
arborescence. Au lancement du système, il n'existe qu'un seul processus (init), qui est l'ancêtre de tous les
autres. On peut voir cet arbre avec la commande pstree-G.
Pour les systèmes multitâches, l'initialisation démarre par la création du processus père (init chez
UNIX-LINUX) qui se trouve à la tête de l'arborescence de processus qui suivra nécessairement. Par
exemple, init démarre tous les processus nécessaires pour permettre aux terminaux branchés au système
d'établir une connexion et de lancer le shell de base servant à la lecture des commandes de l'utilisateur. Les
commandes provenant alors des terminaux créent d'autres processus qui se greffent à l'arbre unique des
processus
Un processus LINUX se décompose en deux parties
 En un espace d’adressage (visible par l’utilisateur /programmeur)
 Un bloc de contrôle du processus : lui-même décompose en une entrée dans la table des
processus du noyau struct proc et une structure appelée zone u définir dans <sys/user .h>
Cet ainsi que LINUX apportent une multiplicité des exécutions car plusieurs processus peuvent être
l’exécution d’un même programme, et une protection des exécutions car un processus ne peut exécuter que
ses instructions propres et ce de façon séquentielle. Les processus sous LINUX communiquent entre eux et
avec le reste du monde grâce au appels système (c’est lorsqu’un programme s’interrompt pour demander au
système d’exploitation d’accomplir pour lui une certaine tache)

Page 14
EXPOSÉ DE SYSTÈME D’EXPLOITATION

CONCLUSION

Il était question pour nous au cours de notre devoir de parler de Linux, qui est un système
d’exploitation. En effet, Linux est un système d’exploitation libre, c’est-à-dire composé de logiciels libres.
Comme particularités de Linux, on peut citer :

 La coordination entre les autres applications et l’utilisateur ;


 Le matériel ancien peut être généralement recyclé sous Linux, car la pérennité des pilotes libres
est également l’un des points forts de Linux.
 Le contrôle sur les performances du système ;
 Concernant la sécurité, pour protéger au mieux notre serveur sous linux et ses dérivés, certaines
opérations sont à faire :
o Protéger l’utilisateur root ;
o Interdire les visiteurs.
o Etc.

Page 15
EXPOSÉ DE SYSTÈME D’EXPLOITATION

ANNEXE : RESUME CHAPITRE 11 : SYSTEME D’EXPLOITATION-


MATERIEL D’E/S

L'une des tâches les plus importante d'un système d'exploitation est la gestion des périphériques
d'entrée/sortie. Le système d'exploitation doit envoyer des commandes aux périphériques, intercepter les
interruptions et traiter les erreurs ; fournir une interface entre les périphériques et le reste du système. Ces
périphériques sont de type bloc et de type caractère.
Le contrôleur de périphériques
C'est un circuit électronique spécialisé dans la gestion des périphériques particuliers. Les contrôleurs
du processeur et ceux des périphériques communiquent au moyen de bus.
Les transmissions synchrones et les transmissions asynchrones
Lors de la transmission synchrone, les données sont envoyées sous la forme de trames tandis que lors
de la transmission asynchrone, les données sont envoyées sous forme d'octets ou de caractères.
La communication avec les périphériques E/S
Le CPU communiqué de 3 façons avec les périphériques :
•Les instructions spéciales E/S: ici le microprocesseur va périodiquement lire l'état des périphériques
d'entrée et modifier si nécessaire l'état des ports de sortie.
•Les périphériques mappés en mémoire : ici les registres apparaissent directement dans l'espace
d'adressage physique du processeur. Les transferts s'effectuent de façon identique à ceux des mémoires.
Seule l'adresse utilisée permet d'identifier la cible..
•Accès direct à la mémoire : cette approche est utilisée lorsqu'on doit procéder à un transfert rapide
d'un grand nombre de données. Les octets sont transférés directement d'un périphérique à l'autre via un
circuit appelé contrôleur DMA qui prend la place du processeur et gère les bus d'adresse et de contrôle.
Interrogation vs interruptions des E/S
L'interrogation est le moyen le plus simple de communiquer avec le processeur dans ce sens où les
périphériques d'entrée/sortie mettent simplement les informations dans un registre d'état et le processeur doit
venir chercher les informations.
L'interruption quant à elle est utilisée lorsque le processeur doit réagir rapidement à un changement
d'état d'un port d'entrée. Le périphérique prévient le processeur par une ligne d'interruption. Le processeur
interrompt la tâche en cours, sauté dans le sous-programme destiné à gérer la demande spécifique qui lui est
adressée. Le processeur reprend l'exécution du programme principal là où il l'avait laissée et donne un
résultat cohérent.

Page 16
EXPOSÉ DE SYSTÈME D’EXPLOITATION

Page 17

Vous aimerez peut-être aussi