• Aucun résultat trouvé

Les niveaux d'abstraction

N/A
N/A
Protected

Academic year: 2022

Partager "Les niveaux d'abstraction"

Copied!
23
0
0

Texte intégral

(1)

Eduardo Sanchez

Ecole Polytechnique Fédérale de Lausanne

Introduction aux

systèmes informatiques

(2)

Système

♦ Un système est une collection organisée d'objets qui interagissent pour former un tout

♦ Objets = composants du système

♦ Des interconnexions (liens) entre les objets sont nécessaires pour les interactions

♦ Structure = (composants, interconnexions) Comment le système est fait

♦ Comportement = (entrées, sorties)

Ce que le système fait (comment il répond aux entrées)

(3)

entrées sorties composant

(4)

Le comportement d'un système peut être décrit formellement par des équations du type:

Z = ƒ (X)

X ƒ Z

(5)

♦ Analyse:

Déterminer le comportement d'un système à partir d’une description de sa structure

♦ Synthèse:

Déterminer la structure qui produit un comportement donné.

Plusieurs structures sont possibles pour un même comportement

(6)

Informatique

♦ Petit Robert:

Science du traitement de l'information; ensemble de

techniques de la collecte, du tri, de la mise en mémoire, du

stockage, de la transmission et de l'utilisation des informations traitées automatiquement à l'aide de programmes mis en

oeuvre sur ordinateurs.

(7)

Système informatique

♦ Un système informatique est un ensemble de composants de type logiciel (software) et matériel (hardware), mis ensemble pour collaborer dans l'exécution d'une application

♦ Le principal composant matériel est l’ordinateur

♦ Un informaticien doit comprendre le fonctionnement de tous les composants d’un système, sans se limiter au logiciel. En effet, les caractéristiques du matériel agissent sur la justesse et la performance des programmes

♦ Une bonne connaissance du matériel permet d’éviter des erreurs et d'augmenter la performance, en optimisant les

(8)

♦ Un ordinateur est une machine électronique composée de plusieurs parties interconnectées par des fils

♦ A tout moment, tout fil dans l'ordinateur se trouve à un voltage haut ou bas. La valeur réelle n'intéresse pas: c’est seulement un 1 ou un 0

♦ On peut voir 4 grandes parties dans un ordinateur:

dispositifs d’entrée dispositifs

d’entrée processeurprocesseur mémoiremémoire dispositifs de sortie dispositifs de sortie

bus

(9)

♦ Le bus est un ensemble de fils électriques interconnectant les différents composants

♦ Les dispositifs d’entrée/sortie transmettent l'information entre l'extérieur et la mémoire. Toute information dans l'ordinateur est codée comme une séquence de 0 et 1: c'est les bits. Un groupe de 8 bits est un byte. Et il est courant d'utiliser les préfixes suivants pour indiquer une certaine quantité

d'information:

kilo = 210 = 1'024

mega = 220 = 1'048'576

giga = 230 = 1'073'741'824

♦ Le processeur dirige le traitement de l'information et réalise ce traitement. Diriger, c'est décider quelle tâche exécuter et

(10)

PC ALU registres

interface du bus I/O

bridge

bus système bus mémoire mémoire

principale CPU

bus I/O contrôleur

USB adaptateur

graphique contrôleur

de disque

slots d'expansion pour d'autres dispositifs

souris clavier écran

disque

(11)

♦ Tout ce qui peut être calculé, peut l'être par un ordinateur, pour autant qu'il ait assez de temps et de mémoire:

l'ordinateur est un dispositif de calcul universel

♦ L'universalité de l'ordinateur est possible grâce à la

programmation: l'utilisateur doit indiquer par un programme les pas à suivre pour exécuter une tâche particulière

(12)

Les niveaux d'abstraction

♦ L'abstraction se réfère à la distinction entre les propriétés externes d'un système et les détails de sa composition interne

♦ L'abstraction d'un système comprend:

la suppression de certains détails pour montrer seulement l'essence du sujet (pour chaque niveau d'abstraction il faut pouvoir différencier ce qui est essentiel des détails superflus)

une structure

une division de responsabilité à travers une chaîne de commande

une division en sous-systèmes

(13)

♦ L'abstraction permet une conception hiérarchique des systèmes

♦ L'abstraction permet de gérer des systèmes très complexes en connaissant seulement les choses qui nous intéressent à un moment donné

♦ Nous pouvons donc voir un système à plusieurs niveaux de détail. A chaque niveau, le système est vu en termes de composants dont nous ignorons la composition interne

♦ Les différents niveaux d'abstraction peuvent se représenter sous trois formes:

diagrammes de niveau

diagrammes d'imbrication

(14)

plus haut niveau d'abstraction

plus bas niveau d'abstraction

(15)

Niveaux d'abstraction en informatique

♦ La solution d'un problème en informatique va du niveau le plus abstrait vers le niveau le plus détaillé

♦ Un grand système informatique est organisé de façon hiérarchique: une partie prend ses ordres de la partie

hiérarchique supérieure et, à son tour, peut transmettre ses ordres à des parties inférieures hiérarchiquement

♦ Il n'est pas nécessaire de connaître complètement chaque niveau d'un système informatique pour l'utiliser correctement

(16)

♦ Les niveaux d'abstraction d'un système informatique sont:

application

algorithme

langage de haut niveau

système d'exploitation

architecture de la machine

microarchitecture

circuits logiques

dispositifs électroniques

(17)

programmes d'application système d'exploitation processeur mémoire

principale dispositifs I/O

logiciel matériel

fichiers mémoire virtuelle processus

(18)

♦ Un algorithme est un ensemble fini d'instructions qui,

exécutées dans la bonne séquence, résolvent un problème dans un temps fini. Une recette de cuisine est un exemple d'algorithme

♦ Un programme est un algorithme écrit pour exécution dans un ordinateur

♦ A chaque niveau on peut utiliser un langage différent:

langage naturel

langage dépendant de l'application

langage de programmation indépendant de la machine

langage assembleur

appels du système d’exploitation

langage machine

langage de transfert de registres

algèbre booléenne

(19)

♦ Un programme pour une certaine tâche peut être écrit en utilisant n'importe lequel de ces langages

♦ Une fois que l'algorithme pour exécuter une tâche est connu, il peut être exécuté sans comprendre les principes sur

lesquels il se base: l'intelligence pour résoudre un problème se trouve dans l'algorithme

(20)

Réalité versus Abstraction

♦ L'abstraction est utile et nécessaire, mais il ne faut pas oublier la réalité

♦ Les abstractions possèdent toujours des limites qu'il faut connaître

♦ Avantages pour un programmeur:

détection et élimination des erreurs plus efficace

optimisation rationnelle des programmes

préparation pour d'autres cours (compilation, systèmes d'exploitation, réseaux, systèmes embarqués)

(21)

Exemples

♦ Les int ne sont pas des entiers et les float ne sont pas des réels

♦ Est-ce que x2 0 est toujours vrai?

pour les float, oui

pour les int, pas toujours:

40000 * 40000 1600000000

50000 * 50000 ??

♦ Est-ce que (x+y)+z = x+(y+z) est toujours vrai?

pour les int, oui

pour les float, pas toujours:

(22)

♦ La probabilité d'écrire des programmes en assembleur

(langage machine) est très faible, étant donné la qualité des compilateurs

♦ Toutefois, la connaissance du langage machine est clé pour:

la compréhension du comportement des programmes en présence d'erreurs

la compréhension des sources d'inefficacité des programmes, pour mieux les optimiser:

identification des goulots d'étranglement

mesure de la performance

la façon d'écrire le code peut multiplier la performance par 10

L'implémentation des logiciels système (compilateurs, systèmes d'exploitation, systèmes embarqués)

(23)

♦ La mémoire d'un système est limitée et doit être allouée et gérée convenablement

♦ La performance de la mémoire d'un système n'est pas uniforme:

les effets des mémoires cache et virtuelle peuvent avoir une grande influence sur la performance des programmes

l'adaptation des programmes aux caractéristiques de la mémoire peut amener des améliorations substantielles de la vitesse du système

Références

Documents relatifs

Donne le prénom de chaque adulte et explique quel est son travail au sein de l'école.. Coller la bonne photo Coller la bonne photo Coller la

Découverte de l’écrit ; relations entre l’oral et l’écrit : jouer avec les

Nous sommes mobilisés depuis des mois contre les suppressions de postes dans les collèges et les lycées, pour une autre politique éducative, pour la revalorisation de nos

des horaires cadrés nationalement incluant des dédoublements dans toutes les disciplines ; des enseignements faculta- tifs inscrits sur une carte académiques et les moyens pour

En excluant tout à tour chaque nœud de cet ensemble pour obtenir un système à nœuds, on obtient à chaque fois une configuration qui, appliquée au système, va changer la parité

Cet alphabet peut être l’alphabet latin habituel à 26 lettres, mais dans certaines ques- tions on considèrera un alphabet à deux lettres seulement.. Pour tout entier naturel non nul

en jeu l’interaction des deux niveaux avec le champ de radiofréquence sans tenir compte de l’existence des autres niveaux, la théorie complète prévoit toute une

Le premier joueur pioche 2 cartes; il les garde si elles sont identiques. Il les reposent si elles ne le