Un sous-système UNIX sous GCOS 7

OPEN 7

 

 

 

 

 

1 Les objectifs d’une évolution vers le monde ouvert................................................................................................... 3

1.1  Un environnement pour des applications............................................................................................................ 3

1.2  TCP/IP........................................................................................................................................................................ 3

1.3  Pour faciliter l’interopérabilité................................................................................................................................ 3

2 Orientations et choix......................................................................................................................................................... 3

2.1  Portage sur machine nue......................................................................................................................................... 3

2.2  Portage sur machine virtuelle................................................................................................................................. 4

2.3  Portage en tant que sous-système........................................................................................................................ 4

3 Réalisation.......................................................................................................................................................................... 4

4 Pour conclure..................................................................................................................................................................... 6


 

 

« Merci à Philippe Radouan, le réalisateur de ce développement, qui m’a donné les informations de base sur le projet pour ce document, ainsi qu’à Jean Bellec et Jean Papadopoulo qui m’ont aidé, par leurs commentaires et remarques, à  aboutir à la rédaction actuelle de ce texte ».

 (Daniel Poirson)


En 1983, soit un peu moins de dix ans après la première annonce commerciale de GCOS 64, la question s’est posée de faire évoluer le système en direction du monde ouvert et des standards émergents.

Par ailleurs la nouvelle stratégie  définie à cette époque au niveau du Groupe Bull consistait précisément à s’engager en direction d’UNIX et à développer un marché sur ce créneau.

GCOS 64 / GCOS 7 avait donc une opportunité à saisir pour s’insérer dans cette stratégie en intégrant UNIX dans son architecture. C’est ce qui a été réalisé en développant le produit OPEN 7 en tant que sous-système du système d’exploitation.

 

1           Les objectifs d’une évolution vers le monde ouvert

Tout en conservant ses caractéristiques premières de système d’entreprise destiné à accueillir les applications critiques, GCOS 7 devait prendre en compte les évolutions de l’informatique des entreprises en matière de nouvelles applications et de coopérations avec les systèmes environnants, en particulier avec les systèmes UNIX.

1.1         Un environnement pour des applications

Un des premiers résultats qui pouvaient être attendus d’une ouverture de GCOS 7, était la possibilité de motiver les ISV pour les inciter à porter leurs applications sur la plate-forme GCOS 7 / DPS 7000. Ceci se ferait d’autant mieux que l’environnement système qui leur serait offert permettrait des portages aisés et peu coûteux et que la compétitivité de leurs produits serait maintenue en offrant notamment des performances comparables à celles des environnements concurrents.

 

On verra en fait que les applications qui ont été fournies sur GCOS 7 l’ont été en environnement natif, et que l’objectif décrit ci-dessus a finalement été abandonné au profit de solutions qui faisaient plutôt coopérer les applications natives GCOS 7 avec les applications natives du monde ouvert : solutions dites « d’interopérabilité ».

1.2         TCP/IP

Pour permettre précisément ce type de coopérations inter-applicatives le standard de communication qui commençait à se généraliser était TCP/IP. Par ailleurs le standard de facto du monde UNIX en matière de terminaux était celui des terminaux asynchrones mode caractère, GCOS 7 lui ne supportant que les terminaux mode bloc.

Dans ces conditions, et même si DSA et ISO (le dogme des télécommunications à l’époque) allaient être maintenus sur GCOS 7, un environnement UNIX devrait permettre le support de TCP/IP et la connexion des terminaux mode caractère.

1.3         Pour faciliter l’interopérabilité

Enfin, en considérant qu’un environnement UNIX installé sur la plate-forme DPS 7000 devrait faciliter la réalisation de passerelles entre cette plate-forme et les plates-formes UNIX environnantes, les arguments pour aller dans cette direction commençaient à devenir relativement forts pour permettre la communication entre ces diverses plates-formes.

 

Ultérieurement vers les années 90, c’est cet aspect qui est devenu prépondérant (même si ce n’était pas l’objectif prioritaire de départ) en faisant de TCP/IP et des passerelles d’interopérabilité le fondement de l’architecture DCM de Bull (Distributed Computing Model) qui permettait à GCOS 7 de s’intégrer dans le modèle global d’architecture distribuée avec systèmes hétérogènes.

 

2           Orientations et choix

L’étude d’architecture démarrée à l’automne 1984 élimina d’emblée la démarche qui aurait consisté à démarrer de zéro un nouveau développement complet, et s’orienta plutôt vers un « portage ». Ceci était d’autant plus facilité que Bull avait acquis une licence Groupe pour la souche AT&T (System V) destinée à ses nouvelles plates-formes UNIX.

2.1         Portage sur machine nue

Une première hypothèse d’étude fut celle du portage sur machine nue. En considérant comme cible la future machine ARES qui allait sortir en 1987, avec un positionnement performances/prix adéquat, l’étude montra que si le système allait avoir des performances correctes en entrées-sorties, les performances globales ne seraient pas suffisantes pour pouvoir présenter un UNIX performant face au SPS7 de l ‘époque et aux futures machines sur 68000[1].

Par ailleurs le Système résultant de ce type de portage aurait du être complété par tout un ensemble de fonctions logicielles propre à un système de gestion pour être à niveau par rapport à l’offre courante GCOS 7, en particulier par un moniteur transactionnel qui à cette époque n’existait pas sur UNIX.

2.2         Portage sur machine virtuelle

Le portage d’UNIX sur une « machine virtuelle » de la plate-forme matérielle/logicielle aurait été une bonne solution technique et aurait pu répondre à la question sur l’aspect de la complétude fonctionnelle du système (offre UNIX + système de gestion GCOS 7).

Mais le DPS 7 n’avait pas de fonction de machine virtuelle[2], et il resterait de la même manière un positionnement défavorable en performances face aux UNIX sur 68000.

2.3         Portage en tant que sous-système

 

La troisième solution étudiée fut celle d’un portage en tant que sous-système dans GCOS 7, qui ferait coexister les deux environnements et permettrait au sous-système, baptisé OPEN 7, de bénéficier des services de base du système d’exploitation d’accueil tout en ayant des liaisons privilégiées et optimisées avec le système afin d’en accroître la performance.

 

C ‘est cette architecture qui fut retenue (voir schémas d’ensemble ci-après).

 

Il est clair que cette solution, pas plus que les deux autres, n’apportait de réponse à la problématique de performance face aux systèmes UNIX sur architecture RISC[3].

Il s’agirait donc de faire un positionnement de l’offre marketing en conséquence, et évidemment pas de se positionner en offre concurrente des UNIX sur RISC, mais au contraire de faire ressortir la complémentarité des deux environnements : celui de l’existant pour les applications traditionnelles de l’entreprise, celui du monde ouvert pour faciliter l’insertion de GCOS 7 dans les architectures distribuées de systèmes hétérogènes.

3           Réalisation

Le projet fut conduit initialement sur la période 1985-87 avec la réalisation d’un prototype à mi-86.

 

Les principales options techniques retenues ont été les suivantes :

-          faire un portage reposant sur les couches basses du système d’accueil

-          gestionnaire de mémoire virtuelle (VMM) de GCOS 7,

-          entrées-sorties de GCOS 7 via les programmes-canaux, permettant notamment de bénéficier de toutes les facilités de reprises sur incidents intégrées à ce système d’entrées-sorties,

-          utiliser au maximum les éléments d’UNIX existant dans le kit de portage

-          en particulier pour les télécommunications TCP/IP,

-          et pour les développements logiciels : « cross compilation » avec le compilateur du kit AT&T et les facilités des « make files ».

 

Le sous-système OPEN 7 interagit  avec GCOS 7 via une technique spécifique de communication rapide (HSL : High Speed Link) utilisant la mémoire et le code partagés entre les deux environnements et un mécanisme de synchronisation par sémaphores.

OPEN 7 a ainsi accès aux fichiers et bases de données de GCOS 7 et permet ainsi l’accès aux données depuis des systèmes distants ou des transferts de fichiers (à travers FTP).

 

Une vue d’ensemble de cette architecture est donnée dans les trois figures suivantes.

 


Figure 1 . : Communication GCOS 7 / OPEN 7 via HSL

 


 

 


Figure 2 . : Vue d’ensemble GCOS 7 / OPEN 7

 


Figure 3 . : Architecture interne d’OPEN 7 et liaisons avec GCOS 7

 

4           Pour conclure.

La première version du produit ne fut pas réellement introduite en clientèle dès sa sortie et resta une version interne qui fut utilisée notamment pour la certification (version certifiée et labellisée via la suite de validation X/Open XPG2) et comme base pour les futurs développements.

 

L’introduction en clientèle eut finalement lieu en 1991 comme support des communications TCP/IP[4] sur GCOS 7 et pour la liaison avec les stations de travail, les terminaux et les serveurs.

 

Ultérieurement OPEN 7 se révéla être un élément clé pour l’élaboration des solutions d’interopérabilité qui allaient permettre à GCOS 7 d’être partie intégrante de l’architecture DCM de Bull. Il permit notamment la fourniture de solutions client-serveur très significatives et performantes, avec en particulier des produits comme « ESP 7 » (Enterprise Server Procedure) donnant un accès, depuis des applications du monde ouvert sur stations de travail ou sur serveurs, à des applications transactionnelles existantes sous TDS.

 

Le produit ne fut pas réellement « ouvert » aux applications des ISV (voir remarques sur son positionnement en performances face aux systèmes RISC). Les quelques exemples d’ouverture effective aux clients sont précisément à trouver dans ces solutions distribuées avec par exemple l’utilisation par les clients de « scripts UNIX » qui ont servi à automatiser des opérations d’interopérabilité (transferts de fichiers via FTP, impressions distribuées, accès automatisés aux bibliothèques de cartouches, … ) pour lesquelles OPEN 7 fournissait les passerelles et, selon les cas, la partie cliente ou la partie serveur.

Dans les années qui suivirent les possibilités d’OPEN 7 furent étendues aux nouveaux produits du monde ouvert avec, par exemple, le portage du serveur Web APACHE, de Java, et plus récemment de facilités de Services Web.

 

 

Daniel POIRSON - septembre 2004

§§§§§



[1] Il était apparu très vite que la valeur du DPS 7 tenait au couple matériel/logiciel  (« interior décor » + micro-noyau + système d’exploitation et superviseur optimisés) et que l’utilisation d’un système d’exploitation conçu pour des processeurs rapides, mais « frustes » (RISC), aboutirait inéluctablement à un désavantage au point de vue performances.

[2] Même si des études en avaient montré la faisabilité pour un coût raisonnable, et si de son coté NEC avait réalisé cette évolution pour ACOS 4 sur une machine de conception très semblable, ce qui en avérait la faisabilité.

[3] Ceci dit, le cas du DPS 7000 n’a rien de particulier : aucune expérience de portage d’UNIX sur Mainframe n’a eu de positionnement compétitif par rapport aux machines RISC, pas même celui sur les 370 d’IBM.

[4] TCP/IP supporté ultérieurement, et en coexistence, avec une carte de connexion (FCP 7) et un frontal de télécommunications et de réseaux : MAINWAY