Suivez-nous sur X

|
|
|
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,
ALL
|
|
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
|
|
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
|
|
A propos d'Obligement
|
|
David Brunet
|
|
|
|
Point de vue : Portages sur Amiga, le débat continue
(Article écrit par Ali Ozer et extrait de Byte - septembre 1987)
|
|
Dans la rubrique "Chaos Manor Mail" du magazine Byte de mars 1987, Jerry Pournelle a terminé sa
réponse à la lettre de Warren Block par "Il est toujours plus difficile de porter un logiciel sur Amiga
que sur Atari".
Cette affirmation n'est pas vraie lorsqu'il s'agit de programmes écrits pour des systèmes d'exploitation
de haut niveau, comme Unix. Tout programme fonctionnant sous Unix peut fonctionner sur l'Amiga sans presque
aucun changement. Le système d'exploitation fournit des primitives similaires à celles trouvées sur Unix,
et Intuition fournit une interface utilisateur au moins aussi puissante que les facilités de fenêtrage
trouvées sur la plupart des systèmes Unix. En conséquence, les langages sur l'Amiga peuvent facilement
fournir les mêmes constructions de système trouvées sur des machines de plus haut niveau, ce qui rend facile
le portage du code de ces machines sur l'Amiga.
Si vous parlez du portage de programmes écrits pour des machines comme l'Apple II ou le Commodore 64,
alors oui, vous avez raison. Après tout, l'Atari ST n'est pas différent de ces ordinateurs, à l'exception
du remplacement du processeur 6502 par le 68000 et des 64 ko de mémoire par 1 Mo ou plus.
Le matériel de l'Atari ST est vraiment merveilleux - il s'agit d'un 68000 avec je ne sais combien de milliers
de transistors. Malheureusement, l'Atari ST est équipé d'un système d'exploitation aussi primitif que le
tube à vide. L'Atari ST est la seule machine 68000 à limiter le nombre de dossiers dans le système à 40,
et la seule machine qui n'avertit pas l'utilisateur lorsqu'une telle limite est dépassée.
En gardant tout cela à l'esprit, on devrait comprendre pourquoi il est plus facile de porter des programmes
d'un micro-ordinateur 8 bits vers un Atari ST que vers un Amiga. Prenez un programme écrit pour votre micro-ordinateur
8-bit préféré, appliquez une traduction mécanique en code 68000, et voila vous avez un programme prêt à
fonctionner sur Atari ST. La traduction n'a pas besoin d'être super efficace. Après tout, la plupart des
programmes écrits pour les micro-ordinateurs 8 bits de la fin des années 1970 et du début des années 1980
ne font pas plus de 64 000 octets, et même si la traduction les augmente de 400%, ils tiendront toujours
dans 256 000 octets.
Ce qui distingue l'Amiga de ces micro-ordinateurs 8 bits et des Atari ST, c'est le système d'exploitation
multitâche qui convient au matériel multiprocesseur 16 bits doté de 8 Mo de mémoire. Pourquoi le multitâche
devrait-il faire une différence dans la facilité de portage d'une machine ? Lorsque vous programmez pour
un environnement multitâche, vous devez être respectueux et suivre quelques règles. Au lieu d'attendre
(c'est-à-dire de tourner en boucle pour voir si une touche est pressée), il faut "dormir" : vous demandez
au système d'appuyer sur une touche, puis vous vous retirez gracieusement du chemin de l'unité centrale
afin que d'autres tâches puissent disposer de plus de temps. Si vous attendez, vous monopolisez l'unité
centrale et empêchez d'autres tâches de s'exécuter.
Une autre règle à suivre est de passer par le système d'exploitation pour presque toutes les procédures.
Une fois que les programmes commencent à considérer le système d'exploitation comme le gestionnaire des
ressources, ils sont libérés de la tâche consistant à déterminer la configuration exacte de la machine sur
laquelle ils s'exécutent. Bien sûr, il y a un surcoût pour le multitâche et pour la consultation du
système d'exploitation pour les ressources. Mais le gain global de productivité est un facteur plus important.
Les programmes écrits pour les anciens micro-ordinateurs 8 bits, et même pour les PC IBM, sont pour la
plupart des bidouillages en assembleur qui tentent de tirer le meilleur parti de chaque octet et de
chaque microseconde. Ils ont donc tendance à accorder peu d'attention au système d'exploitation. Dans le monde
des 8 bits à 1 MHz, ce type de programmation est acceptable. Dans le monde du 8 MHz 16 ou 32 bits, elle
ne l'est pas.
Malheureusement, l'Atari ST a le corps d'un ordinateur 16 bits mais l'esprit d'un ordinateur 8 bits. En
conséquence, les pratiques logicielles primitives et inflexibles pour l'Atari ST restent dans l'âge des
ténèbres, même s'il est plus facile de les porter sur Atari ST que sur Amiga.
|