Comment je joue à Tetris sur le mainframe

La possibilité d’exécuter Linux sur des mainframes modernes ouvre la porte à toutes sortes de choses sur la plate-forme. Un serveur HTTP Apache ? Facile! Une base de données ? Souhaitez-vous SQL ou NoSQL ? Kubernetes ? Sûr! Comme je l’ai conclu dans Linux sur le mainframe : Hier et aujourd’hui, toutes les distributions Linux les plus populaires pour les serveurs ont aujourd’hui des versions pour le mainframe.
C’est une excellente nouvelle pour les entreprises dont les infrastructures critiques s’exécutent sur un mainframe, mais que se passe-t-il si vous voulez juste jouer avec un ? La première fois que j’ai eu un shell bash sur un IBM LinuxONE, j’ai installé le client de discussion irssi et j’ai montré à tous mes amis sur IRC la sortie de /proc/cpuinfo
pour montrer qu’il s’agissait d’un système d’architecture s390x. Au début, je ne savais pas quoi faire ensuite.
Ensuite, j’ai pensé que ce serait amusant d’utiliser cet énorme ordinateur pour jouer à un jeu. Ma première pensée a été NetHack, mais il s’avère que je pourrais l’installer avec un simple apt install nethack-console
. Non, je devrais compiler quelque chose ! Pour chaque architecture informatique, vous avez besoin de compilateurs et d’interpréteurs écrits pour cela. Avec plus de 20 ans de Linux sur le mainframe, la plupart des compilateurs et interpréteurs auxquels vous vous attendez sont déjà portés.
En grandissant, l’un de mes jeux préférés de tous les temps était Tetris, c’était donc le choix logique pour mon expérimentation. J’ai trouvé un jeu Tetris open source écrit en C appelé vitetris et j’ai essayé. C’était comme compiler un programme C sur n’importe quel autre serveur Linux.
Tout d’abord, j’avais besoin de récupérer quelques dépendances. Le mainframe exécutait Linux, je pouvais donc utiliser mon gestionnaire de paquets pour installer les exigences de construction, et j’étais sur la bonne voie.
Ensuite, il suffisait de saisir le code et de le construire :
curl -LO https://github.com/vicgeralds/vitetris/archive/v0.58.0.tar.gz
tar xvf v0.58.0.tar.gz
cd vitetris-0.58.0/
./configure
make
Et en un rien de temps, je jouais à mon jeu préféré !
./tetris
Comme je l’ai dit, c’est exactement comme construire n’importe quel autre programme C sur un serveur Linux, mais vous le faites sur un ordinateur central.
Malheureusement, je n’ai pas (encore) d’ordinateur central dans mon garage. Au lieu de cela, j’ai fait tout cela sur un serveur virtuel hébergé par Marist College via le Cloud communautaire IBM LinuxONE programme. Il vous donne un accès gratuit à un serveur Linux d’architecture s390x, avec votre choix parmi les distributions les plus populaires. Avec ce serveur virtuel, vous avez accès à l’expérimentation pendant 120 jours.
Si vous êtes un représentant d’un projet open source qui envisage de créer votre application pour Linux sur s390x, il existe également un programme pour vous. Quand je ne joue pas à Tetris, mon travail actuel chez IBM est de travailler avec les communautés open source pour faire exactement cela. Vous pouvez demander un serveur virtuel Linux permanent que votre communauté pourra utiliser pour le développement, qu’il s’agisse de faire des tests manuels pour voir si votre application sera construite ou de l’ajouter officiellement au système d’intégration continue de votre projet. Je recommande de commencer par le Community Cloud pour faire quelques expériences, puis vous pourrez remplir ce formulaire pour lancer le processus de mise en place d’un serveur virtuel permanent.