20代または30代のソフトウェア開発者であれば、Linuxが支配的な世界で育ちました。これは何十年にもわたってデータセンターの重要なプレーヤーであり、明確なオペレーティングシステムの市場シェアレポートを見つけるのは難しいですが、データセンターのオペレーティングシステムのLinuxのシェアは70%に達する可能性があり、Windowsの亜種が残りのほぼすべての割合を占めています。主要なパブリッククラウドを使用している開発者は、ターゲットシステムがLinuxを実行することを期待できます。スマートフォン、テレビ、自動車、その他の多くのデバイスにAndroidおよびLinuxベースの組み込みシステムを追加すると、Linuxがどこにでもあるという証拠が近年増えています。
それでも、ほとんどのソフトウェア開発者は、この由緒ある「Linux革命」の間に成長した人でさえ、少なくともUnixについて聞いたことがあるでしょう。 Linuxに似ているように聞こえますが、おそらく人々がこれらの用語を同じ意味で使用しているのを聞いたことがあるでしょう。あるいは、Linuxが「Unixライクな」オペレーティングシステムと呼ばれているのを聞いたことがあるかもしれません。
それで、このUnixは何ですか?似顔絵は、輝く緑色の画面の後ろに座って、昔ながらのドリップブリューコーヒーを動力源とするCコードとシェルスクリプトを書いている魔法使いのような「灰色のひげ」について語っています。しかし、Unixには、1970年代のひげを生やしたCプログラマーを超えたはるかに豊かな歴史があります。 Unixの歴史と「UnixとLinux」の比較について詳しく説明している記事はたくさんありますが、この記事では、これらの補完的な世界の概要と主な違いのリストを提供します。
Unixの始まり
Unixの歴史は、1960年代後半のAT&T Bell Labsで始まり、PDP-7用のマルチタスクマルチユーザーオペレーティングシステムの作成を検討しているプログラマーの小さなチームがあります。ベル研究所の研究施設でこのチームの最も注目すべきメンバーの2人は、ケントンプソンとデニスリッチーでした。 Unixの概念の多くはその前身(Multics)から派生したものでしたが、1970年代初頭にこの小さなオペレーティングシステムをC言語で書き直すというUnixチームの決定が、Unixを他のすべてから分離したものです。当時、オペレーティングシステムがポータブルになることはほとんどありませんでした。代わりに、その設計と低レベルのソース言語の性質により、オペレーティングシステムは、それらが作成されたハードウェアプラットフォームに緊密にリンクされていました。 UnixをCプログラミング言語でリファクタリングすることにより、Unixを多くのハードウェアアーキテクチャに移植できるようになりました。
この新しい移植性により、Unixはベル研究所を超えて他の研究、学術、さらには商用用途にまで迅速に拡張できました。また、オペレーティングシステムの設計理念のいくつかの重要な点は、ユーザーとプログラマーにとって魅力的でした。一つには、ケン・トンプソンのUnix哲学は、モジュラーソフトウェアの設計とコンピューティングの強力なモデルになりました。 Unix哲学では、複雑な全体的なタスクを実行するために、小さな専用プログラムを組み合わせて使用することを推奨しています。 Unixはファイルとパイプを中心に設計されているため、プログラムの入力と出力を「パイプ」して入力に対する操作の線形セットにするこのモデルは、今日でも流行しています。実際、現在のクラウドサーバーレスコンピューティングモデルは、その遺産の多くをUnix哲学に負っています。
急速な成長と競争
1970年代後半から80年代にかけて、Unixは、研究、学界、および成長を続ける商用Unixオペレーティングシステムビジネスに拡大した家系図のルートになりました。 Unixはオープンソースソフトウェアではなく、Unixソースコードはその所有者であるAT&Tとの契約を通じてライセンス供与可能でした。最初の既知のソフトウェアライセンスは、1975年にイリノイ大学に販売されました。
Unixは学界で急速に成長し、70年代にケントンプソンがサバティカルを行ったことを考えると、バークレー校が重要な活動の中心になりました。バークレー校でのUnixに関するすべての活動により、Unixソフトウェアの新しい配信が生まれました。それはBerkeley Software Distribution(BSD)です。当初、BSDはAT&TのUnixに代わるものではなく、追加のソフトウェアと機能を備えたアドオンでした。 2BSD(Second Berkeley Software Distribution)が1979年に到着するまでに、バークレー校の卒業生であるBill Joyは、vi
などの今では有名なプログラムを追加していました。 およびCシェル(/ bin / csh)。
Unixファミリーの最も人気のあるブランチの1つとなったBSDに加えて、Unixの商用製品は、1980年代から90年代にかけて、HP-UX、IBMのAIX、SunのSolaris、Sequent、Xenixなどの名前で爆発的に拡大しました。ブランチが元のルートから成長するにつれて、「Unix戦争」が始まり、標準化がコミュニティの新たな焦点となりました。 POSIX標準は、1988年に作成され、その他の標準化は、TheOpenGroupを介して1990年代に続きました。
その他のLinuxリソース
- Linuxコマンドのチートシート
- 高度なLinuxコマンドのチートシート
- 無料のオンラインコース:RHELの技術概要
- Linuxネットワーキングのチートシート
- SELinuxチートシート
- Linuxの一般的なコマンドのチートシート
- Linuxコンテナとは何ですか?
- 最新のLinux記事
この頃、AT&TとSunはSystem V Release 4(SVR4)をリリースしました。これは、多くの商用ベンダーに採用されました。これとは別に、オペレーティングシステムのBSDファミリは何年にもわたって成長し、今ではおなじみのBSDライセンスの下でリリースされたいくつかのオープンソースのバリエーションにつながりました。これには、FreeBSD、OpenBSD、およびNetBSDが含まれ、それぞれがUnixサーバー業界でわずかに異なるターゲット市場を持っています。これらのUnixの亜種は、今日でもある程度の使用法がありますが、多くの場合、サーバーの市場シェアは1桁(またはそれ以下)に減少しています。 BSDは、今日の最新のUnixシステムの中で最大のインストールベースを持っている可能性があります。また、OS X(現在はmacOS)オペレーティングシステムはBSD派生であるため、最近の歴史で出荷されたすべてのAppleMacハードウェアユニットはBSDによって要求されます。
Unixの完全な歴史とその学術的および商業的変種は、さらに多くのページを必要とする可能性がありますが、記事に焦点を当てるために、Linuxの台頭に移りましょう。
Linuxに入る
今日私たちがLinuxオペレーティングシステムと呼んでいるのは、実際には1990年代初頭からの2つの取り組みの組み合わせです。リチャード・ストールマンは、プロプライエタリなUnixシステムに代わる真に無料のオープンソースを作成しようとしていました。彼は、「GNUはUnixではない」という意味の再帰的頭字語であるGNUという名前でユーティリティとプログラムに取り組んでいました。カーネルプロジェクトが進行中でしたが、それは困難であることが判明し、カーネルなしでは、フリーでオープンソースのオペレーティングシステムの夢を実現することはできませんでした。完全なオペレーティングシステムを実現したのは、Linus Torvaldの仕事であり、彼がLinuxと呼んだ、機能し実行可能なカーネルを作成しました。 LinusがいくつかのGNUツール(GNUコンパイラコレクション、GCCなど)を使用していたことを考えると、GNUツールとLinuxカーネルの組み合わせは完全に一致していました。
Linuxディストリビューションは、GNUのコンポーネント、Linuxカーネル、MITのX-Windows GUI、およびオープンソースBSDライセンスの下で使用できるその他のBSDコンポーネントで実現しました。 SlackwareやRedHatのようなディストリビューションの初期の人気は、1990年代の「一般的なPCユーザー」にLinuxオペレーティングシステムへのアクセスを提供し、それとともに、彼らが仕事や学業で使用した独自のUnixシステム機能とユーティリティの多くを提供しました。
すべてのLinuxコンポーネントが無料でオープンソースであるため、少しの努力で誰でもLinuxディストリビューションを作成でき、すぐにディストリビューションの総数は数百に達しました。もちろん、多くの開発者は、クラウドプロバイダーを介して、またはFedora、CanonicalのUbuntu、Debian、Arch Linux、Gentoo、その他多くのバリアントなどの一般的な無料ディストリビューションを使用してLinuxを利用しています。無料のオープンソースコンポーネントに加えてサポートを提供する商用Linux製品は、IBMを含む多くの企業がプロプライエタリUnixからLinux上にミドルウェアおよびソフトウェアソリューションを提供するように移行したため、実行可能になりました。 Red Hatは、SUSE Linux Enterprise Server(SLES)を備えたドイツのプロバイダーSUSEと同様に、Red HatEnterpriseLinuxを中心に商用サポートのモデルを構築しました。
UnixとLinuxの比較
これまで、Unixの歴史、Linuxの台頭、およびUnixに代わるフリーでオープンソースの基盤となるGNU / FreeSoftwareFoundationについて見てきました。同じ遺産の多くと同じ目標の多くを共有するこれら2つのオペレーティングシステムの違いを調べてみましょう。
ユーザーエクスペリエンスの観点からは、それほど違いはありません。 Linuxの魅力の多くは、多くのハードウェアアーキテクチャ(最新のPCを含む)でのオペレーティングシステムの可用性と、Unixシステム管理者およびユーザーに馴染みのあるツールを使用できることでした。
POSIX標準とコンプライアンスにより、Unixで記述されたソフトウェアは、通常は限られた移植作業でLinuxオペレーティングシステム用にコンパイルできます。多くの場合、シェルスクリプトはLinuxで直接使用できます。一部のツールでは、UnixとLinuxの間でフラグ/コマンドラインオプションがわずかに異なりますが、多くのツールは両方で同じように動作しました。
ちなみに、主にLinuxを対象とした開発プラットフォームとしてのmacOSハードウェアとオペレーティングシステムの人気は、BSDのようなmacOSオペレーティングシステムに起因している可能性があります。 Linuxシステム向けの多くのツールとスクリプトは、macOSターミナル内で簡単に動作します。 Linuxで利用できる多くのオープンソースソフトウェアコンポーネントは、Homebrewなどのツールから簡単に利用できます。
LinuxとUnixの残りの違いは、主にライセンスモデルに関連しています。オープンソースとプロプライエタリのライセンスソフトウェアです。また、Unixディストリビューション内に共通のカーネルがないことは、ソフトウェアおよびハードウェアベンダーに影響を及ぼします。 Linuxの場合、ベンダーは特定のハードウェアデバイス用のデバイスドライバーを作成し、当然のことながら、ほとんどのディストリビューションで動作することを期待できます。 Unixツリーの商用およびアカデミックブランチのため、ベンダーはUnixのバリアント用に異なるドライバーを作成し、SDKまたはソフトウェアの配布モデルへのアクセスに関連するライセンスやその他の懸念事項を多数のバイナリデバイスドライバーとして使用する必要があります。 Unixバリアント。
両方のコミュニティが過去10年間で成熟したため、Linuxの進歩の多くはUnixの世界で採用されてきました。多くのGNUユーティリティは、開発者がUnixの一部ではないGNUプログラムの機能を必要とするUnixシステムのアドオンとして利用できるようになりました。たとえば、IBMのAIXは、LinuxとUnixベースのAIXシステム間の移行を容易にするためにAIXインストールに追加できる数百のGNUソフトウェアパッケージ(Bash、GCC、OpenLDAPなど)を備えたLinuxアプリケーション用のAIXツールボックスを提供しました。 。
プロプライエタリUnixは今も健在であり、多くの主要ベンダーが2020年代に向けて現在のリリースのサポートを約束しているため、Unixが近い将来に登場することは言うまでもありません。また、UnixツリーのBSDブランチはオープンソースであり、NetBSD、OpenBSD、およびFreeBSDはすべて、Linuxほど目に見えない、またはアクティブではない可能性がある強力なユーザーベースとオープンソースコミュニティを持っていますが、最近のサーバー共有レポートでは独自のものを保持しています、Webサービスなどの分野で独自のUnix番号をはるかに上回っています。
LinuxがプロプライエタリUnixに比べて大きな利点を示しているのは、膨大な数のハードウェアプラットフォームとデバイスでの可用性にあります。愛好家や愛好家に人気のあるRaspberryPiは、Linux駆動型であり、Linuxを実行するあらゆる種類のIoTデバイスへの扉を開きました。 Linuxが大きな市場シェアを占めるAndroidデバイス、自動車(Automotive Grade Linuxを搭載)、およびスマートTVについてはすでに説明しました。地球上のすべてのクラウドプロバイダーはLinuxを実行する仮想サーバーを提供しており、コンテナランタイム、Kubernetes、または人気が高まっているサーバーレスプラットフォームの多くについて話しているかどうかにかかわらず、今日最も人気のあるクラウドネイティブスタックの多くはLinuxベースです。
Linuxの優位性を最もよく表しているのは、近年のMicrosoftの変革です。 10年前にソフトウェア開発者にWindowsオペレーティングシステムが2016年に「Linuxを実行する」と言ったとしたら、彼らのほとんどはヒステリックに笑っていただろう。しかし、Windows Subsystem for Linux(WSL)の存在と人気、および最近発表されたDockerのWindowsポート(LCOW(Windows上のLinuxコンテナー)のサポートを含む)のような機能は、Linuxがもたらした影響の証拠です。明らかに、ソフトウェアの世界全体で引き続き使用されます。
この記事は2018年5月に最初に公開され、編集者によって更新されました。