Amoeba (système d'exploitation)
Amoeba est un système d'exploitation distribué développé par Andrew Tanenbaum avec d'autres personnes à l'université libre d'Amsterdam. Le projet Amoeba avait pour objectif de mettre en place un système de partage de temps (processeur) faisant en sorte que tout un réseau d'ordinateurs apparaisse à l'utilisateur comme une seule machine[4].
Pour les articles homonymes, voir Amoeba (homonymie).
Amoeba | |
Entreprise / Développeur |
Andrew S. Tanenbaum Frans Kaashoek |
---|---|
Licence | Licence MIT[1] |
Première version | [2] |
Dernière version stable | le 30 juillet 1996[3] |
Site web | http://www.cs.vu.nl/pub/amoeba/ |
Le développement à l'université libre d'Amsterdam est interrompu : le code source de la dernière version (5.3) a été modifié pour la dernière fois le [5].
Le langage de programmation Python a été développé à l'origine pour cette plate-forme[6].
Projet
Le but du projet Amoeba était de faire un système d'exploitation pour les réseaux d'ordinateurs avec lesquels un utilisateur interagirait comme s'il s'agissait d'une seule machine.
Un réseau d'Amoeba est composé de plusieurs stations de travail connectées à un groupe de processeurs. Exécuter un programme le fait tourner sur n'importe quel processeur disponible, tandis que le système d'exploitation gère la répartition de charge. Mais Amoeba ne gérait pas la migration de processus, à l'inverse de son contemporain Sprite. Les stations de travail servaient surtout de terminaux connectés. Outre les stations et les processeurs, d'autres machines pouvaient servir de serveurs de fichiers, services d'annuaires, connections TCP/IP, etc.
Amoeba est un système d'exploitation micro-noyau. Il gère le multi thread et un mécanisme de RPC (remote procedure call) pour la communication entre threads, en utilisant le réseau le cas échéant. Les threads du kernel utilisent le même système. Chaque thread a un « port », un numéro de 48 bits unique sur tout le réseau, qui sert d'adresse pour la communication.
Unix a servi de modèle pour l'interface utilisateur et les API de Amoeba, une compatibilité POSIX ayant même été partiellement implémentée. Une partie du code pour l'émulation Unix provenait d'utilitaires de MINIX, l'autre système d'exploitation d'Andrew Tanenbaum. Les premières versions utilisaient un système d'affichage « maison » que les auteurs considéraient « plus rapide » , « à nos yeux, plus propre » et « plus petit, bien plus facile à comprendre ». Mais la version 4.0 utilise le X Window System. Le protocole réseau utilisé était FLIP (Fast Local Internet Protocol).
Notes et références
- (en) « Copyright (C) 1987-1998 Vrije Universiteit, The Netherlands. All Rights Reserved. », sur www.cs.vu.nl (consulté le )
- « https://www.cs.vu.nl/pub/amoeba/manuals/usr.pdf »
- « Amoeba FTP »« FTP de Amoeba »(Archive.org • Wikiwix • Archive.is • Google • Que faire ?),
- (en) « Amoeba: a distributed operating system for the 1990s », sur ieee.org (consulté le ).
- « Amoeba FTP » (consulté le )
- « Why was Python created in the first place? » [archive du ], Python FAQ (consulté le )