フラッシュバック:CP / Mとマイコン時代の始まり

私は昼夜を問わず、CP / Mと呼ばれる場所で、遠く離れた場所に、長い時間がありました。 CP / Mは、マイクロコンピュータ時代の最も影響力のある初期のオペレーティングシステムの1つでした。

「ああ、明日の夜明けで見ることができますか?」という記録は、1980年からCP / MマシンのすべてのRAMを使い果たします。

今日のオペレーティングシステムと比較して、1970年代後半のCP / Mはファイルコントローラーではほとんどありませんでした。 APIはありませんでした。コマンドラインインタプリタはほとんどありませんでした(ただし、A:プロンプトが分かっていれば、感謝するCP / Mがあります)。

しかし、CP / Mはゲームの変革者でした。これは、BIOSの概念を導入しました。これは、コンピュータのハードウェア固有の要素をOSコードから切り離し、1つのメインコードベースをさまざまなハードウェアの組み合わせで実行できるようにしました。

MS-DOSがMS-DOSの前にCP / MはMS-DOSでした。

実際、CP / MはMS-DOSのモデルでした。私は、最初のIBM PCオペレーティングシステムでDigital Research(CP / Mのメーカー)がMicrosoftにどのように迷っていたのかについての外相の話を取り上げませんが、MS-DOSはCP / Mのように外部に感じました。内部的に異なるコードを持っていました。

WordStar(はい、私はまだコマンドキーを覚えています!)、dBase、さらにはAutoCADもCP / Mで始まり、CP / Mを実行していたコンピュータで初めて販売されました。

これを見てみましょうか? CP / Mは8080クラスのマイクロプロセッサーで動作しました。 Z80 Zilog 8080クローン(今日のZilogは、AMDのようなIntel向けで、今日のIntelプロセッサ向けです)は、最大64KのRAMをサポートしています。

Star Trek:50年にわたる積極的な未来主義と大胆な社会的解説、MicrosoftのSurfaceオールインワンPCが10月のハードウェアの発売を見出し、iPhone 7、新しいApple Watch、AirPodを手がけ、GoogleはApigeeを6億2,500万ドルで買収

私はここで明確にしましょう。私たちは64Kを話しています。キロバイト。メガバイトではありません。ギガバイトではありません。テラバイトではありません。キロバイト。 64K RAMは64倍1024バイトでした。

これを視点に置く別の方法があります。陸軍のMP3は、バンド演奏と、1.6メガバイトでスタースパングルバナーの時計を歌うコーラスからなる。 64K CP / Mのアドレス空間全体は、スタースパングルバナーの1/25です。 「ああ、明日の夜明けで見ることができますか?」という記録は、1980年からCP / MマシンのすべてのRAMを使い果たします。

それでも、私はCP / Mに住んでいました。私の最初のCP / Mマシンのマザーボードは、誰かのクリスマスのお祝いの上に残された緑の合板にねじ込まれました。私はボード上にS-100カードを積み重ねました。フロントパネルは、数百の小さなワイヤーとスイッチで構成されていました。結局、大型の8インチフロッピーディスクドライブがセットになりました。

私はCコンパイラも持っていました。そのとおり。 64KでCコードをコンパイルして編集することができました。これは、C言語のどれが言語であるか、そして今日のどの言語が実際にAPIとインタフェースであるかを示しています。

SMB、WordPress管理ツールManageWP、SMB、ビデオ:有名なテクノロジー起業家の3つの貴重なヒント、SMB、ビデオ:Millennialsを採用するための3つのヒント、エンタープライズソフトウェア、Windows用のMicrosoftの新しいビジネスモデル10:

対照的に、Microsoftは、Visual Studio Express 2013を実行するには最低1GBのRAMが必要だと述べています。これは、1980年にC言語をコンパイルするのに必要なRAMの15,625倍のRAMです。もちろん、そのRAMのギガも、今日の64Kよりもずっと安価です。だから、あなたが知っている、ムーアの勝利の法則。

当時のすべてのオペレーティングシステムと同様に、CP / Mは独自のオペレーティングシステムであり、ソースコードはクリエーターによって厳重に保護されていました。それでも、大学中心のArpanetで賢明なプレインターネットネットワーキングを通じて、私はCP / Mソースコードのリバースエンジニアリングダンプを手に入れることができました。

実際、CP / Mのソースコードは、今日この記事を書くために私にインスピレーションを与えたものです。 CP / Mの最初のビルド40周年を記念して、コンピュータ歴史博物館は、CP / Mソースコードのいくつかのバージョンのダンプを公開しています。

ああ、はい。私の仕事。私がCP / Mで暮らしていた理由は、ホープ・システムと呼ばれるプロジェクトを担当する私の工学学校の論文に取り組んでいたからです。すべての目的と目的のために、The Hope SystemはCP / Mの代替コマンドラインシェルでした。

CP / Mには非常に初歩的なコマンドラインシェルコールがコンソールコマンドプロセッサ用のCCPを持っていました。いくつかのコマンドしか持っていなかったし、バッチ言語があまりなく、歴史もなく、コマンドの完了もなく、実行パスも知らなかったし、コマンドラインエディタの削除はあなたが持っていたものすべてでした。

私のプロジェクトは、CCPを非常に拡張性があり、無限に柔軟なバッチ言語(CP / Mではフロー制御なしのSUBMITファイルで実行するコマンドのリストのみを許可した)で置き換え、コマンドラインプロセッサをコマンドの完了、履歴、複数のコマンドディレクトリ、およびその他の便利なUI機能が含まれます。

もちろん、その挑戦は64KのRAMでした。私はHCPをCCPと同じメモリフットプリントでロードして実行しなければならなかったが、Hopeは非常に複雑だった。それを取り除くために、私は動的ページングとトランジェントモジュールをすべて動作させるためにコーディングしなければなりませんでした。

希望システムは3つの主なコンポーネントで構成されていました:希望言語、希望の殻、希望のローダー。ローダーが私がCP / Mソースコードをよく知っている理由でした。 CP / M CCPを置き換えるために、代わりにローダーをロードするためにCP / Mにパッチを当てなければなりませんでした。その後、私のローダーが引き継ぎ、すべてのプログラムのロードを管理し、大量のメモリ管理を行いました。これは1980年に戻ったことを覚えておいてください。私のメモによると、私は実際にシステム全体を48KのRAMで動かすことができました。

希望の殻は1980年に前進しましたが、今日私たちにとって非常に原始的なようです。それでも、バッチ言語とともにコマンドラインの完了と履歴を組み込む能力は、特にそのような小さなRAMフットプリントシステムでは珍しいことでした。

しかし、ホープがユニークなところは、言語でした。今日まで、実行時に構造的に拡張可能な他の言語は考えられません。当時の設計に18ヶ月かかったことを説明するのに時間を割いてみましょう。私のアイデア(そしてこれが論文の中核だった)は、コンピュータ言語が固定構文を持つ必要はないということでした。

構造的に拡張可能な言語を作成することで、プログラマーは、コードをブロックする方法、パラメーターの仕組みなど、フレーズで構文の決定を下すことができます。

30年以上のハイテクビジネスでの経験を考えた上で、構造的に拡張可能な言語構文の考えは私に震えを与えてくれます。それを維持する – 特にそれを支えることは悪夢になるだろう。

しかし、1980年になって、私たちは本当に多くの標準を持っていませんでした。 CP / Mはベンダー間の唯一のオペレーティングシステムでした。これらのマシンがどのように使用されるかは本当にわかりませんでした。特定のニーズに合わせてカスタマイズできる言語の考え方は、コンピュータユーザーがその時間より前に慣れてきた制約を取り除いているようでした。

それは良い仕事でした。私は栄誉を持って卒業し、Sope Xi Research of the Hope System(特に構造的に拡張可能な言語の性質)を受賞しました。

私がこれを書くために座るまで、私は1982年以来私の論文を見ていなかった。私が今読んだことで私が驚いたことは、私が何年も仕事をしてきたことを無意識のうちに見つけたことです。

ZENPRESSは、私がZopeを動かすために1998年に建てたものです。例えば、Zopeを構築している間、Hopeの考えを記憶していなくても、私はHopeのために開発した言語拡張性、トークン化、抽象化の多くを共有しています。

もちろん、私が振り返ってみると私に迷惑をかけるもう一つのことは、私たちが取り組まなければならなかったRAMの量と、私たちがどれくらい手に入れることができたかです。

コンピュータ歴史博物館からのリリースを利用し、CP / Mソースコードを掘り下げてください。今までに書かれたコードの中で最も形成的なものをいくつか見直すことになります。

ところで、私はこれまで以上にTwitterやFacebookのアップデートをしています。 @DavidGewirtzのTwitter、Facebook.com/DavidGewirtzのFacebookで私をフォローしてください。

GoDaddyがWordPress管理ツールManageWPを購入

ビデオ:有名なテクノロジー起業家の3つの貴重なヒント

ビデオ:Millennialsを雇うための3つのヒント

Windows 10のMicrosoftの新しいビジネスモデル:遊ぶための支払い