Unixの歴史:Bell LabsからiPhoneまで

著者: Judy Howell
作成日: 1 J 2021
更新日: 23 六月 2024
Anonim
Unix50-Unixへのオード
ビデオ: Unix50-Unixへのオード

コンテンツ



取り除く:

Unixが40年以上も使用されているという事実は、その汎用性の兆候です。

スマートフォンやタブレットは新品だと思うかもしれませんが、その基盤となるテクノロジーには1960年代にまで遡る長い歴史があります。 iOSまたはAndroidデバイスをお持ちの場合、Bell Labsで開発されたUnixと呼ばれるオペレーティングシステムに基づいています。 Windowsを実行しているPCがあったとしても、日中は多くのサーバーと通信しますが、その多くはUnix上でも実行されています。その長い歴史のために、Unixがまだまだ一般的であることは少し驚くべきことです。ここまでの経緯を見てみましょう。

初期の歴史

最終的にUnixになったものの起源は、1960年代半ばにMULTICSと呼ばれるプロジェクトから始まりました。 MIT、GE、Bell Labsを含む組織のコンソーシアムが協力して、「コンピューティングユーティリティ」をサポートするシステムを作成しました。今日、私たちはそれをクラウドコンピューティングと呼ぶかもしれません。残念ながら、MULTICSは当時よりもはるかに進んでいた可能性があり、ベル研究所は最終的に1969年にプロジェクトから撤退し、デニスリッチーとケントンプソンの2人のプログラマーが古い機器で立ち往生しました。

トンプソンとリッチーは、世界がまだバッチ処理にほとんど依存していたときにインタラクティブコンピューティングの味を味わった後、戻ることができませんでした。そこで、彼らはMULTICSの最高の機能の一部を保存しようとする独自のプロジェクトを開始することにしました。

「私たちが保存したかったのは、プログラミングを行うのに適した環境だけでなく、フェローシップを形成できるシステムでした」とリッチーは1979年に書いています。「リモートから提供される共同コンピューティングの本質は-access、タイムシェアリングマシンは、キーパンチの代わりにプログラムを端末に入力するだけでなく、緊密なコミュニケーションを促進することです。」

これらの高尚な目標に加えて、トンプソンはより個人的な動機も持っていました。彼は、「宇宙旅行」と呼ばれる発明されたゲームをプレイしたかったのです。


トンプソンとリッチーは、Digital Equipment Corporation PDP-7にシステムを実装することにしました。彼らは基本的なシステムをスケッチし、アセンブリ言語で書きました。彼らは、MULTICSのしゃれとして「UNICS」と名付けることにしました。彼らはすぐに名前を「Unix」に変更しました。

彼らはより強力なコンピューターを求めていたので、経営陣にPDP-11を購入して、Bell Labsの特許部門の処理アプリケーションを開発するよう依頼しました。その結果、Unix用の最初のエンドユーザーアプリケーションは、本質的にワードプロセッシングでした。

この成功により、Bell Labs内でUnixが成長しました。特徴的な機能の1つは、入力を1つのプログラムから別のプログラムにリダイレクトして、ソフトウェア開発への「ビルディングブロック」アプローチを可能にすることでした。

バグやストレスなし-あなたの人生を破壊することなく人生を変えるソフトウェアを作成するためのステップバイステップガイド


誰もソフトウェアの品質を気にしない場合、プログラミングスキルを向上させることはできません。

Unixのターニングポイントは、トンプソンとリッチーが設計した言語であるCで再実装されたときでした。 Cは高水準言語でした。この方法でオペレーティングシステムを記述すると、その進化に大きな影響があります。 Unixをポータブルにしたので、比較的少ない労力で別のコンピューターで実行できます。 (コンピュータープログラミング:機械語から人工知能まで、プログラミング言語の背後にある歴史について学んでください。)

トンプソンとリッチーが1974年に名門コンピューターサイエンスジャーナルCommunications of the ACMでシステムに関する論文を発表したとき、Unixは大きな注目を集めました。

バークレーのソフトウェア配布

UnixがBell Labsの内外で人気を博したように、Bell Labsが研究部門であったAT&Tは、同意判決のために、それを利用することができませんでした。米国で電話サービスの独占を維持することと引き換えに、電話以外のビジネス分野、つまりコンピューターソフトウェアには参入できませんでしたが、依頼した人にライセンスを与える必要がありました。


Bell Labsは、ソースコードを完備したUnixのコピーを大学に実際に配布しました。それらの1つはUCバークレーでした。ソースコードを含めることで、学生、特にBill Joyが変更と改善を行うことができました。これらの改善は、Berkeley Software Distribution(BSD)として知られるようになりました。

DECのVAXミニコンピューターラインとviエディターの仮想メモリを利用するUnixの最初のバージョンを含む、BSDプロジェクトから多くの革新が生まれました。

最も重要な追加はTCP / IPの実装であり、これによりUnix、特にBSD Unixが新生インターネットで選択されるオペレーティングシステムになりました。 (TCP / IPの開発の詳細については、インターネットの歴史をご覧ください。)

BSDベースのバージョンは、新興のワークステーション市場、特にBill MicrosystemsがBerkeleyを共同設立するために残したSun Microsystemsコンピューターでも人気になりました。

GNUおよびLinux

SunはLinuxを商業化する唯一の会社ではありませんでした。 80年代初頭にAT&Tが解散した後、ついにコンピューター事業にも参入することができました。 AT&Tは、より大規模なマルチユーザーインストールを対象としたSystem Vを導入しました。

しかし、少なくとも1人は、業界がすべての人がソースコードを共有するアカデミックな環境から、人々がコードを「保有」する商業世界に移行した方法に満足していませんでした。

MIT人工知能研究所のプログラマーであるリチャードストールマンは、1983年にGNU(GNUs Not Unix)プロジェクトを発表しました。

「ゴールデンルールは、プログラムが好きなら、それを好きな人と共有しなければならないことを要求していると考えています」と、ストールマンはGNUマニフェストに書いています。 「ソフトウェア販売者はユーザーを分割して征服し、各ユーザーが他のユーザーと共有しないことに同意します。この方法で他のユーザーとの連帯を破ることを拒否します。秘密保持契約またはソフトウェアライセンス契約に署名することはできません。」

GNUプロジェクトは、ストールマンが言ったように、プロプライエタリなUnixソフトウェアを「ビールのようにではなく、言論のように自由な」フリーソフトウェアに置き換えることを目指していました。言い換えれば、ソースコードとライセンスを使用して、実際に人々にそれを配布するように促しました。

このスキームが狂ったように聞こえるかもしれませんが、ストールマンはプロジェクトに取り組むプログラマーのグループを引き付け、すべてがライセンス(特にGeneral Public License(GPL)でリリースされるエディター、コンパイラー、その他のツールなどの高品質ソフトウェアを開発しました)ソースコードへのアクセスを保証します。 GNUの影響により、BSDプログラマーはシステムからAT&Tコードをスクラブするように説得し、完全に再配布可能にしました。

最後に欠けていたのは、カーネルまたはシステムのコアでした。 GNUカーネルのHURDは、予想よりも実装が難しいことがわかりました。幸いなことに、フィンランドの大学院生の趣味のプロジェクトの1つは、恵みを節約するGNUであることが判明しました。 Linus Torvaldは1991年にLinuxカーネルをリリースし、それを実現するつもりはありませんでしたが、オペレーティングシステムに革命を起こしました。まもなく、LinuxおよびGNUツールの「ディストリビューション」が現れ始め、必要なスキルを持つ人なら誰でも、大学や研究室で使用される数千ドルの費用がかかるUnixライクなオペレーティングシステムを持つことができます。何よりも、通常のPCで無料で実行できます。 (Linux Distrosで人気のある今日のディストリビューションの詳細:どれがベストですか?)

これは、90年代に増加するWebスタートアップとISPにとって魅力的でした。彼らは無料でサーバーソフトウェアを入手し、あまりお金をかけずにそれらを実行する方法を知っている優秀な若いコンピュータサイエンスの卒業生を雇うことができました。 Linux / Apache / MySQL / PHPサーバースタックは、今日のWebサービスプロバイダーにとって依然として最適なプラットフォームの1つです。

モバイル化

Unixは40年以上前のものですが、その汎用性により、最初に実行された元のミニコンピューターをはるかに超える用途が可能になります。最も目立つものの1つはApples iOSです。これは、部分的にFreeBSDに基づいており、それ自体は元のBSDコードに基づいています。他の主要なモバイルOSであるAndroidは、変更されたLinuxカーネルに基づいています。これらのどちらにもオリジナルのUnixコードは含まれていませんが、ほとんどの人がUnixに関連付けているコマンドラインとはかけ離れた洗練されたビジュアルインターフェイスの下でも、基になるアイデアの多くを保持します。

現在の主要なモバイルプラットフォームがUnixベースであることは、その汎用性を示しています。元のクリエーターの1人であるデニスリッチーは2011年に亡くなりましたが、古いですが、速度が低下する兆候はないようです。そのため、次回スマートフォンやタブレットをまったく新しいものと考えたい場合は、もう一度考えてください。それを支える技術は非常に長い道のりを歩んできました。