|
|||||||||||||||||||||||||||||||||||||||||||
|
Note : traduction par Philippe Ferrucci. ![]() ![]() Je m'appelle Thomas Frieden et je travaille pour Hyperion Entertainment sur AmigaOS 4. J'ai 33 ans et j'habite à Trier, Allemagne. ![]() Quand j'ai vu pour la première fois un Amiga tourner dans un magasin près de chez moi, j'ai été surpris de voir qu'il pouvait faire fonctionner de multiples programmes simultanément. C'était en 1988 et je me rappelle encore le Workbench 1.3 qui tournait sur cette chose et les petits programmes de démo (des points, des rectangles, des lignes... les anciens s'en rappelleront sûrement :)). On peut dire que cela m'a marqué. ![]() AmigaOS 4 sera la dernière étape pour passer du matériel Amiga 68k aux systèmes Amiga basés sur du PowerPC. On se concentre sur la portabilité du système vers d'autres systèmes PowerPC. Cela inclut, mais n'est pas limité à, l'AmigaOne ou le SharkPPC. Bien sûr, les anciennes cartes accélératrices PowerPC de Phase 5 seront aussi gérées. Le principal changement dans AmigaOS 4.0 sera qu'Exec, le noyau d'AmigaOS, est complètement réécrit de zéro, pour tourner en natif sur du PowerPC. Cela veut dire qu'au lieu d'émuler cette fonctionnalité cruciale, elle sera native, et sera donc la meilleure et la plus rapide des solutions pour AmigaOS 4. Avec Exec, il y aura un puissant émulateur 68k qui permettra de faire tourner sur AmigaOS 4 les vieux programmes 68k, même s'il n'y a plus de processeur 68k. AmigaOS 4 n'utilisera *pas* un processeur 68k physique, même s'il y en a un de présent. La raison derrière est très simple : les processeurs 68k et PowerPC des systèmes actuels sont des extraterrestres l'un pour l'autre. Ils n'ont jamais été prévus pour fonctionner dans le même environnement. Au contraire de plusieurs processeurs PowerPC par exemple, le 68k et le PowerPC ne partagent pas leur cache mémoire embarqué dans la puce. Du coup, quand l'un d'eux veut accéder aux données écrites par l'autre (ce qui est toujours le cas quand le PowerPC fait un appel au système d'exploitation), ces caches doivent être vidés. Mais ces caches sont une des raisons qui fait que les processeurs modernes sont si rapides. Si on les vide, cela ralentit le système à un point où les deux processeurs fonctionnent à un faible pourcentage de leur vitesse réelle. Dans ce cas de figure, avoir deux processeurs ne permet pas d'aller plus vite, c'est même moins rapide au final. Donc l'idée d'émuler un 68k prend tout son sens. Cela permettra au PowerPC de montrer pour la première fois tout son potentiel. Beaucoup d'autres modules seront aussi natifs PowerPC dans AmigaOS 4. Cela inclut des composants vitaux comme Intuition, l'interface graphique de l'Amiga, et la plupart des parties où le besoin de vitesse est indispensable comme les périphériques logiques et les pilotes. Nous ajoutons aussi des fonctionnalités. Par exemple, Intuition sera entièrement revu ainsi que la layers.library. Même chose pour le DOS, qui est toujours un morceau plein de vieilles bidouilles et de rustines permettant de garder la compatibilité descendante qui a été utilisée depuis le Kickstart 2.0. Beaucoup de choses sont ajoutées aussi à Exec. Il y aura une interface de bibliothèques complètement nouvelle qui permettra aux développeurs de proposer plusieurs versions d'une bibliothèque aux développeurs d'applications mais aussi de séparer les fonctionnalités d'une bibliothèque dans des "interfaces" différentes. Nous espérons aussi pouvoir ajouter à AmigaOS 4 la gestion de la mémoire virtuelle ainsi qu'une gestion limitée de protection mémoire (une protection mémoire complète empêcherait certainement toute compatibilité descendante). Nous avons aussi des idées pour faire du pistage de ressources (resource tracking). C'est un moyen de savoir pour des programmes quelles ressources (mémoire, fichiers, fenêtres, écrans, etc.) ils ont ouvert. Ainsi, quand un programme plante le système, on pourra le supprimer complètement de la mémoire avec les fenêtres/écrans qu'il avait ouvert ou les fichiers qu'il utilisait. En plus de cela, beaucoup de nouvelles fonctionnalités seront ajoutées dans différents secteurs. Une des améliorations majeures est l'ajout d'une pile USB qui permettra aux utilisateurs Amiga d'utiliser des périphériques USB comme des claviers, souris ou manettes, ainsi que des scanners, imprimantes et appareils photos. AmigaOS 4 aura aussi une pile TCP/IP complète qui sera la plus rapide sur Amiga. Il y aura évidemment des améliorations comme de nouveaux pilotes 3D et AmigaInput, un système pour que les développeurs puissent utiliser des périphériques d'entrée de façon abstraite. C'est-à-dire qu'ils pourront utiliser le même code pour utiliser les souris, claviers, manettes (PSX, analogiques, numériques et même USB). Ainsi, les développeurs n'auront pas à s'occuper eux-mêmes de tous les périphériques existants. ![]() Oui, il le sera. AmigaOS 4 sera un simple portage vers le PowerPC. Ce processeur dispose aussi d'une puissance brute qui dépasse largement le 68k, même sur les actuelles cartes accélératrices de Phase 5. Ajoutez à cela que les modes de fonctionnement du vieux Exec sont toujours là (AmigaOS 4 aura, par exemple, l'algorithme d'ordonnancement de tâches d'AmigaOS 3), et vous verrez qu'AmigaOS 4 sera aussi réactif que l'ancien AmigaOS. ![]() Il n'y a pas grand-chose à améliorer dans le multitâche d'AmigaOS 3. Il est très réactif et il est même presque temps réel. En fait, il utilise le même algorithme qui est utilisé dans de nombreux systèmes temps réel (comme QNX). Plus tard, on pourra utiliser un autre algorithme, mais pour l'instant, on garde l'ancien. D'ailleurs, les premiers tests révèlent que le temps du changement de contexte (le temps nécessaire pour basculer d'une tâche en cours vers une autre) sera très bas (cette partie du système est écrite entièrement en assembleur PowerPC) donc c'est vraiment rapide. ![]() Il n'est pas écrit seulement en C. Exec est en deux parties : le noyau Exec en lui-même et ce qu'on appelle une couche d'abstraction matérielle ou HAL en plus court. Le HAL est le lien entre le haut niveau d'Exec et le matériel. Ce HAL est presque entièrement écrit en assembleur, entre autres parce qu'il touche aux parties bas niveau comme la gestion des interruptions et les exceptions, la gestion du cache, etc. Mais même les parties haut niveau qui sont écrites en C seront rapides. C'est une fausse idée de penser que ce qui est en assembleur est automatiquement rapide, et que le C est lent. C'est complètement faux. Si vous choisissez le mauvais algorithme, l'assembleur peut être aussi lent que le BASIC. Ajoutez à ça le fait que les compilateurs modernes (nous utilisons une version récente de gcc pour le système) sont très bons. Ce n'est pas évident de battre un compilateur C avec de l'assembleur. Bien sûr qu'il y a plusieurs parties de code qui sont très critiques en termes de vitesse. L'ordonnanceur (bascule de tâches) est l'un d'eux et c'est pour cette raison qu'il est entièrement écrit en assembleur. D'autres parties des fonctionnalités haut niveau seront converties en assembleur par la suite (pour les plus techniciens, cela inclut des choses comme la gestion des listes qui est utilisée très fréquemment bien sûr...). ![]() Ce sera optionnel car on pourra l'activer ou non. Beaucoup d'anciens programmes ne peuvent pas fonctionner avec de la protection mémoire. C'est parce que normalement, la mémoire qui est utilisée par une tâche ne devrait pas être utilisable par une autre. Mais cette règle a été violée très souvent, en partie car les gens ne sont pas au courant de ce simple fait mais aussi parce que la documentation à ce propos n'a jamais été très claire (ceux intéressés peuvent regarder le drapeau MEMF_PUBLIC dans l'autodoc d'AllocMem ;)). En plus, il n'y avait pas d'autre façon de faire (AmigaOS n'a pas de concept de "threads" comme pour les autres systèmes). Bref, pour garder une compatibilité descendante, la protection mémoire sera optionnelle, c'est-à-dire que vous pouvez soit la désactiver complètement, soit l'activer avec le risque de voir certains programmes mal fonctionner. Avec de la chance, AmigaOS 4 aura un jour des programmes qui rendront obsolètes les vieux concepts pour que la protection mémoire puisse être pleinement utilisée. ![]() Oui c'est possible. La mémoire virtuelle fonctionne par-dessus le sous-système normal de gestion de la mémoire dans Exec. En plus, les programmes devront demander de façon spécifique de la mémoire virtuelle (il y a un nouveau drapeau, MEMF_VIRTUAL). De cette façon, les programmes peuvent s'assurer que des données sensibles ne finiront pas en mémoire virtuelle, alors que des données "brutes" (comme des graphismes ou des données géométriques dans un jeu 3D) seront gérées à travers le système de mémoire virtuelle. ![]() Nous avons prévu de faire cela mais pour l'instant nous utilisons l'ancienne méthode. Certaines fonctions d'Exec exportent cette méthode d'allocation de la mémoire. De ce fait, on ne peut pas l'enlever complètement. Si nous avons le temps, une nouvelle méthode d'allocation sera développée. ![]() Oui, Nous discutons avec Matay et Elbox pour la gestion de leurs matériels. Nous n'avons reçu aucune coopération de la part de DCE pour gérer le G-Rex et les anciennes cartes accélératrices Phase 5, malgré nos demandes répétées. Nous avons récemment appris que bPlan leur a demandé de ne coopérer d'aucune manière avec l'équipe de développement AmigaOS 4. ![]() Nous avons prévu de gérer "tous" les matériels PowerPC, c'est-à-dire autant que possible. Il y a aussi une histoire de licences, donc pour l'instant les cibles de la société sont l'AmigaOne et la SharkPPC, ainsi que la CyberStormPPC. La BlizzardPPC devrait aussi être gérée mais le manque de documentation (et la volonté de transmettre la documentation de la part du constructeur) rendra les choses compliquées. Au final, je dirais que "rien n'est impossible", et nous essaierons de gérer les Blizzard. Après tout, c'est le principal du marché Amiga des deux dernières années. ![]() Vous connaissez peut-être le jeu Duke Nukem Forever ? Ils ont posé la même question depuis quelques années maintenant. Donc je vais utiliser leur réponse "par défaut" ici aussi : quand ce sera terminé (NDT : "When it's done ;)"). ![]() Pour être franc, je n'ai jamais vu MorphOS. Pour moi, ce n'est pas AmigaOS, même si certains vous diront le contraire. Je suis autant intéressé par MorphOS que je le suis de, par exemple, BeOS. Comme je ne l'ai jamais vu, je ne peux pas et je ne ferai pas de commentaires à propos de ses mérites techniques. Pour l'instant, je ne vois pas de raison à MorphOS à part pour remplacer AmigaOS par quelque chose de différent qui peut faire tourner des programmes AmigaOS. On dirait qu'il n'y a pas de plan prévu. C'est pour ça que je préfère supporter l'idée d'Amiga Inc. de passer d'AmigaOS 3.x à AmigaOS 4, puis vers AmigaOS 5. ![]() Si je pensais que l'Amiga allait mourir, je ne travaillerai pas pour son avenir. Nous sommes tous conscients que nous avons un lourd passé à faire oublier. Les derniers Amiga sont sortis en 1992, c'était il y a dix ans. La technologie est passée de main en main, et tous les propriétaires précédents ont fait des super plans qui sont partis en fumée. Les propriétaires actuels ont essuyé un flot continu d'insultes et d'attaques, mais ils doivent comprendre qu'ils ont déjà fait plus pour l'Amiga que tous les propriétaires précédents en nous permettant d'aller de l'avant avec AmigaOS 4. L'Amiga ne reviendra pas en un jour. Dix ans de négation ne peuvent pas être traités en un jour. C'est un processus lent mais avec les nouvelles technologies qui arrivent (AmigaOne, Pegasos, SharkPPC) et les possibilités offertes par l'intégration d'AmigaDE dans AmigaOS, l'efficacité du système avec sa réactivité et ses petits besoins en puissance et surtout tous les utilisateurs dévoués, c'est possible... ![]() Actuellement, j'ai deux Amiga 4000 et deux Amiga 1200, la plupart équipés en PowerPC. J'utilise surtout l'A4000 pour le développement. ![]() Quand je ne programme pas, je joue à des jeux vidéo. J'aime les jeux de rôle (comme Baldur's Gate et Dungeon Master), les jeux de stratégie et les jeux de tir (comme Shogo). Quand je ne suis pas devant un ordinateur, j'aime écouter de la musique et regarder des courses de formule un (non, je ne suis pas un fan de Michael Schumacher ;)). J'aime aussi jouer à des jeux de rôle de plateaux et à "Magic: The Gathering".
--------------------
Merci d'avoir pris le temps de nous répondre.Note : cette entrevue ne doit pas être publiée ailleurs sans l'autorisation écrite de Johan "Graak" Forsberg.
|