UNIX と Linux: どう違うのですか?
UNIX は、40 年以上にわたって私たちのコンピューティングのやり方を定義してきた強力なマルチユーザー オペレーティング システム (OS) です。それは、今日私たちが当たり前だと思っている多くの機能と抽象化を提供しました。これには、ファイルが解釈されないバイトのシーケンスであるという考えや、階層ファイル システムという概念が含まれます。
この記事では、オリジナルの UNIX OS とその現代の精神的な後継者である Linux の違いをいくつか示します。さらに、各システムの歴史と注目すべき機能の両方についての簡単な概要も表示されます。
UNIXとは何ですか?
1970 年代後半以来、UNIX は最新の強力な OS とみなされるものの標準を設定してきました。ベル研究所で開発されたこのソフトウェアは、コンピューター サイエンスの最も聡明な人々の OS 研究を推進する手段となりました。
オリジナルの研究用 UNIX オペレーティング システムは、7 つの個別のエディションに分割できます。それぞれが、UNIX システムとそのユーティリティの動作方法に関する数多くの革新を導入してきました。たとえば、awk
と のsed
プログラムは両方とも、第 7 版 Research UNIX で初めて発表されました。
1980 年代に、AT&T はオリジナルの研究用 UNIX を他の内部バージョンとともに再パッケージ化し、企業や機関向けの商用システムを作成しました。これは、System III および System V UNIX として知られるようになりました。これには、uname コマンドや Korn シェルなどの機能が含まれていました。最終的に、これら 2 つのバージョンは、 illusmos、OmniOS、IBM AIXなどの最新の UNIX 派生製品の基盤となりました。
Linuxとは何ですか?
Linux は、最新のシステム アーキテクチャ向けの POSIX 互換の UNIX 風のカーネルをクリーンルームで実装したものです。Linus Torvalds は、クローズド ソースの System V UNIX に代わるオープンソース カーネルを提供する小規模プロジェクトとして 1991 年に作成しました。
ほとんどの人は Linux をそれ自体の OS として考えています。ただし、これはシステムのカーネル バイナリにのみ対応します。Linux マシンは、多くの場合、コミュニティ主導のソフトウェア プロジェクトの集合体であり、メンテナーはそれらを 1 つの「ディストリビューション」としてバンドルします。各ディストリビューションは、基本的なプログラム セットとともに独自のビルド プロセスを提供します。
たとえば、Red Hat Enterprise Linux とDevuan Linux は両方ともLinux カーネルを使用しますが、ユーザー空間ユーティリティは大きく異なります。
現在、Linux はコンピューティングのほぼすべてのレベルでよく知られています。インターネットのバックボーンであるだけでなく、SoC ボード上の Linux や、スーパーコンピューター クラスター上で実行される高性能ディストリビューションも見つかります。
UNIX 対 Linux コマンド
UNIX と Linux は共通のコンピューティング パラダイムを共有していますが、両方のオペレーティング システムでは、内部で使用できるコマンドとオプションが異なります。
基本的な UNIX コマンドの概要
一般に、UNIX コマンドは簡潔であることが多く、追加のオプションはほとんど含まれていません。これは、ユーザーがマシンに必要な機能をプログラムできることを期待するという、研究に重点を置いた OS の起源と一致しています。
たとえば、cat
UNIX のコマンドにはフラグが 1 つしかありませんが、ls
含まれるフラグは 11 個だけです。さらに、元の UNIX システムには、コマンドに長いオプションがありません。このため、システムは最初は直感的ではありませんが、短い形式のオプションに慣れるとすぐに使用できます。
UNIX 派生システムはレガシー コードとプログラムを維持しようとするため、下位レベルのコマンドのほとんどが通常の Linux ディストリビューションとは若干異なります。一例として、OmniOS は GNU GRUB と systemd の代わりに BSD ブートローダーと System V Init を使用します。
基本的な Linux コマンドの概要
UNIX とは異なり、Linux のすべてのコマンドには、元のコマンドの機能を拡張するさまざまなオプションが含まれています。これにより、必要なもののほとんどがデフォルトですでにプログラムに含まれているため、プログラマでなくてもシステムにアクセスできるようになります。
それとは別に、Linux カーネルは、ユーザーにコマンドとして公開できる KVM などの追加機能も提供します。たとえば、Red Hat の libvirtd を使用すると、オペレーティング システムをタイプ 1 ハイパーバイザーとして使用できます。
最後に、Linux は、一部のコア ユーティリティに対して長い形式のオプションも提供します。これらは記憶に残る冗長なフラグであり、ユーザーはあいまいな 1 文字のオプションを記憶することなく、必要な機能をすばやく指定できます。
UNIX と Linux の違い
そのことを念頭に置いて、UNIX と Linux は実装やシステム固有の詳細の点でも異なります。これらには、各 OS の著作権状況、一般的なパフォーマンスと使いやすさが含まれます。次の表は、2 つのオペレーティング システム間の主な違いをいくつか示しています。
UNIX | Linux | |
---|---|---|
著作権の状況 | ほとんどの亜種はクローズドソースです。古代の UNIX を除けば、オープンソースなのはほんの一握りです。 | ほとんどのディストリビューションはオープンソースであり、無料で使用できます。 |
コミュニティサポート | 適切なコミュニティのサポートを得るのは難しい場合があります。 | ほとんどの Linux ディストリビューションには、コミュニティベースのサポートのためのアクティブなユーザーベースがあります。 |
問題の解決 | オープンソース UNIX は、システム内の重大でない問題の解決に時間がかかる場合があります。 | 一般的なディストリビューションでは、重大でない問題であってもすぐに解決できます。 |
カーネル開発 | カーネルとユーザーランドは同じチームによって開発されています。これにより、更新は遅くなりますが、コードの信頼性は向上します。 | カーネルとユーザーランドは、異なる人が主導する異なるプロジェクトです。これにより、問題や非互換性が発生する可能性があります。 |
一般的なパフォーマンス | カーネル コードのパフォーマンスの向上は、開発と出荷に時間がかかる場合があります。 | Linux カーネルは通常、他のカーネルよりも高速です。 |
安全 | オープンソース UNIX は、通常のコンピューティング タスクにとっては比較的安全です。 | SELinux は、ミッションクリティカルなタスクの黄金律であるだけでなく、標準準拠の要件でもあります。 |
使いやすさ | UNIX コマンド オプションは、長い形式の名前を使用しないため、直感的ではない場合があります。 | Linux は直感的なコマンドを備えているため、初心者にとって使いやすいと言えます。 |
バイナリのサポート | デフォルトのリポジトリ以外のソフトウェアを見つけるのは難しい場合があります。 | Linux ディストリビューションでは、パッケージをインストールする複数の方法が提供されています。 |
ハードウェアサポート | 通常、サポートは現在および従来のエンタープライズ グレードのハードウェアに重点を置いています。 | Linux は、コンシューマ グレードとエンタープライズ グレードのハードウェアの両方をサポートします。 |
利用可能なファイルシステム | 通常、システムには ZFS、UFS、JFS、FFS が付属しています。 | Linux には、XFS、BTRFS、および JFS に加えて、EXT2、3、および 4 が付属しています。 |
利用可能なグラフィカルインターフェイス | 現在、ほとんどのシステムは GNOME または Openbox を使用しています。 | ほとんどのディストリビューションでは GNOME、KDE、または XFCE のいずれかを使用しますが、選択できるデスクトップ環境は他にもたくさんあります。 |
デフォルトのシェル | 現在の UNIX システムは、7th Edition Research UNIX のオリジナルの Bourne シェル (Bsh) を使用しています。 | 現在、ほとんどのシステムは、Bourne シェルの無料実装である Bourne Again Shell (Bash) を使用しています。 |
よくある質問
Windows は UNIX システムですか?
いいえ、Windows は UNIX や Linux とはまったく異なるオペレーティング システムです。Microsoft は当初、MS-DOS オペレーティング システムのグラフィカル シェルとして Windows を開発しましたが、Windows NT カーネルの導入により独自のシステムになりました。
macOSはUNIXですか?
はい。macOS の現在のバージョンでは、XNU カーネル上で動作する Darwin オペレーティング システムが使用されています。これは、Apple が Darwin と共同で開発した UNIX 風のカーネルです。XNU は主に、ファイル システム、ネットワーク スタック、システム ライブラリに FreeBSD コードベースを使用します。
Linux と UNIX ではどちらが速いですか?
ほとんどの場合、Linux は UNIX に比べて高速なオペレーティング システムです。ただし、特に SPARC などのエンタープライズ グレードのアーキテクチャでは、UNIX の方が高速で効率的な場合があります。
画像クレジット: Maksym Zakharyak、Unsplash 経由。すべての変更とスクリーンショットは Ramces Red によるものです。
コメントを残す