Ce videoclip produit par l’Ecole Polytechnique Fédérale de Lausanne fait partie de son cours d’introduction à l’information, à la communication, et au calcul. Il s’inscrit dans le 3e module de ce cours qui porte sur le fonctionnement et la sécurité des systèmes informatiques.
séquentielles, hiérarchiques, relationnelles, maillées Plan de la leçon Besoin de structure dans le stockage des données Types de structures de stockage séquentielles, hiérarchiques, relationnelles, maillées Identification, localisation, et accès à des données stockées Systèmes de fichiers Bases de données Pour pouvoir aborder plus en détail les systèmes de fichiers et les bases de données il faut d’abord avoir quelques notions de nomenclature, d’adressage, et d’accès aux données stockées en mémoires mortes. C’est le sujet du présent clip.
Identification, localisation, et accès à des données stockées Structurée ou non, une information n’a de sens que dans son contexte spatio-temporel Paris ne désigne pas la même chose à Troyes (France) au 21e siècle que Paris à la bataille de Troie (actuelle Turquie) en 1250 avant J.C. Pour identifier / distinguer une information parmi d’autres il faut lui donner un nom / identificateur Un répertoire / catalogue est alors nécessaire pour localiser cette information Pour localiser cette information on a besoin de son adresse (de la place qui lui a été attribuée) Un mécanisme d’acheminement est alors nécessaire pour accéder à cette adresse Pour accéder à cette adresse il faut déterminer une route qui y mène 1 Structurée ou non, une information n’a de sens que dans un contexte spatio-temporel qui lui est propre Ainsi le nom Paris ne désigne pas la même chose à Troyes (France) au 21e siècle – la capitale de France, bien entendu – que le nom Paris à la bataille de Troie (en actuelle Turquie) en 1250 avant J.C. – ce Paris-là étant le prince de Troie qui avait enlevé la reine Hélène de Sparte. 2 Pour identifier, c.à.d. distinguer une information parmi d’autres il faut lui donner un NOM ou IDENTIFICATEUR propre dans un contexte donné. 3 Un RÉPERTOIRE / CATALOGUE est alors nécessaire pour LOCALISER cette information dans les mémoires mortes. 4 Pour cette localisation on a besoin d’une ADRESSE (de la place qui lui a été attribuée dans les mémoires mortes). 5 Un mécanisme D’ACHEMINEMENT est ensuite nécessaire pour ACCÉDER à cette adresse. 6 Pour cela il faut déterminer une ROUTE, c.à.d. un chemin physique qui mène à cette adresse.
Exemples Identification Localisation Accès EPFL Nom, prénom No. de compte en banque Nom d’utilisateur Adresse e-mail Nom d’une variable Nom d’un fichier Route Cantonale, Ecublens No. de téléphone No. de compte IBAN Adresse e-mail Adresse Internet du serveur Adresse de la variable Adresse du fichier Plan, carte, GPS (Anciennement: no. de tél.) Actuellement route tabulée Code BIC / SWIFT Adresse Internet du serveur Route Internet vers le serveur Logique d’accès à la mémoire primaire au stockage sur disque A titre d’exemple, EPFL, un nom et prénom, un no. de compte en banque, ou en informatique un nom d’utilisateur, une adresse mail, le nom d’une variable ou d’un fichier sont autant d’exemples d’identificateur de personnes, de choses, ou d’informations. 1 A chacun de ces noms doit cependant correspondre une adresse où la personne, la chose, ou l’information considérée peuvent être trouvées. Ainsi une adresse postale, un no. de téléphone, ou un no. de compte en format IBAN sont autant de façon de localiser un endroit, une personne, ou un compte en banque. De même dans l’univers informatique une adresse mail, une adresse internet, l’adresse d’une variable en mémoire ou d’un fichier sur un disque. sont autant de façons de localiser une boite à courrier électronique, un serveur, une variable en mémoire ou d’un fichier sur un disque. 2 Mais disposer d’une adresse ne suffit pas à l’atteindre. Encore faut-il disposer d’un mécanisme pour y arriver. Ainsi un plan, une carte, ou un GPS permettent d’arriver à une adresse postale. En tout cas avant l’internet, les codes nationaux et régionaux d’un no. de tel. permettaient d’aiguiller les appels au travers des centraux téléphoniques pour atteindre leurs destinations. A l’ère de l’internet tout cela est fait sur base de tables de routage dont nous parlerons bientôt. Il est à remarquer qu’une adresse mail identifie une boite aux lettres … … mais est aussi une adresse à laquelle joindre son propriétaire. De la même façon l’adresse d’un serveur mail permet de localiser les boites aux lettres qu’il abrite … … mais représente aussi un moyen d’accéder à ce serveur … … parce que le mécanisme de routage de l’internet fournit à son tour le moyen de trouver le chemin vers une adresse internet donnée … … comme l’électronique d’accès à une mémoire centrale ou un disque fournissent le moyen de d’accéder à une adresse donnée en mémoire ou sur disque. On voit donc que les notions de nom, adresse, et route sont toujours relatives l’une à l’autre. Mais une référence quelconque peut souvent être considérée comme nom, adresse, ou route selon la perspective dans laquelle on se place..
Portée spatio-temporelle des noms et adresses Portée spatiale Cours ICC 2017-2018 Extension tel. de l’enseignant moodle.epfl.ch/…/ICC 2017.pdf Adresse Internet mobile Ecublens (FR) No. de téléphone complet moodle.epfl.ch Adresse Internet fixe Vaste Qui plus est, noms et adresses se présentent sous une multitude de formes aux validités spatio-temporelles éminemment variables selon leur contexte. Le graphique ci-contre donne des exemples de noms (physiques en vert et informatiques en bleu) et d’adresses (physiques en orange et informatiques en rouge) en les positionnant selon l’étendue de leurs validités spatio-temporelles. Ainsi VOUS présenter ICI CE VIDEOCLIP fait une référence à CE VIDEOCLIP que VOUS regardez ICI sur votre écran alors que son support informatique est stocké à SON ADRESSE EN MÉMOIRE de votre tablette ou ordinateur. VOUS, ICI, CE VIDEOCLIP et SON ADRESSE EN MÉMOIRE ont des validités spatio-temporelles tout à fait limitées. Vos condisciples peuvent regarder un videoclip demain chez eux et désigneront dans ce contexte de tout autres entités. 1 Par contraste Cours ICC 2017-2018, extension tel. de l’enseignant, moodle.epfl.ch/…/ICC 2017.pdf, ou une adresse internet mobile sont des noms et adresses aux portées temporelles toujours temporaires mais aux portées spatiales bien plus étendues. Leurs portées temporelles restent limitées parce que tout peut changer l’an prochain. Par contre leurs portées spatiales sont accrues parce qu’elles gardent leur signification auprès d’autres de vos condisciples. 2 De la même façon on peut imaginer des noms et adresses de validités spatiales limitées mais de validités temporelles plus étendues. Ainsi Ecublens, une extension téléphonique, Clip 3-3-3.pdf, ou une adresse sur disque peuvent signifier la même chose dans un an mais ont qu’un sens local à l’EPFL. Il existe en effet plusieurs Ecublens, plusieurs extensions téléphoniques identiques hors de l’EPFL, plusieurs collections offrant des videoclips numérotés 3-3-3, et plusieurs adresses identiques mais sur des disques différents. 3 Pour parer à toute ambigüité spatio-temporelle, on doit utiliser des noms et adresses universelles. Ecublens (FR) désigne sans ambigüité le village fribourgeois par opposition au site de l’EPFL. Un no. de téléphone complet avec code national et préfixe est valable partout et toujours. Et idem pour un nom tel que moodle.epfl.ch ou une adresse Internet fixe. Légende Adresses Adresses et noms et noms physiques informatiques Ecublens Extension téléphonique Clip 3-3-3.pdf Adresse sur disque Vous Ici Ce videoclip Adresse en mémoire Limitée Portée temporelle Temporaire Pérenne
Résolution des noms et adresses Au vu du nombre de façons de faire référence à des informations Noms et adresses Universels et locaux Permanents et temporaires les ordinateurs doivent régulièrement traduire une forme en une autre C’est un des rôles essentiels des logiciels des systèmes Les compilateurs traduisent ainsi les noms de variables en adresses mémoire Les systèmes de fichiers et les bases de données gèrent le mouvement des données entre mémoire centrale et stockage périphérique y compris la traduction de noms et adresses de ‘stockage’ (universels et permanents) en équivalents ‘mémoire’ (locaux et temporaires) Au vu du nombre de façons de faire référence à des informations, noms et adresses, universels et locaux, permanents et temporaires les ordinateurs doivent impérativement être capables de traduire une forme en une autre. 1 C’est un des rôles essentiels des logiciels des systèmes. Les compilateurs traduisent ainsi les noms de variables en leurs adresses en mémoire. Les systèmes de fichiers et les bases de données gèrent le mouvement des données entre mémoire centrale et stockage périphérique, y compris la traduction de noms et adresses de ‘stockage’ (universels et permanents) en équivalents ‘mémoire’ (locaux et temporaires).
Exemple: compilation de noms en adresses de variables Identification par nom Localisation par adresse Accès E.g. nom, prénom Programme source: delta b^2 − 4*a*c No. de téléphone Routage de l’appel Programme objet: Mémoire primaire: charge R, @c mult R, R,@a décale R, 2, gauche écris R, @x charge R, @b mult R, R,@b diff R, R,@x écris R, @delta Pour donner une vue plus concrète de cette fonction des logiciels considérons p.ex. ce qui se passe quand un algorithme exprimé dans un langage de programmation quelconque doit être exécuté sur un ordinateur. 1 Le code écrit par un programmeur pourrait contenir une ligne telle que delta b^2 − 4*a*c. 2 Pour être exécutable par un ordinateur, cette ligne de code doit être traduite en langage assembleur, et des adresses doivent être assignées aux variables. 3 Enfin code et variables doivent être chargées en mémoire aux adresses prévues pour que le processeur puisse y accéder pendant l’exécution. 4 Pour arriver à tout cela, un logiciel qu’on appelle compilateur se charge de traduire la ligne de code en langage assembleur et assigne au passage des adresses à toutes les variables symboliques qu’il rencontre. Une fois code et variables chargées en mémoire, l’électronique d’adressage de la mémoire permettra au processeur d’accéder aux instructions et aux données nécessaires. a b c x delta a @a b @b c @c (x) @x delta @delta Logique d’adressage de la mémoire Table des symboles du compilateur