Systèmes d'exploitation

1/28
100%
Rendu du PDF...
Page 1 sur 28Lecteur de document UniversityLib

Systèmes d'exploitation

Computer Science (Operating Systems) · notes

Voir tous les documents en systèmes d'exploitation et cloud

Systèmes d'exploitation

Chapitre1: Introduction

Introduction (1)

 Deux catégories de logiciels :

 Les programmes systèmes pour le fonctionnement des

ordinateurs,

 les programmes d'application qui résolvent les problèmes des

utilisateurs.

Introduction (2)

 Le programme « système d'exploitation » est le

programme fondamental des programmes systèmes.  Il contrôle les ressources de l'ordinateur et fournit la base sur laquelle seront construits les programmes d'application.

Définition

 Le système d'exploitation est l'ensemble de

programmes centraux d'un système informatique qui coordonne et uniformise l'utilisation du matériel par les logiciels applicatifs.

 Il sert d'intermédiaire entre les logiciels applicatifs et le matériel et offre une manière unifiée d'exploiter les périphériques de l'ordinateur par l'intermédiaire d’interfaces de programmation banalisées.

Définition (suite)

 Un système d'exploitation sert:

 à coordonner l'utilisation du ou des processeurs, et accorder un certain temps pour l'exécution de chaque processus;

 à réserver de l'espace dans les mémoires pour les besoins des

programmes

 et à organiser le contenu des disques durs ou d'autres

mémoires de masse en fichiers et répertoires.

Modes de fonctionnement

 Deux modes de fonctionnement :  Le mode noyau ou superviseur et  le mode utilisateur (compilateur, éditeur, programmes

utilisateurs ...).

Composition d’un ordinateur

 Un ordinateur contient :

 Un ou plusieurs processeurs,  une mémoire principale,  des horloges,  des terminaux,  des disques,  des interfaces de connexion à des réseaux et  des périphériques d'entrées/sorties.

Rôle d’un SE

La complexité évidente du matériel implique la réalisation d'une machine virtuelle qui gère le matériel : c'est le système d'exploitation.

Couche : Matériel

 Dispositifs physique = Ils se composent de circuits

intégrés, de fils électriques, de périphériques physiques ...

 Microprogramme = C'est un logiciel de contrôle des

périphériques (interprête).

 Langage machine = C'est un ensemble (entre 50 et 300) d'instructions élémentaires (ADD, MOVE, JUMP) pour effectuer le déplacement des données, des calculs, ou la comparaison de valeurs (également appelé ASSEMBLEUR)

Fonctions d’un SE

 DEUX FONCTIONS:

 MACHINE ETENDUE ou VIRTUELLE  GESTIONNAIRE de RESSOURCES

Machine étendue ou encore machine virtuelle

Son rôle est de masquer des éléments fastidieux liés au

Publicité

matériel, comme les interruptions, les horloges, la gestion de la mémoire, la gestion des périphériques (déplacement du bras du lecteur de disquette) ...

Gestionnaire de ressources

 Un ordinateur se compose de ressources (périphériques,

mémoires, terminaux, disques ...).

 Le système d'exploitation permet l'ordonnancement et le contrôle de l'allocation des processeurs, des mémoires et des périphériques d'E/S entre les différents programmes qui y font appel.

Exemples

 Par exemple 3 programmes essaient d'imprimer

simultanément leurs résultats sur une même imprimante :

=> recours à un fichier tampon sur disque.  Autre exemple, l'accès concurrent à une donnée ; lecture et écriture concurrentes (par deux processus) sur un même compteur.

Ce rôle de gestionnaire de ressources est crucial pour

les systèmes d'exploitation manipulant plusieurs tâches en même temps (multitâches).

Plusieurs fonctionalités de gestion

 du processeur : allocation du processeur aux différents

programmes.

 des objets externes : principalement les fichiers.  des entrées/sorties : accès aux périphériques, via les pilotes.  de la mémoire : segmentation et pagination.  de la concurrence : synchronisation pour l'accès à des

ressources partagées.

 de la protection : respect des droits d'accès aux ressources.  des accès au réseau : échange de données entre des

machines distantes.

Les différentes classes de systèmes d'exploitation

 Selon les services rendus

 Selon leur architecture

 Selon leur capacité à évoluer

 Selon l'architecture matérielle qui les supporte

Selon les services rendus

 mono/multi tâches : Multitâches : capacité du système à pouvoir exécuter

plusieurs processus simultanément ;

 mono/multi-utilisateurs : Multiutilisateurs : capacité à pouvoir gérer un

ensemble d'utilisateurs utilisant simultanément les mêmes ressources matérielles.

Selon leur architecture

Systèmes centralisés :  L'ensemble du système est entièrement présent sur la

machine considérée.

 Les machines éventuellement reliées sont vues comme

des entités étrangères disposant elles aussi d'un système centralisé.

 Le système ne gère que les ressources de la machine sur

laquelle il est présent.

Selon leur architecture (2)

Systèmes répartis (distributed systems) :  Les différentes abstractions du système sont réparties sur

un ensemble (domaine) de machines (site).

 Avec un système réparti, l'utilisateur n'a pas à se soucier de

la localisation des ressources. Quand il lance un programme, il n'a pas à connaître le nom de la machine qui l'exécutera.

 Ils offrent des solutions aux problèmes de la résistance aux

Publicité

pannes.

Selon leur capacité à évoluer

Systèmes fermés (ou propriétaires) :  Extensibilité réduite : Quand on veut rajouter des

fonctionnalités à un système fermé, il faut remettre en cause sa conception et refaire une archive (système complet).

 Il n'y a aucun ou peu d'échange possible avec d'autres systèmes de type différent, voir même avec des types identiques.

Selon leur capacité à évoluer (2)

Systèmes ouverts :  Extensibilité accrue : Il est possible de rajouter des

fonctionnalités et des abstractions sans avoir à repenser le système et même sans avoir à l'arrêter sur une machine.

 Cela implique souvent une conception modulaire basée

sur le modèle « clients-serveur».

 Cela implique aussi une communication entre systèmes,

nécessitant des modules spécialisés.

Selon l'architecture matérielle qui les supporte

Architecture monoprocesseur (temps partagé ou

multiprogrammation):

 Ressource processeur unique : Il a fallu développer un mécanisme de gestion des processus pour offrir un (pseudo) parallélisme à l'utilisateur : c'est la multiprogrammation;

 Il s'agit en fait d'une commutation rapide entre les différents processus pour donner l'illusion d'un parallélisme.

Selon l'architecture matérielle qui les supporte (2)

Architectures multiprocesseurs (parallélisme) :  On trouve une grande variété d'architectures

multiprocesseurs :  SIMD (Single Instruction Multiple Data) : Tous les processeurs

exécutent les mêmes instructions mais sur des données différentes.

 MIMD (Multiple Instructions Multiple Data) : Chaque

processeur et complètement indépendant des autres et exécute des instructions sur des données différentes.

 Pipeline : Les différentes unités d'exécution sont mises en chaîne et font chacune partie du traitement à effectuer.

Selon l'architecture matérielle qui les supporte (3)

 On parle aussi d'architecture faiblement ou fortement

couplée.  Architecture fortement couplée : Ce sont principalement des

architectures à mémoire commune.

 Architecture faiblement couplée : Ce sont des architectures où chaque processeur possède sa propre mémoire locale ; c'est le cas d'un réseau de stations.

 Architecture mixte : Ce sont des architectures à différents

niveaux de mémoire (commune et privée).

Remarques

 Il n'y a pas de système universel pour cette multitude

d'architectures.

 Les constructeurs de supercalculateurs ont toujours

développés leurs propres systèmes.

 Aujourd'hui, compte tenu de la complexité croissante des systèmes d'exploitation et du coût inhérent, la tendance est à l'harmonisation notamment via le développement de systèmes polyvalents tels que les systèmes répartis.

Un cas particulier: les systèmes « temps-réel »

 Ce sont des systèmes, essentiellement utilisés dans

l'industrie, pour lesquels l'exécution des programmes est soumise à des contraintes temporelles.

 Les résultats de l'exécution d'un programme n'est plus valide au delà d'un certain temps connu et déterminé à l'avance.

Publicité

Un cas particulier: les systèmes « embarqués »

 Ce sont des systèmes d'exploitation prévus pour

fonctionner sur des machines de petite taille ou des appareils électroniques autonomes (sondes spatiales, robot, ordinateur de bord de véhicule, satellites, avions, trains, téléphones portables, etc.), possédant une autonomie réduite.

 Ainsi, une caractéristique essentielle des systèmes

embarqués est leur gestion avancée de l'énergie et leur capacité à fonctionner avec des ressources limitées.

Exemples de SE

Système Codage

Mono- utilisateur

Multi- utilisateur

Mono- tâche

Multitâche

DOS

16 bits

Windows 3.1

Windows 95/98/Me

Windows NT/2000

16/32 bits

32 bits

32 bits

X

X

X

WindowsXP 32/64 bits Unix / Linux MAC/OS X

32/64 bits

32 bits

VMS

32 bits

X

non préemptif

coopératif

préemptif

préemptif

préemptif

préemptif

préemptif

X

X

X

X

X