UNIXとC言語の誕生

2026年02月26日

1969年に、デニスリッチーはケン・トンプソンと共に、ベル研究所で、PDP-7上で独自のオペレーティングシステムを作り始める。

これがのちのUNIXになるわけだが、そのまえに、1964年から1969年にかけてAT&TではMulticsというUNIXと真逆のプロジェクトがGE、、、えっとゼネラルエレクトロニクスだっけと共同プロジェクトがあって、これは成功とはいえなかったが、さまざまな分野への大きな影響を放った。この失敗があるから今がある。

電話、電力をコンピュータで運用できることを目標としたコンピュータユーティリティを含んだ大規模なコンピュータオペレーティングシステムを開発していたのだ。が、あまりせいこうしたとはいえずプロジェクトは撤退となった。

大きすぎて収集がつかなかったのと、途中からケントンプソンとか興味がなくなったということだけ書かれていたことを覚えている。

その後のUnixが、いかに小さく作ろうかという設計思想を改めさせるに至るわけだ。

しかも、ベル研究所にころがっていたPDP-7上でいきなりUnixをつくったわけではなく、ゲームを作るためにはじまったのだ。

ケントンプソンはもともとMulticsプロジェクト時代にSpace Travelという宇宙飛行シミュレーションゲームを開発しててそれで遊んでいた。Multicsプロジェクトがおわってしまったので、そのゲームを動かす環境が必要だった。

ケントンプソンが開発したSpace Travelは、巨大なメインフレーム上で動かすには非常にコストのかかるゲームでした。

1プレイ50〜75ドルのCPUコストがかかったとかで、 このゲームは当初Multics(GE 645)上で開発され、その後GE 635コンピュータのGECOSオペレーティングシステム上で動くようにFORTRANへ移植された。当時、計算機の使用状況を管理するためにCPUの実行時間は金額換算されており、ゲームを1回プレイするごとに50ドルから75ドルものコストがかかっていたという超高額なゲームだったわけですよ。

実際に現金を支払うわけではない内部帳簿上の課金でしたが、貴重なコンピュータ資源をゲーム目的で大量に消費していることを経営陣に知られるのは、非常に好ましくない状況だったので、

課題は、コストダウン。

コストが高いだけでなく、当時のシステムは対話型バッチ処理モデルであったため、画面の表示がぎこちなく、コマンドをいちいち打ち込んで宇宙船を操作しなければならないなど、ゲームとしての操作性やパフォーマンスも劣悪だったということです。

この2つの大きな課題 コストと操作性

この高すぎる利用コストと操作性の悪さを避けるため、トンプソンはベル研究所内にあった、ほとんど使われていない旧式のミニコンピュータDEC PDP-7に目をつけました。PDP-7は優れたグラフィックディスプレイ(今の時代から比べたら相当貧相ではあるが当時とては)を備えておりゲームを滑らかに動かすには最適でした。

しかし、プログラムをPDP-7に移植し実行するのは非常に手間がかかったため、トンプソンは作業を容易にするためのシンプルなファイルシステムやアセンブラ、ユーティリティを自作し始めました。このSpace Travelを安価かつ快適に遊ぶための土台作りこそがUNIXオペレーティングシステムが誕生する直接的なきっかけとなったのでした。

ほら、誕生秘話はおもしれえだろ。

写真は左がケントンプソン、右がデニスリッチー

左がUNIX、右がC言語をつくったおっさんだ。

最新のお知らせ

thumb
2026年4月10日
【概念解説】マッチングアプリの魔法を解き明かす:一方向型マッチングの共通構造

1. はじめに:見かけは違えど、心臓は同じ 世の中には、新し...

No Image
2026年4月9日
心を揺さぶる名曲の正体:初心者のための作曲技法入門ガイド

1. はじめに:なぜ「あの曲」は心地よいのか? サザンオ...

thumb
2026年4月5日
見積もり:Laravel構造化見積もりエンジンの開発と要件

Estimates: Laravel Structured Estimating Engine Development...

thumb
2026年4月2日
MDXレンダリング最適化および高機能コンポーネント実装要件定義書

1. プロジェクトの背景と戦略的意義 モダンなWebフロントエ...

No Image
2026年4月2日
Next.js App Router × MDX 導入・完全ワークフロー

Next.js エバンジェリストの視点から、MDXをプロジェクトに...

thumb
2026年4月2日
【新常識】MarkdownとReactが融合する「MDX」の世界:記事の中でアプリが動く魔法

1. はじめに:なぜ今、MDXが必要なのか? プログラミン...

thumb
2026年4月1日
多拠点展開の「正解」がここにある。次世代ポータル基盤『Plus1 Community』から学ぶ5つの設計思想

1. イントロダクション:多拠点管理の「カオス」を解き明か...

thumb
2026年3月31日
アイプラスワンのホームページトップに、ECサイト基盤とコミュニケーションサイト基盤をのせたい

いいですね、その方向はかなり“刺さる”構成になります。今やる...

thumb
2026年3月30日
WindowsでのDocker開発を劇的に変える、5つの「戦略的」最適化術と真実

WindowsプラットフォームにおけるDocker開発の歴史は、仮想化技...

thumb
2026年3月29日
1つの方程式で、あらゆる「つながり」を。マッチング基盤設計に学ぶ、究極の再利用戦略

1. イントロダクション:マッチングサイト乱立時代の「車輪...