|
FACOM 230-25 アセンブラと磁気テープ |
|
第1次〜第2次オンラインシステムの開発に携わりました。
第1次オンラインシステムは アセンブラ + COBOL
FASP オンラインプログラム
COBOL 付帯バッチ
第2次オンラインシステムは COBOL (OSIV/MSP)
|
|
|
|
|
第1次オンラインシステム開発時のソース・リスト
BOS2: Batch Operating System U FASP
タイムスタンプが 47.11.10 (1972.11.10)
※オンラインシステムは、 FACOM 230-45の
ROS, COP-Fではプログラムサイズが大きすぎるので
ROSを凝縮した MARBLE-25上で、稼働
FACOM 230-25 OS: MARBLE-25
主記憶 64KB + 増設メモリ 128KB
ROS: Real-Time Operating System
COP-F: COP File Oriented System (オンラインコモンパッケージ)
入分配(電文受付)が、常駐しており、電文に応じて処理が割り振られます。
各処理はオーバーレイ方式で、当座、普通、定期、照会です。
CCUの電文制御は、ポーリング/セレクティング方式 1電文長は 128バイト
上り電文: 各店舗から、口座番号、取引コード、金額等 各取引(処理)毎に各項目があり、DS(DataSeparater)で区切られています。
下り電文: 取引毎にチエックをし、正常であれば入出金処理を行い、処理後内容の電文を作成します。
店舗の 端末機は、Olivetti TC-380
(第2次オンラインシステムでは FACOM M-360 + TC-800)
Olivetti TC-800
....................................................................................................................................
アセンブラとは、コンピュータ・プログラムのひとつです。
※アセンブラ(アセンブラ言語)はアセンブリ言語と同義
現在では C, C++, Java等が主流ですが、
昔のプログラム言語には、アセンブラ、FORTRAN、COBOLなどがありました。
アセンブラは 記号言語でコンピュータに詳細な命令を出せます。
第1次オンラインシステムは、
DBMSの影も無く、各メーカー独自のファイルシステム
プログラムは、全てアセンブラ (バッチプログラムはCOBOL)
※ 第2次オンラインシステムは、CODASYL型データベース
ソースリストを一部載せます。
オンライン取引ジャナールのMTを読んで、データを印刷するプログラム
なぜ COBOLで無くアセンブラなのかは、取引ジャナールが
COBOLで扱えないバイナリーになっている為。
.............................................................................
FASP: FACOM Automatic Symbolic Program
DC DAで定数・領域確保 ( Define Constant, Define Area )
EQU でアドレスの定義
取引ジャーナルには、CheckPoint A と CheckPoint B が有り
CKPT-A は取引データ CKPT-B はメモリの内容
システムダウン時は、CKPT-Bの内容を見て調べます。
.............................................................................
外部スィッチ判断(ASW)は、SVC (supervisor call) 割り込みで可 → int86と思ってください。
MT, LPのオープンは低レベルのFCPで、BLCP: Block Level Control Program です。
マクロが使えます。
オンラインシステムのプログラムはアセンブラ
電文を判断(入分配)し、各プログラムを呼び出すオーバーレイ方式
入分配プログラムはメモリ常駐
当座預金、普通預金、定期預金等各プログラムは
アセンブルリストで 2500〜4000ページ
(マクロ展開、シンボルリスト等)
各プログラムは、電文内容から各取引処理を行い
ファイルを更新後、下り電文を作成し、CCUへ渡します。
まだデータベースという言葉が無い時代なので、
各メーカー独自のファイルシステムです。
各ファイルの更新前イメージと更新後イメージをジャーナルに出力する機能は既に確立しています。
その後、CODASYL型DB → RDBへ ・・・
..................................................................................................................................................
第一次オンラインシステムの開発時、
複数のタスクが絡んでの特異現象が発生しました。
なかなか再現出来ないので、網を張ることに・・・
特定のアドレスでCPUを止め、その時のメモリ内容を吐き出します。
( FETCH ADDRESS STOP, CORE DUMP )
5〜6日で網にかかりました。
今なら考えられない話ですが、当時はCPUを止め
直接レジスタやメモリを覗いたり、値を変更し再開できました。
.............................................................................
IBM 1401 debugging
プログラムの実行前に、外部スィッチをセットし処理条件を変更可
COBOLで外部SWの定義は、SPECIAL-NAMES句で指定
磁気テープによるジャーナル
FACOM 603M 磁気テープ装置
磁気ディスク(ハードディスク)の無い時代なので、
オンラインの取引情報(入出金データ等)は、全て磁気テープに書き出します。
信頼性を高める為、同時に磁気テープ装置2台で書き出し。
データが一杯になったら、磁気テープを交換するのですが
同時に2台も交換するには、オペレータの作業を考慮し
2種類(長さが違う)の磁気テープでオンラインを開始
ロングの磁気テープ 長さ 2400フィート(約730m)
ハーフの磁気テープ 半分の1200フィート
こうすると、最初にハーフが一杯になり以降別々に切り替えが可能
※システムダウン時には、この磁気テープのデータを利用して復旧&再開
NEAC 543磁気テープ装置 〜 怪奇大作戦 20話「殺人回路」より
NEAC 2206
IBM 3420 磁気テープ装置
IBM SYSTEM 360
IBM SYSTEM 370
CDC 6600 1964年 主任設計者: Seymour Cray
CDC 6600の発表に関して、IBMのT.J.Watson Jr.は、次のようなメモを幹部に送っている。
「先週、CDCは記者会見を開いて6600システムを発表した。このシステムを開発した部門の人員は"掃除夫まで含めても"たったの34人である。
その内、エンジニアは14人、プログラマは4人で、博士号を持っているのは1人だけである。その博士も、比較的初級のプログラマである。
外部から見ると、この開発部門はコスト意識が高く、ハードに働く、強い動機をもったチームであると考えられる。
この控えめなサイズの開発を、わが社の巨大な開発と比較すると、最も強力なコンピュータを他社が提供し、業界のリーダーシップを奪われるということは理解しがたい。
我々のやり方の何が悪かったのかを議論し、ただちに、それを変えることが急務である」
MT: Magnetic Tape (磁気テープ) オープンリールMEMOREX
リールのサイズ:テープ長さ 2400フィート(直径40cm)
ハーフ : 1200フィート(直径25cm)
クオーター: 600フィート(直径15cm)
裏面 「書込み許可」の黄色いリングが付いています。
write enable ring 直径11cm
磁気テープ装置に取り付ける時
このフィンガーポジションに人差し指を入れてリールを廻してテープを装填
※磁気テープの開始位置判断の為、テープには銀紙が貼ってあり
テープを巻き取りながら、この位置を見つけます(Load Point)
磁気テープの動画( 約 1分 )
磁気テープの装填は、オス・メスのフックを利用
(オート・ローディングでは不要)
フックで接続
磁気テープ保管庫
当時の富士フイルムのカタログ
FORTRAN パンチカード
REDY TRACE → トレース指示のJCL
デバッグとしてSYSOUTにラベル等トレース情報が出力できます。
8単位 紙テープ
紋紙から紙テープの解析
Teletype Model 19 の5穴と比較
IBM フローチャート定規(テンプレート)
磁気テープ装置の説明と、当時と同様なブラシを作成しての修理の話
IBM 3420 9-track TAPE
IBM Rare 7070 Mainframe Computer film 1960
磁気テープ関連
UNIVAC テープ装置
https://www.crimson-systems.com