Vous êtes sur la page 1sur 15

REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET POPULAIRE

MINISTERE DE L’ENSEIGNEMENT SUPERIEUR ET DE LA RECHERCHE SCIENTIFIQUE

Université Djilali Liabes de Sidi- Bel-Abbes


Faculté de Génie Electrique
Département De Télécommunications

Master 1 réseaux des télécommunications

Le systheme d’exploitation :

Responsable de travail :
MR A.GRABA
Présenté par :
BOURANE Abir
HESSEN Meriem

Année universitaire :2020/2021


1.C’est quoi un système d’expoloitation ?

SE (OS = Operating System) :


Programme de base qui assure la gestion du matériel
(clavier, écran, disque dur...), du système de fichier et des
applications des utilisateurs. Par exemple :
Unix , Windows , MacOS

Le système d'exploitation est un intermédiaire


E entre les logiciels d'application et le matériel.

2.C’est quoi le système d’exploitation LINUX ?


2.1 Le système Unix :
UNIX a été développé à l'origine en 1969 par les employés de l'équipe des laboratoires AT&
T comprenant Ken Thompson, Dennis Ritchie et Brain Kernighan. UNIX est une famille
de systèmes d’exploitation informatiques multitâches et multi-utilisateurs dérivés du
système Unix d’origine

Schéma d’exploitation de la machine :


Shell : interpréteur de commandes Unix (vérifie, interprète
les commandes, exécute et renvoie les réponses). Le Shell
envoie des appels au noyau en fonction des requêtes des
utilisateurs
noyau : couche logicielle la plus interne du S.E Unix dédiée
à la gestion des composants matériels : processeur,
mémoire, périph.Autour du noyau gravite un certain
nombre d’utilitaires.
2.2 Le système Linux/GNU :
Le système GNU-Linux est la rencontre d’une technologie, le noyau Linux et d’une
philosophie de développement et de diffusion. C’est un système au développement
collaboratif (par une communauté) qui est distribué librement et permet l’utilisation
de tous les logiciels libres développés pour son architecture.
Le noyau Linux est historiquement une version libre du système UNIX développé
initialement par le Finlandais Linus Torvalds à partir du début des années 1990.
Le projet GNU est celui du développement collaboratif et libre d’un système
d’exploitation libre initié par Richard Stallman en 1983.

2.3Différence entre UNIX et LINUX :


UNIX LINUX
Code source n'est pas disponible pour le grand public disponible au public.
Disponibilité

Interface contient l'interface de ligne de commande contient la ligne de commande et l'interface graphique.

Applications est utilisé pour


utilisé pour les serveurs, les stations de travail, les ordinateurs centraux les ordinateurs personnels, les ordinateurs de bure
et les
également utilisé pour le développement de jeux, les systèmes em
ordinateurs haut de gamme

Portabilité n'est pas portable portable et peut être exécuté sur différents disques durs.

Installation nécessite un matériel haut de gamme plus sophistiqué ne nécessite pas de composants matériels plus spécifiques.

Coût cher libre et open sourc

Systèmes de prend en charge les systèmes de fichiers zfs, js, hfx, gps, xfs,
prend
gps,en
xfscharge
et xfs, ramfs, nfs, vfat, cramfsm ex
fichiers de vxfs. ext2, ext1, ufs, autofs, devpts, systèmes de fichie
support
Une distribution Linux :
Une distribution Linux, c'est un ensemble cohérent de plusieurs choses :

un noyau Linux,
des programmes, en majorité libres (un navigateur Web, un lecteur de
Mail, un serveur FTP, etc...),
une méthode pour installer et désinstaller facilement ces programmes,
un programme d'installation du système d'exploitation.

Il existe de nombreuses distributions Linux, comme par


exemple RedHat, Mandriva, SuSE, ou Debian

La plupart des distributions sont gratuites, car constituées exclusivement de


logiciels libres ou de programmes propriétaires gratuits.

Les logiciels Open Source sont les logiciels pour lesquels on a accès au
code source.

3- Le processus de démarrage d'un système


Linux :
1-BIOS “Basic Input Output System “ (système d’entrée sortie de
base) :

Il est essentiel à tout PC, il se trouve généralement dans une mémoire morte
ou ROM. Le BIOS teste le matériel et y applique les réglages mémorisés dans le
setup. Ensuite il regarde la présence des périphériques nécessaires au boot.

2- MBR “Master Boot Record“ :


Il a pour fonction d’activer le système d’exploitation, c’est à dire d’activer le
noyau. Les boot primaire et secondaire constituent ce qu’on appelle le
chargeur ou loader tel que Lilo ou plus fréquemment Grub.

3-GRUB “GRand Unified Bootloader“ :


C’est un programme d’amorçage GNU qui gère la gestion du chargement des
systèmes d’exploitation disponibles sur le système. Il permet à l’utilisateur de
choisir quel système démarrer. Il intervient après allumage de l’ordinateur et
avant le chargement du système d’exploitation

4- INIT “initialisation” :

C’est le programme sous Unix qui lance ensuite toutes les autres
tâches (sous forme de scripts). Il s’exécute comme un démon
informatique.

5- RUN LEVEL “Niveaux d’exécution“ :


C’est un chiffre ou une lettre utilisé par le processus INIT des systèmes de type
Unix pour déterminer les fonctions activées du système.

4- L'ordonnancement des processus :


Linux offre trois politiques d’ordonnancement. Deux d’entre elles sont des
politiques d’ordonnancement en temps réel "soft", c’est-à-dire qu’elles
accordent aux processus une très haute priorité par rapport aux autre
processus, mais ne garantissent pas une réponse dans un temps spécifié. La
troisième politique d’ordonnancement utilise un algorithme de temps partagé
basé sur des valeurs de priorité. En Linux, chaque processus se voit attribuer
une politique d’ordonnancement.

5- Les algorithmes d’ordonnancement


"scheduling algorithms " :
FCFS - Fist-come First-served = Premier arrivé / Premier servi :
Le premier arrivé est admis immédiatement et s'exécute tant qu'il n'est pas
bloqué ou terminé. Lorsqu'il se bloque, le processus suivant commence à
s'exécuter et le processus bloqué va se mettre au bout de la file d'attente. C'est
typiquement un algorithme non préemptif…[1]

SJF - Shorted Job First = le job le plus court d'abord :


Sera élu, le processus dont on suppose que le traitement sera le plus court. Le
premier job exécuté contribue donc beaucoup plus que les autres à la durée
moyenne. Il est donc normal d'exécuter le plus court en premier lieu…[1]

SRT - Shorted Remaining Time = l'algorithme du temps restant le


plus court :
C'est la version préemptive de l'algorithme précédent. …[1]

RR - Round Robin = L'algorithme du tourniquet :


Chaque processus reçoit tour à tour un intervalle de temps appelé
quantum. Au terme de ce quantum ou, si le processus s'achève ou se bloque
avant cet instant, l'ordonnanceur attribue directement le processeur au
processus suivant. L'algorithme est simple et équitable. C'est généralement cet
ordonnancement circulaire qui est utilisé dans les systèmes à temps partagé.

6- Le Shell linux :
Le Shell est un programme (application), qui assure l'interface entre les
différents programmes et la machine :

Interprète les commandes


Gère les I/O utilisateur sur le terminal
Mémorise le setup de l’environnement de l’utilisateur dans le Fichier
profile
Les utilisateurs communiquent avec sh_ Commandes internes : gérées
dans le Shell (set, un set)
Commandes externes : exécutées en tant que programmes (ls,grep, sort,
Ps)…[1]

Syntaxe d’une commande Shell


Syntaxe :

command [ -options ] [ arguments ] . Exemple :

7- Gestion de la mémoire
Gestion de mémoire sous linux :
On peut subdiviser les systèmes de gestion de la mémoire en deux catégories :

• les systèmes qui peuvent déplacer les processus en mémoire secondaire


pour trouver de l'espace de swap1,

• les systèmes qui n'utilisent pas la mémoire secondaire….[3]


Affectation contiguë de mémoire :
Monoprogrammation sans va-et-vient ni pagination : L'approche la
plus simple pour gérer la mémoire consiste à n'accepter qu'un seul
processus à la fois (monoprogrammation) auquel on permet d'utiliser
toute la mémoire disponible en dehors de celle qu'utilise le système.
Cette approche était utilisée, par exemple, dans les premiers micro-
ordinateurs IBM PC utilisant MS-DOS comme système d'exploitation
(c).[3]

Multiprogrammation avec des partitions fixes : Cette partition peut


être faite une fois pour toute au démarrage du système par l'opérateur
de la machine, qui subdivise la mémoire en partitions fixes. Chaque
nouveau processus est placé dans la file d'attente de la plus petite
partition qui peut le contenir (a). Cette façon de faire peut conduire à
faire attendre un processus dans une file, alors qu'une autre partition
pouvant le contenir est libre. L'alternative à cette approche consiste à
n'utiliser qu'une seule file d'attente : dès qu'une partition se libère, le
système y place le premier processus de la file qui peut y tenir (b).
Gestion de la mémoire par tables de bits :
La mémoire est divisée en unités (quelques mots mémoire à plusieurs kilo-octets), à chaque
unité on fait correspondre dans une table de bits :
• la valeur 1 si l'unité mémoire est occupée ;
• la valeur 0 si l'unité mémoire est libre.

Gestion de la mémoire par listes chaînées :


Une autre solution consiste à chaîner les segments libres et occupés. La figure ci-dessus
montre l'exemple d'un tel chaînage, les segments occupés par un processus sont marqués
(P) les libres sont marqués (H). La liste est triée sur les adresses, ce qui facilite la mise à jour.
Lorsqu'on libère la mémoire occupée par un segment, il faut fusionner le segment libre avec
le ou les segments adjacents libres s'ils existent :

Compactage :

Le fichier à transmettre est codé sur sept bits selon un algorithme de


compactage propre puis transmis par blocs de 128 octets, un acquittement
étant renvoyé par le récepteur tous les 16 ou 32 blocs selon le type de
minitel utilisé….[2]

Allocation non contiguë :


Pagination :
La plupart des architectures actuellement utilisées reposent sur des processeurs permettant
de gérer un espace virtuel paginé : l'espace d'adressage virtuel est divisé en pages, chaque
page occupée par un processus est soit en mémoire physique soit dans le disque (va-et-
vient). La correspondance entre une page virtuelle et la page physique à laquelle elle peut
être associée (si elle est en mémoire physique) est réalisée en utilisant une table de pages :

La segmentation :
Implantation de segments purs :

La segmentation de la mémoire permet de traiter la mémoire non plus comme un seul


espace d'adressage unique, mais plutôt comme un ensemble de segments (portions de la
mémoire de taille variable), ayant chacune son propre espace d'adressage. Ceci permet aux
processus de simplifier considérablement le gestion de mémoire propre. …[2] Ainsi un
processus qui utilise différentes tables : table des symboles, code, table des constantes, etc.
doit se préoccuper de la position relative de ses tables et doit gérer les déplacements de
tables quand celles-ci croissent et risquent de se recouvrir :
Gestion de la mémoire sous GNU/Linux Comme
MULTICS :
La gestion de la mémoire sous Linux est basée sur la segmentation avec pagination.

Espace d'adressage d'un processus :


L'espace d'adressage d'un processus comprend plusieurs segments appelés régions (areas)
parmi lesquels figurent typiquement :
o un segment de code .
o deux segments de données, un concernant les données initialisées (à partir
du fichier exécutable), et l'autre les données non initialisées ;
o un segment de pile. D'autres segments peuvent se trouver dans l'espace
d'adressage du processus, ils concernent généralement les segments des
librairies partagées qu'utilise le processus….[2]

8-Système de Gestion de Fichiers :


Le système de gestion de fichiers est un outil de manipulation des fichiers et de la structure
d'arborescence des fichiers sur disque. Aussi le rôle sous Linux de conserver toutes les
informations dont la Pérennité est important pour le système.Ce principe est différent de
celui employé par les systèmes MS-DO et Windows, pour lesquels chaque volume (disque)
possède une Racine spécifique repérée par une lettre (A:\, C:\, etc).

Désignation des partitions sous Linux :


Un disque dur est généralement organisé de la façon suivante :
Le Master Boot Record (MBR) est situé dans les premiers secteurs du disque. Le mode de
partitionnement

MBR est le mode historique des ordinateurs de type IBM PC-compatible et le plus répandu.
Dans ce modèle, une zone de 512 octets appelée le Master Boot Record (MBR) est réservée
en début de disque pour contenir l'information relative à un maximum de 4 partitions.

Le MBR est constitué de 2 parties :

Dans un disque dur, plusieurs types de partitions peuvent coexister. On peut


mentionner les partitions principales, étendues et logiques.
Les partitions principales :
• Sont au maximum de 4
• Accepte tout type de système de fichiers.
Les partitions étendues :
• Sont destinées à contenir des partitions logiques et non au système de fichiers,
• Nécessitent au moins une partition principale.
Les partitions logiques :
• Sont contenues dans une partition étendue,
• Accepte tout type de systèmes de fichiers ….[4]
Arborescence :

Une arborescence est une organisation logique de fichiers sur un ou plusieurs systèmes de
fichiers. Il s’agit d’une structure de données hiérarchique de type arbre. Le système qui gère
les fichiers sous Linux est un peu déroutant au début, surtout quand on est habitué à celui
de Windows. En effet, sous Windows, il y a en fait plusieurs racines .C:\est la racine du
disque dur, E:\est la racine de votre lecteur CD (par exemple).Sous Linux, il n'y a qu'une et
une seule racine : « / ». Il n'y a pas de lettre de lecteur car justement, Linux ne donne pas de
nom aux lecteurs comme le fait Windows. Il dit juste « La racine, c'est/ ». Au lieu de séparer
chaque disque dur, lecteur CD, lecteur de disquettes, lecteur de carte mémoire… Linux place
en gros tout au même endroit sous une seule racine….[4]
Adressage des blocs dans les inodes :

Le système d'adressage des blocs dans les inodes (Système V)

Consiste en 13 adresses de blocs :

_ Les 10 premières adresses sont des adresses qui pointent

Directement sur les blocs de données du fichier

_ Les autres sont des adresses indirectes vers des blocs de

Données contenant des adresses

« Les inodes sont stockées en mémoire tant que le fichier est ouvert »…[3]

Capacité de la structure d'index : numéro de bloc sur 32 bits


(4 octets), et bloc de 1 KO.

On peut donc mettre p = 256 numéros de blocs dans un bloc.

_ Blocs directs : 10 blocs,

_ Bloc indirect_1 : 256 blocs,

_ Bloc indirect_2 : 256 2 blocs,

_ Bloc indirect_3 : 256 3 blocs.

Nombre maximum de blocs dans un fichier : 10 + 256 + 2562+ 2563

Taille maximale d'un fichier ~ 16 Go !!! ….[3]

Allocation des inodes d'un disque :


L'allocation des inodes est réalisée en recherchant dans la zone des

Inodes du disque une inode libre. Pour accélérer cette recherche : un

Tampon d'inodes libres est géré dans le Super Bloc, de plus l'indice du

Premier inode libre est gardé en référence dans le Super Bloc afin de

Redémarrer la recherche qu'à partir de la première inode réellement libre…[3]


9- Entrées/Sorties dans Linux :
Intégrées en tant que fichiers spéciaux (spéciale files) dans le

Répertoire de fichiers (file system)

Ayant un chemin et accédés comme tout autre fichier ( /dev/tty1,

/dev/fd0, /dev/hda1, etc.)

Deux types de périphériques (fichiers spéciaux) :

Périphériques blocs: séquence de blocs à accès aléatoires

(Les disques et les bandes)

Périphériques caractère : séquences de caractères

(Terminaux, imprimantes)

Chaque fichier est décrit par une inode et est accessible

Indifféremment de l’autre à travers l’interface du SGF…..[3]


Bibliographies :
[1] : cour linux résumé « DR.merazka Fatiha » / USTHB

[2] : livre « Systèmes d’exploitation - M´ırian Halfeld-Ferrari – p. 23/56 »

[3] : Institut Supérieur d'Informatique et de Multimédia de Sfax

2009 / 2010/Le système d’Exploitation Linux/Cours : Systèmes d’exploitation évolués

« Mohamed Ben Halima »

[4] : chapitre-2-gestion-fichiers-sous-linux.pdf _ p.1/34/ l’étudiante : « Imane Sghaier ».

Vous aimerez peut-être aussi