これは、Stack Overflow Podcast#65を参照しています。たとえば、256kのメインメモリを備えた典型的な60年代または70年代のサーバーコンピュータを想定します。そのようなマシンは、最大でどのくらいの大きさの(コンパイルされた)COBOLプログラムを実行できますか?プログラムが意図的に必要以上に複雑にされていないと仮定すると、これはCOBOLプログラムの複雑さと機能をどれほど厳しく制限しますか?
5 に答える
当時、IBMメインフレームオペレーティングシステムは仮想ストレージをサポートしていましたが、今日はビーチでコンドミニアムを購入して、IBMの年間リース料を支払うことができました。克服できないプログラムサイズの問題は覚えていません。
考慮すべきことの1つは、当時はほとんどすべてが「バッチプログラミング」モードで実行されていたことです。これにより、1つのプログラムがどれほど複雑になる必要があるかが制限されました。1つのプログラムがデータを前処理し、ディスクに保存します。次はそれをソートし、計算結果を追加するかもしれません。次に、データベースを更新する可能性があります。次に、バッチの最後のものがレポートを印刷する場合があります。そのため、複雑さ(およびサイズ)は、順番に実行されるいくつかのプログラムに分割されました。
かなり大きなCOBOLプログラムは、70年代のメインフレームの256Kramで実行できます。(IBM370の256Kのメモリはバイトではなく256Kの32ビットワードでした。)IBMは1970年頃に仮想メモリを導入しました。これにより、プログラムとデータがディスクにページングされ、プログラムは24ビットアドレス空間のほとんどを使用できるようになりました。制限。Windowsと同じように!
私は1MBのメインストレージを備えたUnisysSystem1100の管理者でした。かなり複雑な軍需品在庫システムの約150人のユーザーをサポートしました。アプリケーションはCOBOLで作成されました。
これをどのように測定しますか?印刷時に厚さが約2インチの256kまたは512kシステムで実行したと確信しているプログラムを1つ覚えています。オーバーレイも使用する必要はありませんでした。
COBOLコンパイラがそれをサポートしている場合、開発者はこのタイプの状況でSEGMENTを使用でき、一種のロードと置換を行うことができます。または、オーバーレイが許可される場合もあります。