Archives de catégorie : Assembleur

Jean-François Perrot : « Un objet pédagogique : la verticale multilingue » (20/04/2017)

Orateur

Jean-François Perrot (LIP6)

Titre

Un objet pédagogique : la verticale multilingue

Résumé

Il s’agit de traiter un même programme en plusieurs langages de niveaux différents (du genre Python, C, assembleur MIPS), en prêtant attention aux changements de perspective induits par ces transitions.

On présentera une réalisation de cette idée pour le programme du calcul itératif de la suite de Fibonacci sans limitation de la taille du résultat, en Python, C et MIPS. (Évidemment, le point essentiel est l’exigence de valeurs illimitées, rendue « naturelle » par Python.)

Outre l’augmentation spectaculaire de la taille du code, on voit apparaître des problèmes imprévus de divers ordres, comme une particularité de l’addition fib(n-1)+fib(n), ou du nombre de zéros qui apparaissent au début d’un quotient. Loin d’être un simple exercice de réécriture, l’expérience devient un projet logiciel complet, avec plusieurs tours de spirale, où Python joue un rôle précieux de boîte à outils pour la modélisation, où l’écriture en C a sa propre problématique, et où la réalisation en assembleur MIPS exige une démarche d’une rigueur de fer.

On discutera des vertus pédagogiques attendues de ce dispositif.

Informations

20 avril 2017, 14h-15h30.

LIP6, salle 24-25/405.

Documents

Maarten Bullynck : Explorer MULTICS (21/05/2015)

Orateur

Maarten BULLYNCK (SPHERE, Paris 8)

Titre

Explorer les codes et textes de MULTICS

Résumé

Multics est (avec l’OS/360 d’IBM) l’un des grands projets de développement de systèmes d’exploitation dans les années 1960. Le système Multics fut développé à partir de CTSS (Compatible Time Sharing System), le système d’exploitation en temps partagé du MIT. Aujourd’hui, Multics est surtout connu pour avoir inspiré les programmeurs de Bell Laboratories dans la conception d’Unix.
Le noyau de Multics contient à peu près 54.000 lignes de code, dont la majorité est écrite en PL/1 mais quelques parties essentielles sont écrites en ALM, une sorte de macro-assembleur pour Multics. La lecture du code de Multics présente des difficultés: le code dans son ensemble est trop large et peu « littéraire » dans sa documentation locale ; il est particulièrement indigeste dans ses passages en assembleur. Heureusement, le développement de Multics est plutôt bien documenté par des rapports d’étape et des descriptions techniques. Ces documents éclairent ce qui se passe entre les différentes versions des modules Multics. Nous allons explorer le module de l’ordonnanceur et son évolution à travers le code et les documents techniques.

Documents

Informations

Jeudi 21 mai, 14h-16h.

LIP6, salle 24-25/405.

Damiano Mazza : Les virus pour MS-DOS (19/03/2015)

Orateur

Damiano MAZZA (CNRS, LIPN)

Titre

Voyage à travers les virus MS-DOS

Résumé

Entre la fin des années 1980 et la première moitié des années 1990, MS-DOS domine la scène des systèmes d’exploitation pour PC. Sa structure extrêmement simple, voire naïve, vis-à-vis de la gestion de la mémoire, des droits d’accès aux fichiers et des mesures de protection en générale (pratiquement inexistantes) fait de MS-DOS un terrain extraordinairement fertile pour le développement des virus informatiques dans le sens primordial (biologique) du terme : un morceau de code ne constituant pas en soi un programme mais s’appuyant sur d’autres programmes pour s’exécuter et s’auto-répliquer, entraînant éventuellement des effets secondaires néfastes (la grande majorité de ce que l’on appelle « virus » informatiques aujourd’hui en effet ne le sont pas en ce sens).

Dans cet exposé, nous analyserons quelques exemplaires de ces organismes informatiques désormais éteints, en montrant leurs principes de fonctionnement et, pour certains, leur sophistication.

Documents

Informations

Jeudi 19 mars 2015, 14h-16h.

LIP6, salle 25-26/105.