Linux - 3e éd.

De
Publié par

Ce livre a pour but de présenter les principes de la programmation système sous Linux.
Chacun des neuf chapitres s'ouvre sur une partie théorique et se poursuit par une partie applicative qui décrit de manière simplifiée la mise en oeuvre de ces concepts dans un noyau Linux. Des exemples de programmation illustrent ensuite ces notions. Enfin des exercices corrigés clôturent le chapitre.
Cette troisième édition s'enrichit d'un nouveau chapitre sur les sytèmes Linux temps réel, et de mises à jour dans le cours et les exercices.

Publié le : mercredi 11 février 2009
Lecture(s) : 94
Licence : Tous droits réservés
EAN13 : 9782100539475
Nombre de pages : 360
Voir plus Voir moins
Cette publication est uniquement disponible à l'achat
Chapitre1
Introduction au système Linux
1
Ce chapitre constitue une introduction au système d’exploitation Linux et plus géné-ralement aux systèmes d’exploitation multiprogrammés, c’est-à-dire au système d’exploitation admettant plusieurs programmes exécutables en mémoire centrale. Après avoir défini ce qu’est un système d’exploitation et présenté sa structure géné-rale, nous effectuons une présentation rapide du système Linux et de ses principales propriétés. Nous terminons ce chapitre en expliquant les notions de base sur lesquelles le fonctionnement d’un système d’exploitation s’appuie.
1.1
LE SYSTÈME D’EXPLOITATIO PRÉSENTATION GÉNÉRALE
N :
1.1.1 Définition Lesystème d’exploitationest un ensemble de programmes qui réalise l’interface entre le matériel de l’ordinateur et les utilisateurs (figure 1.1). Il a deux objectifs principaux : – prise en charge de la gestion de plus en plus complexe des ressources et partage de celles-ci ; – construction au-dessus du matériel d’une machine virtuelle plus facile d’emploi et plus conviviale. La machine physique et ses différents composants, s’ils offrent des mécanismes permettant de faciliter leur partage entre différents programmes, ne sont malgré tout pas conçus pour supporter et gérer d’eux-mêmes ce partage. C’est là le premier rôle © Dunod – La photocopie non autorisée est un délit.
2
bus
cpu
UTILISATEURS
MACHINE VIRTUELLE
Introduction au système Linux
SYSTEME D'EXPLOITATION
mémoire
Figure 1.1du système d’exploitation Place
MATERIEL
du système d’exploitation dans un environnement multiprogrammé que de gérer le partage de la machine physique et des ressources matérielles entre les différents programmes. Cette gestion doit assurer l’équité d’accès aux ressources matérielles et assurer également que les accès des programmes à ces ressources s’effectuent correctement, c’est-à-dire que les opérations réalisées par les programmes sont licites pour la cohérence des ressources : on parle alors deprotection des ressources. Le partage des ressources va concerner principalement le processeur, la mémoire centrale et les périphériques d’entrées-sorties. Plus précisément, les questions sui-vantes vont devoir être résolues : – Dans le cadre du partage du processeur : parmi tous les programmes chargés en mémoire centrale, lequel doit s’exécuter ? – Dans le cadre du partage de la mémoire centrale : comment allouer la mémoire centrale aux différents programmes ? Comment disposer d’une quantité suffisante de mémoire pour y placer tous les programmes nécessaires à un bon taux d’utili-sation du processeur ? Comment assurer la protection entre ces différents pro-grammes utilisateurs ? Par protection, on entend ici veiller à ce qu’un programme donné n’accède pas à une plage mémoire allouée à un autre programme. – Dans le cadre du partage des périphériques : dans quel ordre traiter les requêtes d’entrées-sorties pour optimiser les transferts ?
1
1.1Le système d’exploitation : présentation générale
3
Faciliter l’accès à la machine physique constitue le second rôle du système d’exploitation. Par le biais d’une interface de haut niveau, composée d’un ensemble de primitives attachées à des fonctionnalités qui gèrent elles-mêmes les caracté-ristiques matérielles sous-jacentes et offrent un service à l’utilisateur, le système d’exploitation construit au-dessus de la machine physique, une machine virtuelle plus simple d’emploi et plus conviviale. Ainsi, pour réaliser une opération d’entrées-sorties, l’utilisateur fait appel à une même primitiveECRIRE(donnÉes)quel que soit le périphérique concerné. C’est la primitiveECRIREet la fonction de gestion des entrées-sorties du système d’exploitation à laquelle cette primitive est rattachée qui feront la liaison avec les caractéristiques matérielles. Comme son nom le suggère, le système d’exploitation a en charge l’exploitation de la machine pour en faciliter l’accès, le partage et pour l’optimiser.
1.1.2 Structure générale Le système d’exploitation réalise donc une couche logicielle placée entre la machine matérielle et les applications. Le système d’exploitation peut être découpé en plu-sieurs grandes fonctionnalités présentées sur la figure1.2. Dans une première approche, ces fonctionnalités qui seront étudiées plus en détail dans les chapitres suivants de l’ouvrage sont : – La fonctionnalité de gestion du processeur : le système doit gérer l’allocation du processeur aux différents programmes pouvant s’exécuter. Cette allocation se fait par le biais d’unalgorithme d’ordonnancementqui planifie l’exécution des pro-grammes. Dans ce cadre, une exécution de programme est appeléeprocessus (cf.chapitre 2). – La fonctionnalité de gestion des objets externes : la mémoire centrale est une mémoire volatile. Aussi, toutes les données devant être conservées au-delà de l’arrêt de la machine, doivent être stockées sur une mémoire de masse non volatile (disque dur, disquette, cédérom…). La gestion de l’allocation des mémoires de masse ainsi que l’accès aux données stockées s’appuient sur la notion defichiers et desystème de gestion de fichiers(SGF) (cf.chapitre 3). – La fonctionnalité de gestion des entrées-sorties : le système doit gérer l’accès aux périphériques, c’est-à-dire faire la liaison entre les appels de haut niveau des pro-grammes utilisateurs (exemplegetchar()) et les opérations de bas niveau de l’unité d’échange responsable du périphérique (unité d’échange clavier) : c’est le pilote d’entrées-sorties (driver) qui assure cette correspondance (cf.chapitre 4). – La fonctionnalité de gestion de la mémoire : le système doit gérer l’allocation de la mémoire centrale entre les différents programmes pouvant s’exécuter, c’est-à-dire qu’il doit trouver une place libre suffisante en mémoire centrale pour que le chargeur puisse y placer un programme à exécuter, en s’appuyant sur les mécanismes matériels sous-jacents de segmentation et de pagination. Comme la mémoire physique est souvent trop petite pour contenir la totalité des programmes, la gestion de la mémoire se fait selon le principe de lamémoire
© Dunod – La photocopie non autorisée est un délit.
4
Gestion de la mémoire
Introduction au système Linux
Éditeur de liens
Compilateur
A p p l i c a t i o n s
Gestion des entrées-sorties
Navigateur
Programmes Utilisateurs
Tableur
Chargeur
Bases de données
Éditeur de texte
Appels systèmes
Gestion de la protection
Figure 1.2 Fonctionnalités du système d’exploitation
Assembleur
Gestion du réseau
Mécanisme des interruptions
Commandes
Gestion des objets externes (fichiers)
1
MACHINE PHYSIQUE
virtuelle: à un instant donné, seules sont chargées en mémoire centrale, les parties de code et données utiles à l’exécution (cf.chapitre 5). – La fonctionnalité de gestion de la concurrence : comme plusieurs programmes coexistent en mémoire centrale, ceux-ci peuvent vouloir communiquer pour échan-ger des données. Par ailleurs, il faut synchroniser l’accès aux données partagées afin de maintenir leur cohérence. Le système offre desoutils de communication et de synchronisationentre processus (cf.chapitre 6, 7 et 8). – La fonctionnalité de gestion de laprotection: le système doit fournir des méca-nismes garantissant que ses ressources (processeur, mémoire, fichiers) ne peuvent être utilisées que par les programmes auxquels les droits nécessaires ont été accordés. Il faut notamment protéger le système et la machine des programmes utilisateurs (mode d’exécution utilisateur et superviseur). – La fonctionnalité d’accès au réseau : des exécutions de programmes placées sur des machines physiques distinctes doivent pouvoir échanger des données. Le système d’exploitation fournit des outils permettant aux applications distantes de dialoguer à travers une couche de protocoles réseau telle que TCP/IP (cf.chapitre 9).
Gestion du processeur
d ' e x s p y l s o t i è t m a e t i o n
Gestion de la concurrence
Soyez le premier à déposer un commentaire !

17/1000 caractères maximum.