Back to the future – Histoire des serveurs IBM

Un voyage dans le passé, en DeLorean, qui va nous mener de Paris, de nos jours, à Rochester (Minnessota) dans les années 70, en passant par le Crétacé (par erreur 😉 ), pour y découvrir le projet secret Silverlake, à l’origine du System/38, prédécesseur de l’AS/400 et des serveurs Power que nous connaissons aujourd’hui.

Version Haute Qualité de “Back to the Future”.

L’Operating System IBM i (ex OS/400 et ex i5/OS) se définit par cinq concepts architecturaux, en aucun cas par ses configurations matérielles ou logicielles. Compte tenu de toutes les modifications apportées à l’IBM i au cours des années, on peut, à juste titre, considérer qu’il n’a pas simplement évolué mais s’est transformé en un produit totalement différent. Même si on lui retire le processeur POWER, le support 5250 ou le compilateur RPG, l’Operating System IBM i restera toujours l’IBM i.

Les cinq concepts fondamentaux, comme les qualifiait Frank G. Soltis sont :

  • Indépendance vis-à-vis de la Technologie (Technology Independence)
  • Conception basée Objet (Object-based Design)
  • Espace Unique Adressable (Single-Level Store)
  • Intégration logicielle (Software Integration)
  • Intégration matérielle (Hardware Integration)

L’architecture de l’Operating System IBM i se veut extrêmement souple pour s’adapter aux nouvelles technologies matérielles et logicielles. L’IBM i se situe vraiment « au-delà de la technologie ». F.G. Soltis.

Indépendance vis-à-vis de la Technologie (Technology Independence)
Le premier principe et peut être le plus important est l’indépendance technologique. L’IBM i, contrairement aux autres systèmes, n’est pas défini par le matériel. Un programme ne parle pas directement au matériel, il dialogue à une interface machine indépendante de la technologie (T.I.M.I = Technology Independent Machine Interface ou M.I). Entre cette interface et le matériel proprement dit se trouve le microcode (LIC).
Cette couche logicielle isole les applications des caractéristiques du matériel sous-jacent. Un programme ignore totalement ce dernier. Par conséquent, quand la technologie processeur change, il suffit de réécrire le LIC en fonction des changements technologiques et on préserve ainsi l’intégrité de l’interface machine. L’autre avantage de l’indépendance réside dans le fait que les programmes utilisateurs ignorent également les changements technologiques, ainsi, ils peuvent bénéficier des avantages sans les inconvénients. Lors du passage du processeur CISC 48 bits à RISC 64 bits, la plupart des clients n’ont eu qu’a transférer leurs programmes sur les nouveaux serveurs AS/400 et de les exécuter en 64 bits. Aucun autre système ne peut faire cela, les architectures classiques réclament des recompilations et des réécritures.

Conception basée Objet (Object-based Design)
L’Operating System IBM i est entièrement basée objet. Tous les éléments du système (programmes, fichiers, files de messages …) sont des objets. Chaque objet comporte deux parties inséparables : la partie descriptive, qui définit les modalités d’utilisation de ces données et la partie données, constituant l’aspect fonctionnel de l’objet. Si un objet est défini comme un programme, sa partie descriptive énonce que la partie de donnée sera traitée comme du code compilé, exécutable, en lecture seule. Les seules opérations admises sur cet objet sont celles « censées » pour un programme. Ainsi, on peut écrire au milieu d’un fichier de données, mais pas au milieu de code compilé : le système s’y opposera. La conception en deux parties des objets de l’IBM i assure donc l’intégrité des données pour tous les objets du système.
Contrairement aux autres systèmes d’exploitation, qui manipulent des pointeurs, l’IBM i et le TIMI ne connaissent que des objets. Les pointeurs ne sont utilisés que par le microcode.
La conception basée objet a d’importantes implications en matière de sécurité. En effet, les virus pénètrent souvent dans les systèmes déguisés en données. Une fois à l’intérieur, le virus essaie de devenir du code exécutable pour causer des ravages. Un tel changement de caractéristique est impossible sur IBM i, si un package rentre en tant que données, il gardera toujours ces caractéristiques. C’est une des nombreuses raisons qui font la réputation en matière de sécurité et d’intégrité de l’IBM i.

Espace Unique Adressable (Single-Level Store)
Version IBM de la mémoire virtuelle.
Chaque octet de mémoire (principale et secondaire) possède une adresse. Le système considère l’ensemble comme unique. L’IBM i ne dit jamais « mémoire pleine » (sauf quand il ne dispose plus de mémoire secondaire (disque)), la seule conséquence étant les temps de réponse qui peuvent se dégrader à cause de la pagination. L’énorme espace d’adressage 64 bits de l’IBM i peut adresser 18 quintillions d’octets de données. Sur le plan architectural, l’IBM i peut même aller jusqu’à un adressage sur 128 bits.
Le traitement d’applications de gestion dans un environnement à applications et utilisateurs multiples, implique des navettes fréquentes entre les différentes tâches. Grâce à son niveau unique de stockage, l’IBM i accomplit cette fonction beaucoup plus efficacement que les systèmes classiques. Pour passer à une nouvelle tâche, il suffit d’effectuer une instruction de branchement vers l’emplacement où réside la nouvelle tâche.
Nul besoin, comme Unix et Windows, de recréer un espace d’adressage distinct avant de commencer l’exécution d’une nouvelle tâche. Conçu pour les fréquents changements de tâches inhérents aux environnements de gestion, le stockage à un seul niveau de l’IBM i simplifie la gestion du stockage tout en offrant des performances exceptionnelles.

Intégration logicielle (Software Integration)
Aucun problème d’incompatibilité de version en raison de déphasage de programmes comme sur d’autres système (avec les différentes versions de DLL par exemple). Tous les composants nécessaires sont entièrement intégrés dans le système d’exploitation standard. IBM teste tous ces composants mêlés aux autres, pour s’assurer que le système d’exploitation fonctionne comme une seule entité. De plus, quand IBM modifie l’IBM i, elle remet aux clients une nouvelle release de tout le système d’exploitation. Il n’y a donc jamais aucun conflit de version entre les divers composants de l’IBM i.
Les deux avantages de ce système d’exploitation hautement intégré sont évidents pour les clients : déploiement rapide des nouvelles solutions de gestion pour un coût remarquablement bas.

Intégration matérielle (Hardware Integration)
Alors que l’environnement informatique technique/scientifique privilégie le calcul (opérations complexes sur une quantité de données relativement petite), l’environnement informatique de gestion privilégie l’information (des opérations simples sur de gros volumes de données). Comme l’IBM i est optimisé pour la gestion, il présente des caractéristiques matérielles lui permettant d’être très performant dans un environnement privilégiant l’information.

Projet Silverlake