35
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

この記事は セゾンテクノロジー Advent Calendar2025 シーズン2の10日目の記事です。

はじめに

はじめまして、セゾンテクノロジーの藤繁です!
私は2025年度新卒で入社した新人です。
現在はメインフレームの勉強をしていますが、今まで触ったこともないし配属されてからまだ日も浅いです。だからこそ今回、新人目線で2002年生まれがメインフレームを操作して思ったことや感じたことを記事にしようと思います。普段はz/OS、MSP、XSPという3種類のメインフレームOSを操作していますが、この記事ではz/OSについて話していきます。

※初心者なので、間違いなどがありましたらご容赦ください。

少し自分の経歴を話します。

私は情報系の私立大学を卒業しましたが、もちろん4年間でメインフレームの講義はあるはずもなく、Java・Python・C言語など比較的新しい言語を学習してきました。多少OSの歴史や昔こんなコンピュータがあったんだよ~という話は出てきましたが、実機を操作してみたり筐体を見てみたりなんてことはありませんでした。入社してからもJavaやC言語やGoなどを扱って開発するのかな~と考えていました。
しかし、開発部に配属されるとメインフレームを扱うチームに加わりました。何も知識を持っていないのに大丈夫なのか、と心配していました。いざメインフレームを扱うと難しいですが、チームメンバーのみなさんが丁寧に教えてくださるのですこしずつ理解できるようになりました。
ここからは、実際にメインフレームがどのようなもので、私がどのようなことを行って、何を感じたかを書いていきます。

メインフレームとは

そもそも、メインフレームとは...
簡単にまとめると「大規模処理ができる、安全で大きいコンピュータ」です。
汎用機とも呼ばれます。普段よく使われるノートPCやデスクトップPCよりも負荷の大きい処理ができ、セキュリティが高いです。さらに筐体も大きく、2mくらいあります。24時間365日稼働し続けることが前提で、どこかのハードが壊れても問題なく動くような冗長構成になっています。昔はよく使われていましたが、現在は主に金融系企業・自治体などの基幹業務システムに使用されています。技術者は少なくなってきていて、技術者の平均年齢が高くなっていることが現状です。つまり、衰退しつつある技術ということです。
このコンピュータをどのように使うかというと、windowsなどでどこかにある筐体にエミュレータを通して接続します。windowsのような豪華な画面はなく、コマンドを打って画面遷移します。スクロールはF8キーで下に行き、F7キーで上に行きます。他にも違った操作方法がいくつもあって、普段からwindowsを使っている人からしたら非常に慣れないです。ファイルの作り方から何もかも違うので、エディタを開くことすら最初は怖かったです。(そもそもファイルではなく、データセットと呼びます。)

実際の画面

上記の画像はz/OSと呼ばれるメインフレーム専用のOSで、他にも画面や操作感は異なりますがMSPやXSPなどがあります。2002年生まれなら、ほとんどの人がwindowsかMacを扱っていると思います。このような画面を見ると全く違うことがわかります。これから扱うと考えたら最初は大変かと思いましたが、数か月で慣れてしまいました。windowsの機能を全部知らなくても扱えることと同様に、z/OSも基本操作を覚えてしまうとある程度の業務はできます。実際に手を動かして操作してみるとより理解が深まると感じました。

アセンブリ言語

私はwindowsでPythonやJavaなどの言語を記述してきました。しかし、z/OSではアセンブリ言語やCOBOLが使われていて、もちろん実装したことはありません。アセンブリ言語はPythonなどと違って視覚的に何をしているのかがわかりにくいと個人的に思います。Pythonの場合、いくつかのまとまった処理を関数化して、メイン処理で関数を交えて記述していきますが、アセンブリ言語の場合、上から下に命令を書いていくだけです。(インデントとかありません。)一連の処理をラベル付けして分岐できますが、やはりJavaやPythonに慣れてしまっていると見づらいです。また、1行72桁しかなく、1~8桁はラベル名、10~14桁は命令、16桁~はパラメータ(厳密にはオペランド)など、制限が多いように感じます。最もわかりにくいのが、レジスタを直接操作するというところです。今まではそんなことを意識せず、自分が好きなように変数名にいろいろ格納していました。しかし、アセンブリ言語ではレジスタを意識していかなければならないことが難しいです。命令の種類もかなり多く、ハンドブック的な本は必携です。

     START                                                       
         USING *,12                       
         STM   14,12,12(13)                    
         LR    12,15                           
         LR    15,13                           
         LA    13,SAVEAREA                     
         ST    15,4(,13)                       
         ST    13,8(,15)                       
* ----   (HELLO WORLD の出力 ) ----
         WTO   'HELLO WORLD'                                  
         LA    15,0                            
         L     13,4(,13)                       
         L     14,12(,13)                      
         LM    0,12,20(13)
SAVEAREA DC    18F'0'              
         END                       

上記が実際のアセンブリ言語ですが、HELLO WORLDを出力するだけでもこれだけの行を書かないといけないんです。難しいところはそれだけでなく、アセンブリ言語についての(z/OSの操作方法についても)インターネットサイトが少ないので苦労することがあります。
でもやっぱり自分の意図した動作をした時にはうれしいです。プログラミング言語が変わっても達成感と喜びは同じくらいありました。これからいくつも記述して上手く動作して、製品を作っていくと考えるとわくわくしています。

感じたこと

操作方法や言語の書き方が全然違って難しいところが多くあります。しかし、最新技術を学ぶだけでなく、レガシー技術を学習・習得することを通して得られるものも多くあります。数十年後にはなくなっている可能性はありますが、まだメインフレームで基幹システムが動作している環境もあります。レガシー技術を知ることで、考え方の幅が広がり、より広い視野を持てるようになると思います。最新技術とレガシーの両端の技術をもつエンジニアをこれから目指したいとより強く感じるようになりました。

最後に

まだメインフレームを勉強し始めたばかりですが、プロフェッショナルのエンジニアになれるように日々成長していきたいと思います。自分にとっては新しいことばかりなので、非常に楽しく感じています。
この記事を通してメインフレームで業務をしている新人や若い方々とコミュニケーションできたらうれしいです。
最後まで読んでいただきありがとうございました!

35
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
35
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?