https://www.crimson-systems.com YouTube
   
アセンブラと磁気テープ  




第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

 入分配(電文受付)が、常駐しており、電文に応じて処理が割り振られます。
 各処理はオーバーレイ方式で、当座、普通、定期、照会等です。

 CCUの電文制御は、ポーリング/セレクティング方式




....................................................................................................................................

アセンブラとは、コンピュータ・プログラムのひとつです。
※アセンブラ(アセンブラ言語)はアセンブリ言語と同義


現在では 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