Obligement - L'Amiga au maximum

Mardi 21 novembre 2017 - 07:25  

Translate

En De Nl Nl
Es Pt It Nl


Rubriques

 · Accueil
 · A Propos
 · Articles
 · Galeries
 · Glossaire
 · Hit Parade
 · Liens
 · Liste jeux Amiga
 · Quizz
 · Téléchargements
 · Trucs et astuces


Articles

 · Actualité (récente)
 · Actualité (archive)
 · Comparatifs
 · Dossiers
 · Entrevues
 · Matériel (tests)
 · Matériel (bidouilles)
 · Points de vue
 · En pratique
 · Programmation
 · Reportages
 · Tests de jeux
 · Tests de logiciels
 · Tests de compilations
 · Articles divers

 · Articles in english
 · Articles in other languages


Twitter

Suivez-nous sur Twitter




Liens

 · Sites de téléchargements
 · Associations
 · Pages Personnelles
 · Moteurs de recherche
 · Pages de liens
 · Constructeurs matériels
 · Matériel
 · Autres sites de matériel
 · Réparateurs
 · Revendeurs
 · Presse et médias
 · Programmation
 · Développeurs logiciels
 · Logiciels
 · Développeurs de jeux
 · Jeux
 · Autres sites de jeux
 · Scène démo
 · Divers
 · Informatique générale


Jeux Amiga

0, A, B, C, D, E, F,
G, H, I, J, K, L, M,
N, O, P, Q, R, S, T,
U, V, W, X, Y, Z


Trucs et astuces

0, A, B, C, D, E, F,
G, H, I, J, K, L, M,
N, O, P, Q, R, S, T,
U, V, W, X, Y, Z


Glossaire

0, A, B, C, D, E, F,
G, H, I, J, K, L, M,
N, O, P, Q, R, S, T,
U, V, W, X, Y, Z


Partenaires

Annuaire Amiga

Amedia Computer

Relec

Hit Parade


Contact

David Brunet

Courriel

 


Matériel : BeBox
(Article écrit par Pascal Lauly et extrait d'Amiga News - septembre 1996)


La société Be fut fondée en 1990 par Jean-Louis Gassée, ancien président d'Apple France. La BeBox fut conçue par une petite équipe d'ingénieurs, avec l'idée de créer une nouvelle plate-forme inspirée du meilleur des Mac, PC, Amiga et autre Next.

Le matériel

Commençons par les caractéristiques techniques. La BeBox existe en deux modèles, la Dual603 66 MHz et la Dual603e 133 MHz. La machine est livrée dans un boîtier moyen tour, le mien est bleu foncé et présente une façade avant grise, dominée par un logo Be. Avec un peu d'imagination, je lui trouve un petit air de ressemblance avec un calculateur de chez Cray Research. L'ouverture de la machine se fait très simplement et rapidement, après avoir retiré deux grandes vis. Il suffit ensuite de tirer vers soi la façade avant. Agréable surprise, la disposition d'ensemble offre la place pour deux disques durs 3"1/2 en largeur, deux emplacements 5"1/4 et un lecteur de disquette en face avant. Les deux connecteurs SCSI-2 et IDE interne sont situés entre l'alimentation et les deux disques durs, ce qui évite aux nappes et aux fils d'alimentation de traîner un peu n'importe où comme dans certains PC. L'alimentation 240 W au standard PC-AT fait bien moins de bruit que celle de mon Amiga 4000. Néanmoins, j'aurais préféré un ventilateur à la norme CE, parfaitement silencieux, sachant qu'ils sont vendus au même prix.

BeBox

BeBox

A l'allumage, les deux rangées de LED de la façade avant s'activent. Le spectacle est grandiose, on en conclut que la machine est vivante :-). Puis, vient se former à l'écran un logo Be, et après une seconde, la BeBox cherche à démarrer sur un disque dur, un CD ou une disquette.

Contrairement aux PC, il n'y a pas de BIOS, juste un "boot-menu" qui laisse le choix du disque de démarrage. Nul besoin donc de perdre une heure à régler 200 paramètres dans un BIOS non documenté comme c'est souvent les cas sur les cartes mères modernes de PC ; les périphériques sont reconnus du premier coup comme sur nos Amiga. Bien sûr, le SCSI-2, l'IDE, le MIDI et l'audio, tous intégrés en standard, aident beaucoup. On évite ainsi les conflits entre cartes.

En ce qui concerne le son justement, il y a deux voies stéréo avec des échantillons de 16 bits en linéaire jusqu'à une fréquence de 48 kHz, ou en loi mu sur 8 bits. La loi mu est une loi quasi exponentielle utilisée afin de minimiser les bruits de quantification en attribuant plus de bits aux faibles amplitudes.

La carte mère dispose de :
  • Deux PowerPC 603 de Motorola à 66 MHz soudés (il s'agit du modèle Dual603 66 MHz) ou de deux 603e à 133 MHz, soudés eux aussi (c'est le Dual603e 133 MHz).
  • Un contrôleur mémoire/cache/bus MCP105 de Motorola.
  • Huit connecteurs SIMM 72 broches.
  • Trois connecteurs PCI.
  • Cinq connecteurs ISA.
  • Un contrôleur SCSI-2 (NCR 58C810 avec DMA par le bus PCI).
  • Un contrôleur IDE.
  • Un connecteur pour un analyseur logique.
  • Un connecteur d'alimentation (standard PC).
  • Un connecteur pour la carte d'entrées/sorties (ES).
  • Une pile pour sauver l'horloge.
  • Un connecteur pour un lecteur de disquette standard PC.
  • Une ROM flashable de 128 ko.
  • Un connecteur pour le haut-parleur.
  • Un port parallèle (EPP et ECP).
  • Un connecteur pour clavier standard PC-AT.
  • Un port SCSI-2 externe (50 broches).
  • Une puce sonore Crystal Semiconductor CS4231A (son 16 bits jusqu'à 48 kHz stéréo en linéaire ou loi mu).
  • Une carte d'entrées/sorties avec :
    • Une prise pour accueillir la sortie audio d'un lecteur de CD.
    • Quatre ports séries 9 broches (16550 UART).
    • Trois ports infrarouges.
    • Deux fois deux ports MIDI (deux MIDI-In et deux MIDI-Out).
    • Une prise casque et une prise micro.
    • Une sortie audio stéréo (type RCA pour chaine Hi-Fi).
    • Une entrée audio stéréo (idem).
    • Deux ports manette (type PC analogique).
    • Un port souris type mini-DIN PS/2.
    • Un port "bidouilleur" avec CAN et NAC 12 bits et fusibles.
  • Une carte en façade avec :
    • Un haut-parleur.
    • Deux rangées de LED indiquant la charge de chacun des microprocesseurs.
    • Une LED témoin de l'activité des disques.
    • Deux boutons de redémarrage.
BeBox

BeBox

Je reviendrai ensuite sur ces choix techniques qui méritent quelques justifications. Passons maintenant au système d'exploitation.

Le système

Détendez-vous : pour ce chapitre, asseyez-vous, prenez quelque chose à boire et détendez vous. Le système d'exploitation BeOS est conçu autour d'une architecture client-serveur. A la base, on trouve un micro noyau multitâche préemptif où chaque processus (tâche) peut avoir de multiples unités d'exécution (multithreading). BeOS dispose en standard d'une protection mémoire, d'une page de mémoire partagée de mémoire virtuelle, de sémaphores et de devices chargés puis liés de façon dynamique au noyau. Les devices travaillent donc dans le même espace mémoire que le noyau. Les bibliothèques sont elles aussi chargées de façon dynamique et utilisent la mémoire partagée. Ainsi les exécutables restent de taille très modeste comme sur l'Amiga.

Le "scheduler", programme qui se charge du multitâche, est prévu pour répartir les "threads" (multiple unités d'exécutions) sur plusieurs microprocesseurs, actuellement, jusqu'à 8 ! Ce découpage des applications en threads est l'un des points fort du système, il permet de gagner de la vitesse simplement en ajoutant plusieurs processeurs. BeOS en fait naturellement une intense utilisation. Par exemple, pour chaque fenêtre il y a deux threads : l'un se charge des rafraîchissements graphiques et l'autre, de répondre aux requêtes des utilisateurs.

De la même façon qu'Exec, le noyau est préemptable, mais en revanche, le système de communication entre tâches (en fait entre threads) à l'aide de messages et de ports, s'avère bien plus évolué que ce que propose AmigaOS.

Une bibliothèque de compatibilité POSIX permet de compiler avec peu de modifications les utilitaires bien connus du monde Unix, la plupart des commandes GNU étant déjà disponibles : tar, sed, awk, grep, gzip, etc.

Le Shell fourni n'est autre que le célèbre bash! (Bourne Again Shell) mais il manque encore GCC et un serveur X pour compléter la collection.

BeOS se programme en C++, et l'API s'organise en différent kits : l'application-kit, le storage-kit, l'interface-kit, le media-kit, le midi-kit, le kernel-kit, le device-kit, le network-kit, le game-kit, le 3d-kit et le support-kit.

L'application-kit est le point de départ pour toute application ; le storage-kit offre l'interface avec la base de données et le système de fichiers ; l'interface-kit sert à toutes les applications qui nécessitent une interface graphique ; le media-kit a été conçu pour générer et manipuler des données en temps réel, comme des échantillons sonores ; le midi-kit sert à... je vous laisse deviner ;-) ; le device-kit porte bien son nom lui aussi ; et le support-kit contient quelques définitions et classes utiles en général. A l'heure où j'écris ces lignes, je ne dispose pas encore de la documentation sur les network-kit, game-kit et 3d-kit. Le kernel-kit est un petit peu à part, car c'est le seul kit qui se programme en C. On y trouve toutes les fonctions pour gérer les threads, les messages et les ports, les sémaphores, les areas et enfin les images.

Deux threads, deux fois plus vite !

Pour commencer, je pense qu'un petit rappel s'impose concernant les threads : ce sont des unités d'exécution qui peuvent être "schédulées" dans un processus. Ces unités peuvent aussi s'exécuter simultanément sur différents processeurs, mais elles partagent le même espace mémoire et les mêmes ressources au sein du processus. Le thread permet donc d'économiser le changement de contexte nécessaire lorsqu'on passe d'une tâche à une autre.

Pour profiter de plusieurs microprocesseurs simultanément, le programmeur doit donc découper son application en threads. Imaginons un petit programme qui calcule une représentation de l'ensemble de Mandelbrot, afin de mettre à contribution les deux PowerPC 603 de notre BeBox, on va créer deux threads : l'un calculera les lignes paires et l'autre les lignes impaires. Le BeOS placera alors un thread sur chaque processeur. Les calculs s'effectuant dans le même espace mémoire, on ira sur ce cas simple deux fois plus vite !

Quelle pagaille ce serait si tous ces programmes qui tournent en parallèle ne pouvaient pas communiquer entre eux ! C'est là que les messages et les ports interviennent, ils sont au coeur de BeOS. Que ce soit pour transmettre des informations, recevoir une requête système (dessine-moi un mouton) ou bien échanger des données (tiens, voilà 30 ko, débrouille-toi avec), les messages jouent un rôle de première importance dans l'ensemble du système et en particulier dans l'application-kit. Ils sont aussi utiles pour synchroniser différents threads entre eux.

Afin d'obtenir l'accès exclusif à une ressource ou pour forcer un ordre d'exécution bien précis, on utilisera les sémaphores. Les "areas", sont des pages MMU (actuellement 4 ko) qui peuvent facilement être partagées entre plusieurs applications sans qu'une recopie ne soit nécessaire. Enfin, les images sont des morceaux de code, c'est-à-dire, soit une application, soit une bibliothèque, soit simplement un objet binaire qui sera chargé à la demande.

Par la suite, je ne vais pas détailler la structure de chaque kit. Ce serait trop long, mais simplement, je me contenterai de présenter les aspects de BeOS qui me paraissent les plus importants.

Le système de fichiers est une base de données

La grande nouveauté par rapport à AmigaOS, apparaît dans le storage-kit ; le système de fichiers est devenu une base de données. Chaque fichier est un enregistrement dans cette base. Ainsi, le système répond en moins de trois secondes à toute requête du style "donne moi tous les fichiers dont le nom contient la lettre "e" et dont la taille est supérieure à 100 ko". Plus besoin d'effectuer un parcours récursif de tous les disques !

Ces requêtes peuvent aussi être dynamiques et offrent des possibilités encore plus intéressantes. Je m'explique : on laisse dans un coin de l'écran la fenêtre avec le résultat de notre interrogation précédente, on ouvre le navigateur, on sélectionne un fichier dont la taille est supérieure à 100 ko et on supprime les lettres "e" de son nom. Aussitôt, sans aucune autre action de notre part, notre fenêtre résultat se met à jour !

Comment est-ce possible ? Le système prévoit d'interroger la base de données avec des requêtes dites vivantes. Grâce à cela, notre fenêtre est informée de tout changement qui l'obligerait à modifier son contenu.

L'autre avantage d'avoir cette base de données intégrée à l'OS, c'est justement de ne pas avoir 36 bases de données différentes, une par application, toutes indépendantes. Lorsqu'un ami change d'adresse, une seule correction permet de mettre à jour à la fois son carnet d'adresses, son logiciel de courrier électronique, etc. Et surtout, pour le programmeur, plus besoin de réécrire son propre mécanisme de gestion et d'interrogation de la base de données, le système le fait d'une façon simple et efficace !

Descendons un peu plus bas pour atterrir sur le device-kit. Comme je le disais plus haut, les devices sont chargés de façon dynamique et travaillent dans le même espace mémoire que le noyau. Ce choix impose aux programmeurs de valider avec la plus grande rigueur leur gestionnaire de périphérique, car un bogue dans un device peut planter toute la machine. En contre-partie, une fois stables, on peut bénéficier de devices très performants. La documentation livrée par Be permet à tous ceux qui le désire d'écrire des devices, les quelques sources d'exemples sont bien commentées.

En examinant les midi-kit et media-kit, on remarque que les ingénieurs de Be ont prêté une attention toute particulière aux aspects temps réel, notamment la synchronisation possible sur une horloge interne ou externe (par exemple MIDI ou SMPTE).

Côté réseau, des lacunes

Avec l'utilisation croissante d'Internet et des réseaux locaux dans le monde, les capacités d'une machine à bien s'intégrer dans un réseau ne sont plus à négliger. Malheureusement, BeOS semble bien pauvre dans ce domaine si on le compare avec un Unix gratuit tel que Linux ou NetBSD. On peut dire qu'il n'y a que le strict minimum, c'est-à-dire une pile TCP/IP avec PPP, FTP, Telnet, un FTPD, un navigateur Web, un petit client pour lire son courrier, un pseudo-serveur Web, et enfin un Telnetd annoncé pour le mois de septembre. En revanche, inetd, NFS, les commandes r* de Berkley (rsh, rcp, etc.), manquent cruellement, et il n'y a pas non plus d'émulateur de terminal. Je ne parle pas des nouvelles Usenet, encore moins de manipuler les tables de routage, on ne trouve même pas une commande qui permette de savoir ce qui se passe... on se croirait presque chez Microsoft !

Be compte sur les développeurs indépendants pour écrire ces programmes, dont notamment NFS. Ne serait-il pas plus malin de la part de Be, de fournir ce qu'il faut de compatibilité afin que les utilitaires réseau BSD se compilent directement ? Jean-Louis Gassée aimerait voir la BeBox jouer un rôle clé dans les réseaux alors que les ingénieurs de Be ne jugent pas prioritaire d'avoir un système multi-utilisateur. Je trouve ces deux attitudes contradictoires, j'espère qu'on ne devra pas attendre trop longtemps avant de pouvoir utiliser sa BeBox comme un serveur.

Multiples écrans, version de luxe

Lorsqu'on parle d'interface graphique, la question que tout amigaïste se pose est : y a-t-il de multiples écrans avec chacun ses préférences ? Oui et même mieux ! On dispose de multiples "workspaces" (plusieurs Workbench), jusqu'à 32, et d'un petit gestionnaire à la FVWM pour les habitués de X11. Mieux que sur l'Amiga, car on peut très facilement déplacer n'importe quelle fenêtre vers n'importe quel écran.

BeBox

BeBox

On peut, par exemple, prendre le simulateur de vol ouvert sur un écran 800x600 16 millions de couleurs et le placer sur un écran 640x480 en 256 couleurs. Nul besoin de quitter les applications lorsqu'on change de résolution, de fréquence ou de nombre de couleurs...

Ces multiples Workspaces n'occupent rien en mémoire contrairement aux écrans de nos Amiga qui mangent de la mémoire Chip. BeOS recalcule l'écran entièrement à chaque fois qu'on l'active, et redessiner un bureau 800x600 32 bits ne dure qu'une fraction de seconde. Je parle bien sûr de la BeBox bas de gamme.

La barre verticale d'icônes que l'on voit à gauche de l'écran, correspond à notre célèbre ToolManager, c'est le dock comme sous NeXTSTEP. On y place simplement les icônes des applications ou dossiers auxquels on accède le plus fréquemment. Il reste toutefois assez limité car on ne peut pas définir des raccourcis clavier ni se créer ses propres menus.

Chaque fenêtre peut être iconifiée, mais lorsqu'on active une fenêtre celle-ci s'affiche obligatoirement au premier plan. Le gadget qui permet de passer une fenêtre devant-derrière n'existe pas sous BeOS. Pas moyen donc de récupérer une fenêtre cachée sous une autre sans la déplacer. :-(

Ceci nous oblige à positionner les fenêtres de manière à toujours en laisser un bout qui dépasse par rapport aux autres, ce qui n'est guère pratique. Je n'ai pas trouvé non plus de raccourcis claviers pour iconifier la fenêtre active. Encore une fois, dommage.

Heureusement, les menus offrent des raccourcis claviers, et le glisse-et-déposer ainsi que le copier-coller n'ont pas été oubliés. Pour finir, les polices sont vectorielles au format TrueType ou PostScript.

Fenêtres de requêtes primitives

Parlons un peu d'esthétique. Sur ce point, je vous livre mon opinion tel quel, à prendre ou à laisser. Les couleurs par défaut sont des couleurs de programmeurs au sens péjoratif du terme. Dans l'ensemble, l'interface est fade, voire laide si on regarde certains gadgets comme les boîte de choix (checkbox) à la Mac OS. Juste un rectangle noir sur un fond blanc, beurk ! En revanche, je dois reconnaître que les icônes sont chouettes. Mais, pour les boîtes de requêtes de fichiers, je donnerai une mauvaise note car ils s'ouvrent dans une toute petite fenêtre et pointent systématiquement à la racine du disque de démarrage.

Le tout est loin d'être aussi convivial ni aussi joli que ce que l'on obtient avec MUI et Magic Workbench sur Amiga, ou encore avec NeXTSTEP.

Côté programmation, parler de l'interface-kit m'obligerait encore une fois à un exposé bien trop long. J'invite donc ceux qui sont curieux d'en savoir plus à se référer à www.be-europe.com où l'on peut y consulter la documentation complète de BeOS.

Aimez-vous les jeux ?

Un game-kit et 3d-kit sont en préparation. Ou préférez-vous un logiciel de CAO tout ce qu'il y a de plus sérieux ? Jean-Louis Gassée a payé pour acquérir une licence OpenGL et le portage vient juste de commencer. Les jeux, dans la version DR8 (developer release 8) de BeOS, pourront attaquer directement un écran (workspace) tout en respectant le système. Ceci permettra de ne pas pénaliser les jeux qui nécessitent des rafraîchissements graphiques très rapides, par exemple, les jeux d'arcade. Et bien sûr, l'utilisateur sera libre de revenir sur un autre bureau, simplement en appuyant sur une combinaison de touches. Le jeu Innerstrike, distribué avec DR7, montre bien que la BeBox est aussi capable d'accueillir des jeux 3D type Doom, voire beaucoup mieux en utilisant les deux processeurs.

BeOS est livré sur un CD avec toutes les docs développeurs, ainsi qu'avec l'environnement de développement C/C++ Code-Warrior célèbre sur Macintosh. Si dans un premier temps il fallait un Mac à côté, aujourd'hui ce n'est plus nécessaire. Cependant, j'ai constaté avec une grande déception que l'éditeur de lien (linker) est maintenant bridé à 64 ko. C'est donc 1000 FF qu'il faut ajouter au prix de la BeBox pour acheter Code-Warrior.

BeOS versus AmigaOS, en vrac

BeOs n'offre pas l'équivalent de SetFunction() qui sous AmigaOS permet de rectifier n'importe quelle fonction système ! Certes ce choix permet de conserver un OS plus stable du point de vue de l'utilisateur mais les bidouilleurs diront que BeOS manque un peu d'ouverture.

A programmer, BeOS est vraiment plus simple qu'AmigaOS, la documentation est très didactique, ce qui est bien agréable. Pour concevoir BeOS, les ingénieurs de Be sont partis d'une feuille blanche. En conséquence, l'ensemble du système apparaît cohérent sans aucune vieille fonction de compatibilité avec les erreurs du passé. Pas de pointeur BCPL, ou d'AllocAbs(), ni la célèbre fonction PleaseFlickAlot(). En résumé, l'API est propre et très efficace.

Un autre point remarquable : BeOS en fait beaucoup plus pour le programmeur que n'importe quel autre système. On perd beaucoup moins son temps à écrire des structures ou fonctions qui aident à l'interface avec le système. Je ne rappellerai pas ici les défauts d'AmigaOS car je doute que ces derniers temps beaucoup de débutants aient débarqué dans le monde Amiga.

Comme rien n'est parfait, BeOS a aussi un gros défaut : les performances du système de fichiers sont loin d'être à la hauteur du matériel. Avec un bon disque SCSI-2, on ne dépasse pas les 600 ko/s et on ne peut pas non plus créer plusieurs partitions pour le moment, gasp :-(. Mais, car il y a un mais, Be a reconnu que son système de fichiers était trop lent et en a commencé la réécriture. En attendant, on compense à l'aide d'un énorme cache disque. Je leur tire tout de même mon chapeau, car j'admire tant de franchise.

Pour continuer dans les louanges, noter que BeOS est un système portable et porté ! Lorsque j'ai assisté à ma première démonstration "secrète" de la bête avec un ami, il y a de cela environ un an et demi, BeBox n'avait pas encore ses deux PowerPC. Le premier Be était équipé de deux microprocesseurs Hobbits de chez AT&T et de trois DSP, et déjà BeOS fonctionnait vraiment bien.

Il n'y a pas aujourd'hui d'équivalent d'ARexx, mais l'équipe de Be y réfléchit. Elle pense utiliser le bash avec des extensions dans le système de message, à suivre...

BeOS accorde une priorité supérieure à l'interface utilisateur au détriment de tout ce qui est calcul. De cette façon la machine, répond toujours merveilleusement à l'utilisateur quelle que soit la charge. Alors que sous AmigaOS, il faut explicitement lancer les calculs avec une priorité -1 pour ne pas ralentir son éditeur de texte. Grâce à cela, BeOS est sûrement l'un des systèmes qui supporte le mieux la charge. N'hésitez pas à lui demander de jouer simultanément quatre animations QuickTime, un morceau de musique qualité CD qui nécessite de mixer 32 voies, d'agrandir vos polices vectoriels, de zoomer sur l'ensemble de Mandelbrot avec 1024 itérations, de survoler des montagnes calculées avec 16 millions couleurs, de faire tourner un logo en 3D, et, bien sûr, exigez de votre machine d'être toujours prête à répondre à vos moindres exigences ! Vous êtes d'accord avec moi, ceci est beaucoup plus facile à dire qu'à faire ! Eh bien, si justement vous avez la chance d'assister à cette démonstration de la BeBox fort bien orchestrée, vous risquez d'être agréablement surpris par ce que Be appelle le "grand final".

Le futur de BeOS

Une nouvelle version de l'OS sort environ tous les trois mois. L'équipe de BeOS est à l'écoute des développeurs, à la fois pour les rapports de bogues, mais aussi, et c'est nouveau, pour les suggestions des utilisateurs ! Les ingénieurs de Be participent aux conférences sur Internet, et il y a une personne spécialement chargée d'éplucher les suggestions qu'on peut leur adresser par le Web. C'est la première fois dans l'histoire de l'informatique que tous les développeurs sont invités à participer à la création d'une nouvelle machine ! Il faut donc prévoir encore pas mal de changements. :-)

Ces jours-ci, Be vient d'annoncer que BeOS tourne dorénavant sur les Power Mac d'Apple équipés de PowerPC 603 et 604, ainsi que sur les clones de marque Power Computing dont le dernier-né en 604e à 255 MHz !

La DR8 de BeOS, qui sera distribuée aux développeurs début septembre, apporte un nouveau navigateur Web capable de jouer les animations QuickTime : NetPositive.

Mais le plus attendu reste, l'Interface Builder qui fut présentée lors de la dernière conférence développeur européenne qui eut lieu à Paris. Enfin, une autre bonne nouvelle, Metroworkers, l'éditeur de Code-Warrior, va adapter Java sur la BeBox !

Les choix techniques

Revenons sur les choix techniques qui méritent quelques justifications : pourquoi la BeBox n'a-t-elle pas de cache de second niveau ? Simplement parce que le contrôleur de mémoire/cache/bus Eagle MCP105 de Motorola accepte soit un PowerPC 603 et un cache L2 soit deux PowerPC 603 sans cache L2. La machine ayant plus d'un an d'âge, à l'époque le MCP106 n'était probablement pas disponible. Ce composant sait en revanche gérer plusieurs PowerPC 60x avec du cache L2 et des mémoires EDO.

Be a conçu sa machine pour profiter de la "bank" d'organes du PC ! Parfait, voyons cela plus en détail : on préfèrera un disque SCSI parce que le contrôleur SCSI-2 est sur le bus PCI et profite d'un canal DMA, alors que l'IDE passe par l'ISA en PIO.

Les principales cartes graphiques PCI du marché sont gérées, c'est-à-dire les chips S3 (864, 964, Trio64) et Cirrus Logic (5430, 5434, 5440). Pour une bonne carte, je propose une S3 864 avec 2 Mo qui coûte 400 FF neuve. Cette carte est bien plus performante que la CyberVision64 célèbre sur Amiga.

Le bus de données étant large de 64 bits, il impose de placer les barrettes SIMM par paire identique. 16 Mo de mémoire ne sont pas de trop, aujourd'hui on trouve la barrette SIMM 72 broches 8 Mo 60 ns à 320 FF pièce chez certains revendeurs parisiens (prix TTC du mois d'août). Question réseau, une carte Ethernet compatible NE2000 fera l'affaire, on en trouve à 150 FF en ISA et 450 FF en PCI.

Deux autres questions reviennent souvent : pourquoi seulement deux voies stéréo 16 bits 48 kHz ? Et pourquoi pas de DSP ? La réponse se résume en un seul mot : PowerPC ! Le PowerPC 603 est bien plus performant qu'un DSP lorsqu'il s'agit de mixer des voies. En particulier, grâce à son instruction fmadds fr0, fr1, fr2, fr3 capable de soutenir le rythme infernal d'une multiplication addition en virgule flottante par cycle d'horloge. Les branchements à zéro cycle utilisés dans les DSP sont aussi présents dans les PowerPC (comparez donc avec un Pentium...).

Et les performances brutes, me direz-vous ? L'équivalent de deux Pentium à 75 MHz pour le modèle bas de gamme, le dual 603 66 MHz. Ce résultat est obtenu avec le Bytemark, un test de performance du magazine américain Byte que je juge plus intéressant pour un particulier que ne le sont les traditionnels SpecInt et SpecMark. J'ajouterai que ce n'est pas si mal pour une machine dont la conception remonte à plus d'un an et demi. A l'époque, les Pentium 66 et 75 étaient monnaie courante, le Pentium 90 étant réservé aux plus riches.

En ce qui concerne le nouveau modèle, dual 603e 133 MHz, Be parle du double de performances par rapport au modèle dual 603 66 MHz. Il faut reconnaître que la réputation des PowerPC a été en partie gâchée par les Power Mac, qui tournent toujours en émulation. Mais avec BeOS, le problème ne se pose plus : en natif, sur un système moderne, les PowerPC offrent le meilleur rapport prix/performance. Le 603, par exemple, compte environ autant de transistors qu'un simple 486 alors qu'il dépasse le Pentium en performance ! Les 604e pédalent déjà à 240 MHz contre seulement 200 MHz pour le plus rapide des Pentium Pro. IBM annonce des PowerPC 604e à 300 MHz pour bientôt, alors que de son côté, Intel réduit la taille du cache de son Pentium Pro pour en baisser le prix. Il est clair que les PowerPC vont pouvoir monter en fréquence plus rapidement que les CISC d'Intel. L'Alpha est un bon exemple à suivre avec ses 500 MHz !

Quel marché pour BeBox ?

Le marché ciblé, du moins dans un premier temps, sont les 2 à 9% de personnes dans le monde qui choisissent une machine pour ses caractéristiques techniques et son OS. Avec 64 millions de machines vendues dans le monde par an, dont un million de stations (source Dataquest), même les niches sont des marchés importants. Tout a été fait pour séduire les développeurs, que ce soit celui qui écrit un petit programme qui visualise des images ou l'équipe de 500 ingénieurs qui travaillent sur une gigantesque base de données.

Pour le moment, environ 9 millions de dollars ont été investis sur cinq ans, ce qui n'est rien en comparaison des 600 millions de dollars que dépensa NeXT sur la même durée. "Portrait d'un ordinateur prodigieux" titrait SVM à la sortie du NeXT en France. La première question qui vient à l'esprit en voyant la BeBox est : n'est-elle pas un autre NeXT ? Heureusement non, et cela pour deux bonnes raisons :

D'abord les prix. Souvenez-vous des premiers NeXT dont la configuration de base avec 8 Mo sans imprimante était à 6825 dollars pour les étudiants (!), 10 000 dollars au prix du commerce, et la version développeur pour seulement 20 000 dollars ! La BeBox est proposée à 9000 FF HT dans sa version Dual603 66 MHz nue, avec tout de même le boîtier, l'alimentation, BeOS et un manuel. La machine complète est à 15 000 FF HT avec 16 Mo de mémoire, un disque dur SCSI-2 de 1 Go, un lecteur de CD, une carte graphique PCI, le clavier, etc. Les modèles Dual603e 133 MHz nus et équipés sont respectivement proposés à 10 625 et 16 575 FF HT.

Ensuite, la société Be n'a pas besoin de vendre immédiatement plusieurs centaines de milliers de machines pour survivre ; quelques milliers par an suffiront.

En revanche BeBox n'arrive pas sur le marché avec le parc de logiciel de qualité dont disposait le NeXT à sa sortie. Aujourd'hui la BeBox ne peut intéresser que les développeurs, les bidouilleurs, les scientifiques ou les passionnés de technologie de tout poil :
  • Les développeurs parce que l'OS est nouveau, et parce qu'ils trouveront chez Be une assistance qu'aucune autre société n'a jamais offert.
  • Les bidouilleurs apprécieront les multiples E/S, la possibilité d'y brancher n'importe quelle carte ISA ou PCI du marché.
  • L'architecture parallèle, l'OS moderne et très efficace plaira aux scientifiques.
Be fait tout son possible pour encourager les petits développeurs, par exemple en mettant un espace à leur disposition sur son site Web. Jean-Louis Gassée compte beaucoup sur une nouvelle forme de distribution : le shareware que l'on diffuse par Internet. Il nous assure aussi que les développeurs ne seront pas utilisés comme une source de profits. D'ailleurs, les réductions dont ces derniers bénéficient pour l'achat des machines sont fort intéressantes, je n'ai pas le droit de le dire mais c'est environ 35%. Au début du mois d'août, environ 700 machines étaient livrées dans le monde, la plupart seulement depuis le mois de mai dernier. Il faudra sûrement attendre plus d'un an avant d'avoir un parc d'applications relativement important.

Quels logiciels pour quels clients

A la question "quels seront ensuite les premiers clients ?" Jean-Louis Gassée répond : "les personnes qui font de l'édition et de la production audio/vidéo, car notre plate-forme a ce qu'il faut pour et parce que ce marché n'est pas dominé par les grands prédateurs. C'est aussi un marché qui subit une forte croissance. Be est sympa, elle laisse la bureautique à Microsoft. ;-)"

Il est trop tôt pour parler des projets à l'étude autour de BeOS. Je me contenterai donc de colporter quelques rumeurs absolument non vérifiées : il semblerait qu'un développeur travaille sur un projet d'émulateur Power Mac ; les sociétés Adobe et Dynamix ont annoncé qu'elles étudiaient la possibilité de développer pour la BeBox ; Netscape a quelques machines mais n'a fait aucune annonce ; une autre rumeur parlerait aussi de Maple V. A suivre...

Quelques premiers programmes, pour la plupart des portages, existent d'ores et déjà : Bemikmod est un lecteur de module Protracker/ScreamTraker/Fastracker qui gère jusqu'à 32 voies 48 kHz sans être trop gourmand en MIPS. UAE l'émulateur Amiga, qui maintenant émule un 68020+68881+MMU ainsi qu'un peu d'AGA, a été porté par Christian Bauer, qui a aussi adapté Frodo, son émulateur Commodore 64. Le langage Python, le raytracer POV-Ray, l'interpreteur PostScript Ghostscript, et aussi Tcl/tk ont été portés. Motorola distribue depuis peu une version de sa bibliothèque mathématique libmoto compilée sous BeOS.

Dans une entrevue, Jean-Louis Gassée précisait que le logiciel vend le matériel, ce qui signifie qu'il est bien conscient qu'on achète une machine pour les logiciels qu'on y trouve. Or, toujours selon lui, il faudrait recommencer tout à zéro, tirer un trait sur le passé, et réécrire chaque application. Cela risque d'être long, trop long pour être une idée réaliste. Bien sûr, de nouvelles applications apparaissent tous les jours, soit pour des nouveaux besoins, soit pour remplacer une ancienne qui n'a pas évolué. Mais il y a une quantité de logiciels de qualité qu'il serait très bénéfique pour ne pas dire indispensable d'avoir sous BeOS. Pourrions-nous convaincre chaque auteur de porter son logiciel ?

J'en doute, les développeurs attendent les clients potentiels, alors que les utilisateurs attendent les applications... c'est un cercle vicieux, et je ne vois qu'une seule solution pour le briser : utiliser les nouvelles techniques d'émulation qui permettent d'émuler un processeur et un système avec des performances très acceptables. Je pense en particulier à DOSEmu et Wine sous Linux, ainsi qu'à ShapeShifter l'émulateur Mac 68k pour Amiga, et encore plus fort : Executor qui émule lui aussi un Mac 68k mais sur un PC 80x86 !

Les performances en émulation d'Executor tiennent du miracle grâce à une technique que les auteurs ont baptisé la recompilation dynamique. Le code 68k est traduit à la volé en équivalent x86, le résultat est conservé dans un cache, et avec l'aide des fréquentes boucles qui sont exécutées en natif, un 486 à 75 MHz arrive a émuler un Quadra équipé d'un 68040 à 25 MHz. La BeBox serait la meilleure plate-forme pour accueillir ce type d'émulateur avec Mac OS, AmigaOS et DOS/Windows. Imaginez un BeBox équipé de quatre PowerPC 604e à 200 MHz. Ses performances en recompilation dynamique seraient diaboliques : un processeur traduirait le code x86 ou 68k en code natif PowerPC, un autre l'exécuterait, un troisième se chargerait de tout ce qui est affichage graphique, un quatrième du son :-). Les logiciels ainsi émulés tourneraient plus vite que leur version native sur un Pentium à 166 MHz... Mais je m'égare. Revenons sur Terre. Jean-Louis Gassée a tout de même laissé entendre qu'un modèle avec quatre PowerPC 620 ferait un bon haut de gamme.

En conclusion

Je citerai quelques noms d'amigaïstes célèbres que l'on retrouve aujourd'hui sur les listes de diffusion développeur Be : Christian Bauer, auteur de ShapeShifter, Jonathan Potter, auteur de Directory Opus, Dave Haynie et Fred Fish qu'on ne présente plus. A quand un certain Stefan Stuntz ? ;-)

Alors, plutôt que de se lamenter sur le sort de l'Amiga, faites comme eux, faites-vous plaisir.

Nom : Bebox.
Constructeur : Be Inc.
Genre : ordinateur.
Date : 1996.
Prix : 9000 FF HT (version de base) et 15 000 FF HT (version complète).


[Retour en haut] / [Retour aux articles]