Pages vues depuis 06/01/2019 : 8 555 032
(2811 mots dans ce texte ) - lu : 3747 Fois
![]() |
||||||||||||||||
MorphOS en détails |
||||||||||||||||
Traduction française de « MorphOS In Detail », réalisée par Mehdi 'Kal-L' Boulahia. Sommaire
1. Introduction Ce document a été écrit dans l'optique de décrire MorphOS, comment il a vu le jour, son fonctionnement, son état actuel et les futurs plans. Remerciements spéciaux à Bplan et à l'équipe de développeurs de MorphOS pour leur grande assistance. MorphOS est un nouveau système d'exploitation pour microprocesseurs RISC PowerPC, il fonctionne sur le Pegasos ainsi que sur les cartes PowerUP pour Amiga (CyberstormPPC et BlizzardPPC). Il a aussi été testé sur les cartes d'évaluation Mai Logic Teran CX et Teran PX. A l'avenir, MorphOS fonctionnera sur d'autres machines PowerPC basées sur l'Open Firmware et peut-être même sur certains Apple Macintosh PowerPC. Il fonctionne présentement sur les processeurs PowerPC 603e, 604e, 750 et 7400 (G4 original). MorphOS le bien nommé est un amalgame du vieux et du neuf. A l'origine, en 1995, il devait être une solution migratoire pour faire passer l'Amiga au PowerPC mais ils devint finalement un système d'exploitation à part entière compatible avec les applications Amiga. A l'avenir, il va encore évoluer pour devenir un vrai système d'exploitation moderne et très avancé. Néanmoins, il gardera sa compatibilité avec les applications existantes au travers de son système "d'OS Boxes". |
||||||||||||||||
A l'Origine - L'Histoire de MorphOS Pour prendre un peu de recul et être le plus exhaustif, avant de rentrer plus dans les détails, cetten section va décrire comment le projet MorphOS a débuté et a évolué dans le temps. La voie longue et tortueuse du PowerPC sur Amiga a commencé en 1995. Bien qu'il y a eu et qu'il y a encore d'autres projets similaires, avec MorphOS 1.0, le projet original est enfin en phase terminale. En septembre 1995, un accord est passé entre Amiga Technologies et la compagnie allemande Phase5 avec pour but de développer un chemin de transition pour passer de la famille de processeurs 680x0 (68k), qui arrivait en fin de vie, vers la famille PowerPC, ceci fut la genèse du projet MorphOS. Malheureusement, cet accord fut de courte durée puisque Escom, la compagnie détenant Amiga Technologies fit faillite. Néanmoins, le projet ne tomba pas aux oubliettes puisque Phase5 décida d'aller de l'avant et continuer le processus de migration. Ceci amena Phase5 à sortir en 1997 une série de cartes accélératrices nommée PowerUP qui, pour la première fois, apportaient à l'Amiga une accélération RISC. Les programmes fonctionnaient sur le 68k et certaines fonctions étaient accélérées par l'usage du PowerPC et d'une bibliothèque PPC native.
Il y eut beaucoup de projets et d'accords entre Phase5 et d'autres
compagnies mais avec tous les retournement de situations inhérents à
l'histoire de l'Amiga, les compagnies firent faillite et aucun de ces
projets n'arriva à terme, même Phase5 fit faillite dû au fait que le
marché Amiga déclinait à vue d'oeil. Plus tard, une nouvelle sociéte
vit le jour: BPlan fut formée et le projet ressorti des cartons mais
cette fois-çi, c'était dans l'optique de le concrétiser en tant que
Système d'Exploitaion à part entière sans aucun composant du SE
original. En 2000, alors qu'il arrivait au stage de développement
final, MorphOS était révélé dans une version beta publique La version 2002 publique de MorphOS, dévoilée sur le Pegasos PowerPC représente le chapitre final de 7 ans de longue transition du matériel propriétaire basé sur le 68k vers la plateforme PowerPC. MorphOS n'a plus besoin du matériel original, il ne contient pas non plus d'élément du système original, mais ce qui est sûr, c'est qu'il contient le même état d'esprit et les mêmes sensations: un ordinateur rapide et fun à utiliser. |
||||||||||||||||
Le Système MorphOS est basé sur le micronoyau Quark. Par dessus le noyau se trouvent actuellement 2 "Boxe". La première, actuellement en stage final de développement, est l'A-Box, la seconde toujours en développement est la Q-Box, bien plus avancée technologiquement. Au moment où ces lignes sont écrite (Novembre 2002), le gros du développement se focalise sur l'A-Box mais un travail de design considérble a été fait sur la Q-Box. L'A-Box peut faire fonctionner les applications RTG (Re-Targetable Graphics) puisqu'il inclut une réimplémentation propre et complète de la version 3.1 de l'Amiga Operating System (AOS) ainsi qu'un émulateur 68k JIT (Just In Time). La Q-Box, d'autre part, sera nouvelle est requerra ses propres applications, mais puique la compatibilté avec les applications Amiga grâce à l'A-Box est possible, MorphOS peut prendre son essor avec une base mature d'applications existantes pendant que le dévloppement de la Q-Box continue. Il est aussi possible que dans le futur, d'autres "boxes" soient ajoutées permettant la compatibilité avec d'autres systèmes d'exploitation. Les différentes possibiltés sont d'ajouter la compatibilité avec les applications Unix/Linux ou celles de BeOS. Notez bien que ce ne sont que des possibilités et des nombreux point doivent être pris en considération avant d'ajouter la compatibilité avec ces sytèmes à MorphOS. |
||||||||||||||||
Le but original de MorphOS était de garder en vie l'Amiga en fournissant une voie de transition vers un matériel plus moderne. Les utilisateurs peuvent déjà lancer leurs applications d'origine sur d'autres plates-formes mais ceci fonctionne par l'émulation du 68k et des chips propriétaires. Même si cette émulation est complète et précise, une bonne partie des performances sont perdues dans l'émulation elle-même. Bien que MorphOS ait évolué vers un autre but que celui qu'il avait à ses orgines, il continue à garder la compatibilité avec l'AOS 3.1. Néanmoins, il utilise une technique différente qui permet aux logiciels de tirer parti au maximum d'un matériel moderne. L'A-Box inclut un implémenation propre de l'API de l'AOS3.1, créée en utilisant des documentations disponibles publiquement. Elle a été écrite et compilée sur PowerPC et est donc 100% native. Il y a aussi l'émulateur 68k pour les applications existantes, les performances de ces dernières sont accélérées de manières substantielle par le complilateur à la volée JIT (Just In Time) qui convertit les code 68k en code PowerPC et ensuite les met en cache, réduisant de façon drastique la lourdeur de l'émulation. En plus d'être native, l'A-Box est plus rapide que l'original pour ce qui est de faire fonctionner les applications, ceci grâce à différentes techniques et aussi au fait qu'elles sont utilisées justement dans ce système. Ceci permet une accélération notable dans les performances système. Pour un maximum de performances, il est néanmoins très simple de compiler du code en natif PPC. Cela permet aux applications Amiga de tirer pleinement profit des performances du PowerPC.
Un
point qu'il est tout de même important de noter: il n'y a acune
émulation des chipsets propriétaires de l'Amiga. Par conséquent,
MorphOS ne peut lancer par lui-même des applications les requérant. Ce
n'est pas vraiment un problème en lui-même puique l'on peut imaginer
que depuis les avancées de l'AOS 2.0, les applications ont eu la
possibilité d'utiliser des appels de l'API indépendants du matériel. Si
un utilisateur veut lancer des applications requerrant les chips
propriétaires (par ex. beaucoup de jeux), ils peuvent utiliser UAE
(Ubiquitous Amiga
L'AOS
originel fonctionnait sur des machines maintenant obsolètes qui ne
possèdent qu'une fraction de la puissance disponible sur les
microprocesseurs actuels. Les vitesses des Amiga était notées en MIPS
(Millions d'Instructions Par Seconde), l'IBM G3 à 1Ghz est plus de 2000
fois plus rapide que l'Amiga 68000 d'origine. Malgré cela, la rapidité
et les temps de réponse des Amiga originaux étaient -et sont encore-
très élevés. Par conséquent, étant donné que l'A-Box fournit une
implémentation PPC des plus efficaces, ses temps de réponse vont
paraître extrèmement rapides à un utilisateur de PC, surtout lorsque
l'on sait que c'est sur une machine initiale dont la vitesse n'est que
de 600 Mhz. Support des Système de Fichiers MorphOS supporte un grand nombre de Systèmes de Fichiers et d'autres peuvent être supportés par l'ajout de plug-ins:
Relaxez-vous - Ambient Desktop, l'environnement MorphOS de remplacement du Workbench se nomme Ambient et faisant partie intégrante de l'A-Box agit comme Les Autres Améliorations Graphiques Contrairement à l'original, le système graphique est maintenant complètement indépendant du matériel, il a aussi été considérablement amélioré avec de nouvelles fonctionnalités telles que la transparence et l'overlay. L'accélération graphique 3D est implémentée grâce à l'API Rave3D et un wrapper pour l'API Warp3D est en développement, la compatibilité OpenGL est aussi prévue. Le système audio a aussi été amélioré avec l'ajout de AHI qui est une API de redirection pour l'audio de façon à ce que les applications puissent tirer avantage des systèmes avec des périphériques audio meilleurs que l'original (de nos jours, tous le sont). A sa sortie, l'AOS était un système d'exploitation très en avance, il incluait le multitâche préemptif dès 1985 -une caractéristique que les autres SE (Windows ou MacOS) n'ont eu que bien plus tard. Néanmoins, comparé aux système d'exploitaion modernes, l'Amiga possède pas mal de limitations telles que le manque de protection mémoire ou l'absence de mémoire virtuelle. Comme il inclut une réimplémentation fidèle des spécifications de l'API de l'AOS 3.1, le design de l'A-Box était en grande partie figé et ne pouvait être complètement modifiée. Par conséquent, l'A-Box possède beaucoup de limitations présentes dans l'original. Certaines ont été contournées grâce à des extensions mais pour certains cas, les limitaions sont soit trop difficiles soit impossibles à retirer sans supprimier complètement la compatibilité avec les applications. Cependant, ce sont des limitations de l'A-Box et pas de MorphOS en général, la Q-Box n'aura pas ces problèmes. |
||||||||||||||||
La Q-Box Jusqu'à maintenant, le développement s'est concentré sur l'A-Box. Dans le futur, il devrait se focaliser sur Q. Q devrait consister en une version améliorée du noyau Quark, un ensemble de serveurs fournissant la fonctionnalité nécessaire et la Q-Box dans laquelle les applications tourneront. Le noyau Quark est vraiement petit, il fournit une couche d'abstraction matériel, des pilotes, la gestion de la mémoire, transmission des messages. La plupart du vrai travail sera fait dans les serveurs (Réseau, Système de Fichiers, GUI, Media, Sécurité, graphismes 2D/3D, etc...)
Les applications devraient
tourner dans la Q-Box et faire des appels d'API via un système de
transmission de message. L'API ne sera pas fermée par un seul langage
de programmation et les dévloppeurs n'auront pas à apprendre un nouveau
langage. La transmission de message est extrèmement rapide, au lieu de
transférer les données dans le message, la position mémoire du message
est remappée vers l'application en attente du message. Les petits
messages sont copiés Modularité et Autres Petites Choses.
Le système de transmission de message utilisé dans MorphOS signifie que
le système peut être grandement modulable. Les composants envoyant et
recevant les messages puvent tourner sur différentes processeurs ou
même sur différents ordinateurs et le message arrivera toujours à
destination. Un système de fenêtrage par dessus un réseau (à la
X-Window) pourrait être implémenté de cette manière mais les temps de
récation en souffriraient. Un wrapper compatible X-Window est prévu de
telle sorte que les applications X-Window puissent être portées mais
La
capacité de distributions de Q en terme de transmission de message
signifie que le clustering sera possible sans avoir à réécrire le SE
tout entier. Les applications requerrant un grand nombre de processeurs
seront relativement faciles à écrire sous Q. Une des choses requise par
les applications à grande échelle est une grande quantité de mémoire,
les stations de travail et autres grands serveurs sont en 64 bits
depuis plusieurs années déjà mais ils sont encore loin d'avoir le
niveau d'utilisation qu'un utilisateur de base attend d'un Système
d'Exploitation. Q a été conçu dès le départ avec une optique 64 bits.
Les applications auront dès le début accès à une Microkernel Vs Macro Kernel Un problème courament rencontré dans le dévelopmment d'un Système d'Exploitation basé sur un micronoyau est la vitesse. Cela est dû au fait qu'il y a énormément de context switches (changements de contexte) faits par le CPU entre le noyau et les processus. Le context switching ralentit énormément la machine. La conséquence de ce problème est que beaucoup de système d'exploitation se sont détachés du micronoyau pour s'approcher plus d'un macronoyau en ajoutant des fonctionnalités au noyau, par exemple Microsoft a déplacé les graphiques dans le noyau de WindowsNT, Be a fait de même avec les capacité réseau de son SE, Linux a commencé comme un macronoyau et tout est inclu dedans. Cette technique apporte un gain de vitesse mais au prix de la stabilité et de la sécurité puisque différentes tâches du noyau peuvent écrire à l'emplacement mémoire déjà occupé par l'une d'entre elles.
Etant donné ce qui est écrit au-dessus, l'on peut se demander pourquoi
Q peut être basé sur un micronoyau (pour être plus précis, il
s'apparente à un micronoyau) et quand même espérer de bonnes
performances. La réponse à cette question vient du fait que MorphOS
tourne sur PowerPC et non sur des processeurs x86. C'est un problème de
l'architecture x86 qui fait que les context switches sont très
gourmands en temps processeur. Les changements de contexte sur PowerPC
sont de l'ordre de 10 fois plus rapides, se rapprochant de la vitesse
d'appel d'une sous-routine. Cela veut dire qu'un Système d'Exploitaion
PowerPC peut utiliser une architecture Transition
Au moment où ces lignes sont écrites, le noyau Quark existe mais est
incomplet. Le reste de Q est toujours en phase de prévision, le plus
gros a été établi mais les menus détails ne le sont pas encore
completement. Les pilotes par exemples sont inclus dans l'A-Box d'où
ils peuvent accéder directement au matériel. A l'avenir, les pilotes
seront incorporés au noyau Quark où ils seront indépendants de l'A-Box
et bien sûr des autres "boxes", ce qui a l'avantage des les rendre
utilisables par toutes les autres boxes. Cette direction a été
pré-établie, les pilotes ont donc été Vapour Where? (Vapor Où? -Jeu de mots Vaporware).
La grande partie des informations données ici à propos de la Q-Box sont
au futur et ceci pourrait donner l'occasion de nous taxer de faire du
vapourware (le fait d'annoncer un logiciel longtemps à l'avance et ne
rien sortir). Nous décrivons seulement nos buts et comment nous
comptons y parvenir. Néanmoins, comme il est normal dans le monde
informatique, les choses changent donc tout ceci peut être modifié. Le
développement de systèmes complexes prend toujours beaucoup de temps,
nous cherchons des solutions pour arriver sur le marché le plus
Le futur améliorera le travail déjà réalisé et apportera aux
utilisateurs de MorphOS un Système d'Exploitation résolument moderne,
désigné et construit par des développeurs ayant une longue expérience
derrière eux, qui connaissent les bénéfices et les avantages du passé
mais qui ont aussi le savoir et l'expérience de ce qu'il ne faut pas
faire et des chemins à ne pas prendre. *Mise à jour de Nicholas Blachford:
Quelques changements sont à apporter à la doc: premièrement,
l'expression "Compatibilité Amiga" est impropre, ce n'est pas ce que
nous voulons affirmer. Deuxième chose, il y a confusion à propos des pilotes qui seront inclus dans le noyau, il ne seront pas dans le noyau lui-même comme mentionné.
Liste des Caractéristiques: Le Futur Plus en Détail Ecrire un OS comme Q est très prenant et peut très bien prendre plusieurs années pour être achevé. Il n'y a pas à l'heure actuelle de prévision certaine pour le futur, de plus cela évoluerait sûrement au fil du temps. Nous espérons avoir quelque chose bientôt, mais de quelle façon, c'est ce que nous nous demandons. A la question de savoir si dans 5 ans l'équipe de BPlan sera toujours là, Nicholas répond: Le gens qui ont fondé cette compagnie développent sur Amiga depuis très longtemps et voient ce projet comme un investissement à long terme. Ils dépensent beaucoup d'argent pour lui et ce serait une attidue absurde d'abandonner après une courte période. |
||||||||||||||||
Pour des nouvelles de MorphOS et des liens: http://www.morphos-news.de Tous les termes et noms utilisés ici sont des marques déposées et restent propriétés de leurs détenteurs. |
||||||||||||||||
![]() |
![]() ![]() ![]() |
|||||||||||||||
© 2003-2007 RELEC hardware & software, payerne / design tcherno.com |